Tuesday, September 22, 2026
5 changes · 17.0
Enhancements to existing features
All Belgian tax entries are now active again in the localization data. This helps Belgian companies use the expected tax options without manual reactivation, improving accuracy in accounting setup.
Original PR description
Some belgian taxes were deactivated, This commit activates all the taxes. task-5902000 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Task analysis reports now show the same progress as the task itself when time is logged on sub-tasks. This prevents parent tasks from appearing incomplete in reports even though the allocated time has been fully used through sub-task work.
Original PR description
1. Open Project > Configuration > Settings and enable "Timesheets" 2. Create a task "Parent" with "Allocated Time" set to 02:00 and no timesheet 3. Create a sub-task of "Parent" and log 02:00 on it 4. Open Project > Reporting > Tasks Analysis and add the "Progress" measure -> "Parent" shows 0%, although the task itself shows 100% The report recomputes the progress by hand instead of reading the stored field, and leaves out the time spent on the sub-tasks. With this commit, the tasks analysis report reads the `progress` field of the task, so the report and the task always show the same value. task-6538249
Shipment cancellations now send each delivery carrier only the orders that belong to it. This prevents duplicate cancellation attempts and reduces the risk of carrier API errors or cancelling the wrong shipment.
Original PR description
When cancelling shipments for multiple pickings with different delivery carriers, passing the entire recordset (self) instead of the individual picking to the carrier's cancel_shipment method causes each carrier to receive tracking references that do not belong to it. This results in API errors or silent wrong cancellations at the carrier level, and each shipment being cancelled N times instead of once, where N is the total number of pickings being processed.
Refunds for stock purchases made in a foreign currency now avoid posting exchange differences to the stock valuation account when exchange rates change. This keeps inventory valuation and related accounting journals accurate during product returns.
Original PR description
When refunding the purchase of a valued product that was received in a foreign currency. If the rate of the currency has changed between the purchase and the refund, the exchange difference line was impacting the valuation account. Steps to reproduce: ------------------- * Activate any other currency * Create a valued product and set a cost price * Create a purchase order in the foreign currency for the product * Confirm the purchase order and receive the product * Change the rate of the foreign currency * Create a return for the product and validate it > Observation: An exchange difference line is created and impacting the valuation account. Why the fix: ------------ When selecting the exchange account to use, we now check if we are in a return context. If it's he case we do not use the stock valuation account. backport of : https://github.com/odoo/odoo/commit/efcb59d60331d6943878c0f14314d8219c7cecf1 opw-6313904
Employees assigned as Time Off approvers can now see the Time Off access point for the people they manage, even if they do not have broader Time Off permissions. This ensures managers can review and manage the requests they are responsible for without needing unnecessary system access.
Original PR description
Issue: A user without any rights on Time Off should still be able to manage the requests of the users he's manager of. However, the computation for `show_leaves` only considers Time Off Officers/Admins and the employee themselves, while it should also consider the employee's Time Off approver. Fix: Include the employee's Time Off approver when computing `show_leaves`, allowing them to access the employee's Time Off smart button. Reproduction Steps: 1. Set a user (e.g. Marc Demo) to "No" for Time Off. Note: If reproducing in v19, Administrator rights on Employees are also needed to access the private employee form view where the issue occurs. 2. Set that user as another employee's Time Off approver. 3. Log in as that user and open the employee's form view. 4. Observe that the Time Off smart button is not visible. Related Tickets: opw-6445714