Daily updates from Odoo
Saturday, August 1, 2026
8 changes · master
Enhancements to existing features
The Documents button on a company or contact now shows documents linked to the full partner hierarchy, including child contacts such as branches or employees. This gives users a more complete view and a more accurate document count from the partner record.
Original PR description
Previously, the Documents smart button on a partner record only displayed documents directly linked to that specific partner. For a parent company, this meant documents associated with its child contacts (branches, employees, etc.) were not visible, and the 'document_count' was inaccurate. This commit implements hierarchy-aware behavior: - The smart button now displays all documents related to the partner hierarchy (parent and children). - The 'document_count' is updated to reflect the total number of documents across the entire hierarchy. Task-6343919
Bank reconciliation now allows a small 3% difference when invoice and bank transaction currencies differ. This helps account for exchange rate fluctuations and reduces unnecessary manual adjustments during reconciliation.
Original PR description
When doing a reconciliation while having a different currency between the invoice and the bank transaction allow a 3% tolerance to compensate the currency exchange rate. task-6143815
This update aligns Field Service sales flows for stock and timesheet products with recent platform changes. It helps keep product catalog, stock tracking, and timesheet-related sales behavior consistent and reliable for users after the underlying community update.
Original PR description
*= stock, timesheet Community PR: - https://github.com/odoo/odoo/pull/257853 task-5942647
Sales teams can now follow up with shoppers who leave items in their cart using WhatsApp, in addition to email. A new setting lets businesses enable this channel and choose the message template, helping improve cart recovery through a more immediate communication option.
Original PR description
This PR allows users to receive a follow-up for their cart via WhatsApp. Previously, only an email follow-up was possible. A new setting parameter allows enabling WhatsApp in addition to emails. Community PR: https://github.com/odoo/odoo/pull/251790 Upgrade PR: https://github.com/odoo/upgrade/pull/9607 tasks-5404823
The rental dashboard has been refined to focus on the most useful quotation and rental status categories, including Today, Pickups, Returns, Late, To Confirm, and To Invoice. Users can now select several dashboard items at once, even when a category has no current records, making it easier to combine filters and review rental work more efficiently.
Original PR description
This change improves the rental dashboard by focusing on quotation statuses. The dashboard now includes the following items: Today, Pickups, Returns, Late, To Confirm, and To Invoice. Additionally, users can now select multiple dashboard items to combine their filters, including items with a count of 0. task-6354117
Belgian payroll bicycle reimbursement amounts are updated for the rates effective October 1, 2026. This ensures payroll calculations use the new €0.32 per kilometer rate and €12.80 daily tax-exempt limit.
Original PR description
This PR updates the Belgian bicycle reimbursement rates to reflect the amounts applicable from October 1, 2026. ### Changes - Increase the bicycle reimbursement rate from the previous amount to €0.32/km. - Increase the maximum daily tax-exempt reimbursement to €12.80/day. These values are aligned with the latest Belgian regulations and are required for payroll calculations from October 1, 2026. Task-6385742 Forward-Port-Of: odoo/enterprise#126116 Forward-Port-Of: odoo/enterprise#124481
Resolved issues and error corrections
The German DATEV general ledger export now calculates foreign currency exchange rates in the direction expected by DATEV and rounds them to six decimal places. This helps exported accounting files match DATEV requirements and avoids overly long or incorrect rate values.
Original PR description
### Steps to Reproduce: 1. Activate l10n_de 2. Navigate to the General Ledger and export the "Datev DATA" 3. Column D, "Kurs," is incorrect ### Description of the issue/feature this PR addresses:…
### Steps to Reproduce: 1. Activate l10n_de 2. Navigate to the General Ledger and export the "Datev DATA" 3. Column D, "Kurs," is incorrect ### Description of the issue/feature this PR addresses: **Issue:** DATEV documentation states that the column for "Kurs" should be the ratio of WKZ-Umsatz : WKZ-Basisumsatz, which is Foreign : Base Currency. Additionally, all sample files show this column's values being rounded to 6 decimal places. Currently, when Odoo exports the general ledger as DATEV data, there is no rounding of decimal places and the formula does base / foreign amount, `line_amount / line_amount_currency`. **Solution:** In the `datev_export_csv.py` file, the relevant method is called `_l10n_de_datev_get_csv()`. In there, we can fix the line to round the value of `line_amount_currency / line_amount` to 6 decimal places. ### Current behavior before PR: Exporting the general ledger as DATEV data currently gives the reverse foreign currency rate and fails to round to 6 decimal places, which causes some values to be extremely long. ### Desired behavior after PR: The csv files should output the correct rate and be rounded appropriately. **Releted Documentation:** https://developer.datev.de/en/file-format/details/datev-format/format-description/booking-batch opw-6366276s Forward-Port-Of: odoo/enterprise#125097
The point-of-sale pricer now recalculates a product variant's On Sale Price immediately when its cost changes under cost-based pricelists. This prevents outdated prices from appearing after the first update, helping businesses keep displayed sale prices accurate.
Original PR description
When we create a product variant and have a pricelist which is based on the cost price, and change the cost price, the on_sale_price doesn't update correctly. It gets delayed by one update because the product._origin isn't getting updated with the new onchanged value. Steps to Reproduce: 1.Create a pricelist and add a line with "formula" price type, and based on "cost", 2.Create a product variant, and add the pricelist just created. 3.Change the "Cost". The "On Sale Price" updates based on the value before. To fix the issue, we need to update the product._origin for standard_price just like the lst_price before computing the on_sale_price opw-5947995 Forward-Port-Of: odoo/enterprise#122391 Forward-Port-Of: odoo/enterprise#119470