Thursday, August 27, 2026
6 changes · saas-19.4
Enhancements to existing features
Timesheet Assistant now matches Gmail activities more reliably by prioritizing learned subject-based matches before falling back to email address matching. When an email address is shared by multiple contacts, it also prefers the contact linked to a user with the same email, reducing incorrect timesheet suggestions.
Original PR description
Forward-Port-Of: odoo/enterprise#127850
Belgian accounting tax data has been updated so 0% taxes that were missing non-deductible fiscal position handling now include it. This helps businesses apply the right tax treatment consistently and reduces the risk of incorrect Belgian tax reporting.
Original PR description
Adding non-deductible fiscal position to taxes that were missing it in the data. task-6389423 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#284504 Forward-Port-Of: odoo/odoo#278020
Point of Sale receipts now always show the base amount for each tax group, restoring the clearer receipt layout used in version 19.0. This makes tax breakdowns easier for customers and staff to understand, especially when multiple taxes share the same base amount.
Original PR description
Revert the receipt tax summary design back to the 19.0 format, ensuring that the base amount is always displayed for each tax group. Before this commit, when all tax groups shared the same tax base, the base amount was hidden, leading to a flat tax listing. Now, the template always renders the tax groups in the format: "Tax [Name] on [Base Amount] [Tax Amount]" task-id: 6296906 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272831 Forward-Port-Of: odoo/odoo#270749
This update makes an internal mail test helper handle unusual message values more safely. It prevents test runs from crashing in parallel testing setups, improving development reliability without changing user-facing behavior.
Original PR description
If the value needs to be serialized for IPC (cough cough pytest-xdist) and a weirdo sets recordsets as message values, the serialization fails and the test suite crashes. Since this is just subtest identification it shouldn't be too much of an issue. Forward-Port-Of: odoo/odoo#284279 Forward-Port-Of: odoo/odoo#284178
The live chat settings now explain that automatic chat popups only open on larger screens. This helps teams avoid confusion when testing on mobile devices, where visitors still need to tap the chat button manually.
Original PR description
The 'Open automatically' action only triggers the auto popup on larger screens (`ui.isSmall` is checked in `AutopopupService. allowAutoPopup`). On mobile/small viewports, only the chat button is shown and the visitor must tap it manually. The existing help text does not mention this, which could lead to confusion when the auto popup does not trigger during testing on mobile. Update the field's help text to explicitly state that automatic opening is limited to larger screens. opw-6459279 Forward-Port-Of: odoo/odoo#284785
Product pages now include the product’s internal reference as the SKU in structured data when it is available. This helps search engines and other services better identify products, improving consistency in product listings and integrations.
Original PR description
Include default_code as the Schema.org sku property in the product structured data when it is set. @Tecnativa TT64220 **Description of the issue/feature this PR addresses:** Product structured data does not expose the product internal reference as a SKU. **Current behavior before PR:** The sku property is absent even when default_code is set. **Desired behavior after PR is merged:** The product structured data includes default_code as the Schema.org sku property when available. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#284468 Forward-Port-Of: odoo/odoo#282911