Daily updates from Odoo
Tuesday, August 26, 2025
6 changes · saas-18.4
Enhancements to existing features
The website builder now preserves customization options when users switch between sidebar tabs or when certain saved changes reload the builder. This reduces repeated selections and makes editing pages smoother and less disruptive.
Original PR description
This PR introduces two changes. 1. In the website builder, when the user clicks on some element of the website, it opens several customize options in the "Customize" tab of the sidebar. Previously,…
This PR introduces two changes. 1. In the website builder, when the user clicks on some element of the website, it opens several customize options in the "Customize" tab of the sidebar. Previously, if the user switched to either the "Block" tab or the "Theme" tab, once he would come back to the "Customize" tab, all the options would be gone. This commit changes this behavior by keeping the options enabled. This allows to avoid to have to reselect snippets in order to see the desired customize options after switching to another tab. 2. Some actions are automatically saved and trigger a reload of the builder. When this happens, we want to keep as many options as possible open in the "Customize Tab". This can only be done with option containers associated with a selector only matching one element on the page. TODO: remaining selectors to check: - .o_record_cover_container - .o_facebook_page - .listing_layout_switcher - .o_mega_menu - .o_wblog_post_page_cover[data-res-model='blog.post'] - .o_wcrm_filters_top - .o_wsale_product_images task-3103768
This update improves electronic invoice validation and data generation so invoices better meet local PINT requirements in Australia, New Zealand, Malaysia, and Singapore. It helps prevent invoices with missing tax or address information from being sent in a format that authorities or recipients may reject.
Original PR description
Description of the issue/feature this PR addresses: - AU&NZ: Current behavior is that when VAT is not set on the partner, the tax category code defaults to zero. This becomes problematic with certain…
Description of the issue/feature this PR addresses: - AU&NZ: Current behavior is that when VAT is not set on the partner, the tax category code defaults to zero. This becomes problematic with certain rules (e.g. the tax totals of tax category code 'O' should have amount of zero, but current code can set this value to something other than zero). The change focuses on edge cases when VAT of partner is not set. Changes are not related to the Q2 2025 release changes. - MY: Added fallback for <cac:PartyTaxScheme> to always have <cbc:CompanyID>. Currently breaks if the partner does not have VAT set. Changes are not related to the Q2 2025 release changes. - JP: No changes are made. - SG: Invoice with taxes of certain tax category codes must have seller and buyer street address and post code. Added constraint to make sure they are set. New PINT SG rule adds one more tax category code (Standard Rate, SRRC). New code is added to `ubl_cii_tax_category_code` --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#222737
Xendit payment forms now report token creation errors immediately, such as invalid card or payment details. This prevents incorrect data from continuing through the payment process and gives users faster feedback when something needs to be corrected.
Original PR description
Previously, if error was found during token creation (i.e. invalid input) , it's not immediately reported but instead invalid data will be used for further process. Now, any errors caught early will be reported immediately back. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224036
Odoo removed an internal database checkpoint used while fetching OCR results for extracted documents. This should reduce performance slowdowns when many OCR updates are processed at once, with minimal impact on everyday document handling.
Original PR description
Very similar to commit 7f7ff8d, see full explanation in that commit message. This savepoint was also initiated in a loop which could cause performances issues when too many of them are active at the same time. This one is much less critical and can be removed without much trouble. It was only allowing to recover from a serialization failure, in the case where a user was concurrently editing a document while it was being updated by the OCR. Forward-Port-Of: odoo/enterprise#93000
This update adds automated checks for point of sale IoT device setup and core device behavior, including Six payment terminal flows. It helps reduce the risk of future changes breaking connected hardware or payment terminal integrations.
Original PR description
*: pos_iot, pos_iot_six In this commit: ------------------ - Loaded data for `iot.box`, `iot.device`, and `iot.channel` to test the complete IoT flow from setup to core device functionalities. - Added payment method records and validated the payment terminal integration using Six. task- 4945645 Related PR: https://github.com/odoo/odoo/pull/220801 Forward-Port-Of: odoo/enterprise#91117
The follow-up process now checks related accounting records in a clearer and safer way. This reduces the risk of internal query confusion and helps keep customer follow-up calculations reliable.
Original PR description
Refactored the SQL construction for checking the existence of related account.move records for res.partner entries. The account.move query is now built separately and referenced explicitly, making the code more readable and reducing the chance of ambiguity in field resolution. Using `SQL.identifier(query.table, "id")` ensures that the correct table is referenced in each condition, which is particularly important when dealing with multiple joins or subqueries. Forward-Port-Of: odoo/enterprise#90304 Forward-Port-Of: odoo/enterprise#83770