Daily updates from Odoo
Monday, August 25, 2025
6 changes · saas-18.3
Enhancements to existing features
This update improves electronic invoice validation for Australia/New Zealand, Malaysia, and Singapore so invoices are less likely to be rejected for missing tax or address details. It adds safer fallbacks and stricter checks where local PINT e-invoicing rules require specific tax, company ID, street, or postal code information.
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
Point of Sale now loads loyalty reward data more efficiently by avoiding repeated processing of the same product list. This can significantly reduce startup time for businesses with many loyalty programs and products, improving cashier readiness and customer checkout flow.
Original PR description
In databases with many Loyalty Rewards and products, the POS loading time can become very slow due to repeated product serialization in the `compute_discount_product_ids` function. This commit stores serialized and non-serialized versions of the product list once to avoid redundant serialization. On a DB with 144 programs and ~6500 products, loading time was reduced from 55s to 14s with this change. opw-4986057 Forward-Port-Of: odoo/odoo#223032 Forward-Port-Of: odoo/odoo#222301
This update adds automated test coverage for point-of-sale IoT device setup and core device workflows. It also validates Six payment terminal integration, helping reduce regressions in connected payment and hardware scenarios.
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
The scale certification screen now displays the Point of Sale version instead of the IoT device version. This helps users and auditors see the relevant software version for certification checks and avoids confusion during compliance reviews.
Original PR description
We need to display the PoS Version, not the IoT version. Forward-Port-Of: odoo/enterprise#91682
OCR result fetching was streamlined by removing extra transaction checkpoints that could slow processing when many documents were handled at once. This should improve performance in document extraction workflows, with only a minor tradeoff in rare cases where a user edits a document at the same time OCR updates it.
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.
The Guatemalan electronic invoicing module now avoids heavy invoice data calculations during installation, reducing the risk of memory issues on large databases. It also no longer installs automatically with the base Guatemalan localization, giving businesses more control over when to enable it.
Original PR description
This commit adds `_auto_init` to the `account.move` object in the Guatemalan EDI that prefills all computed stored fields in the move object with null values. This prevents computation on those fields when installing the module, and also prevents MemoryError on large databases. task-5031330 Forward-Port-Of: odoo/enterprise#92881