Daily updates from Odoo
Wednesday, July 23, 2025
13 changes · saas-18.4
Enhancements to existing features
The UAE localization now treats import VAT more accurately by setting the import tax to 5% excluded from price, excluding it from tax closing entries, and posting it to a dedicated accrued customs account. This helps businesses align accounting records with UAE VAT treatment for imports.
Original PR description
Adjust import tax to align with UAE VAT treatment of imports: configure original tax as 5% EX ONLY, disable tax closing entry, assign to new account 201021 Accrued Customs, and update description. task-4907671 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Custom color picker controls can now be adjusted with keyboard arrow keys, including hue, opacity, saturation, and brightness. This improves accessibility and makes color selection easier for users who rely on keyboard navigation or assistive technologies.
Original PR description
*: html_builder, html_editor To add keyboard support on colorpicker sliders as well as on the saturation / brightness area, this commit not only sets proper roles, focus, aria attributes, but also has to invert the order of the hue slider, so that pressing ArrowUp actually increases the value of the hue, and ArrowDown decreases it. Otherwise, the `aria-valuenow` is inconsistent with the key pressed. Note that there is no official aria role for multi-dimensional sliders such as the colorpicker area. I fell back on `role="application"` and explicit `aria-label`s and `aria-roledescription`. Finally, just like any other button would do, when you click on a slider pointer, it is not visually focused, but the next navigation key should be listened to by the pointer. i.e.: - click on the opacity slider, then press an arrow => it should update the opacity. - click on the hue slider, then press Tab => it should focus the opacity slider. task-4879833
This change improves performance when searching or matching bank statement lines by payment reference. It helps accounting workflows handle larger volumes of bank data more smoothly without changing how users work.
Original PR description
see https://github.com/odoo/enterprise/pull/90077 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#218642
The online store product image test has been updated to work with the redesigned website builder. This helps ensure product images can still be added and removed reliably, reducing the risk of regressions for ecommerce pages.
Original PR description
The `add_and_remove_main_product_image_no_variant` tour was previously broken due to DOM structure changes introduced by the new website builder and was consequently disabled. This PR updates the tour steps to align with the new DOM and re-enables the associated test.
Point of Sale preparation receipts now show the duplicate-ticket label lower on the printout and use the clearer English wording “DUPLICATE.” This makes duplicate kitchen tickets easier for restaurant staff to spot when ticket holders cover the top of the receipt.
Original PR description
In this commit: =============== - Replaced `DUPLICATA` with `DUPLICATE`. - Repositioned the `DUPLICATE` label on the preparation ticket. - This change was made because most restaurants use ticket holders that obscure the top portion of the ticket, making the original placement of the label difficult to see. Task: 4893867   Forward-Port-Of: odoo/odoo#216211
A new automated test checks that customer phone numbers are filled in correctly when sending receipts by SMS in Point of Sale. This helps prevent regressions and supports a smoother checkout follow-up experience for customers.
Original PR description
In this commit: -------------------------------------- - Added test case for phone number auto fill for receipt sending. Task: 4781742 Forward-Port-Of: odoo/odoo#209081
The IoT connection flow no longer requires a database call to sign long-polling request payloads. This helps point of sale continue operating offline when connected to IoT hardware, reducing interruptions during network outages.
Original PR description
As it prevents the pos from working offline, we remove the call to the db to sign the payload of the request. Enterprise PR: odoo/enterprise#90624 Forward-Port-Of: odoo/odoo#219865
Odoo's test framework can now automatically label certain tests based on what they do, such as browser tours or database query counting. This improves test organization and reliability for developers while keeping business functionality unchanged.
Original PR description
This commit add the possibility to automatically add test-tag on a test method at runtime. A generic method `get_method_additional_tags` is added on `BaseCase` test class. That method can be overridden to return a list of test-tags that will be added on the test methods. With this mechanism, the `HttpCase` class override this method to add a `is_tour` test-tag when the `start_tour` method is used in the test method. Also, the `start_tour` method will now emit a warning when the method is called without being tagged `is_tour`. That way, all the tours can now be started with the `is_tour` test-tag. Forward-Port-Of: odoo/odoo#219530 Forward-Port-Of: odoo/odoo#212315
Website editors can now see file size information for regular images and background images directly in the website builder. This helps teams spot heavy visuals more easily and make better choices for page performance.
Original PR description
In the website builder, add the file size information on images and background images. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Shared tax testing helpers have been moved into a common invoicing test setup so accounting-related tests can reuse the same preparation logic. This reduces duplication and makes future tax calculation changes easier and safer to validate, with no direct impact on day-to-day users.
Original PR description
…tInvoicingCommon --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217767 Forward-Port-Of: odoo/odoo#215588
The Point of Sale IoT integration no longer repeatedly checks device connection status in the background. This reduces unnecessary database activity, helping improve performance and lower system load without changing the cashier workflow.
Original PR description
In order to reduce the amount of search reads from the pos to the database we removed the status loop running to check if devices are still connected to the IoT Box. Forward-Port-Of: odoo/enterprise#90638
The Belgian POS blackbox employee and user setup screens now use clearer wording for the required INSZ field. This helps users understand that they need to provide the social security identification number, reducing confusion during configuration.
Original PR description
INSZ number check wasn't explicit enough for users, so we improved helper messages to "Social security identification number" to ease the understanding of the requirement.
Point of Sale no longer needs an extra database check to process IoT longpolling messages. This helps stores keep using connected IoT devices more reliably when internet or server connectivity is limited.
Original PR description
As it prevents the pos from working offline, we removed the call to the db to get a payload signature. Community PR: odoo/odoo#219865 Forward-Port-Of: odoo/enterprise#90624