Daily updates from Odoo
Wednesday, July 23, 2025
15 changes
8 changes
Enhancements to existing features
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
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
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.
1 change
Enhancements to existing features
Point of Sale no longer repeatedly checks IoT device connection status in the background. This reduces database activity and should improve efficiency for stores using IoT-connected hardware without changing day-to-day workflows.
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.
2 changes
Enhancements to existing features
This update adds automated front-end test coverage for the preparation display used in point-of-sale restaurant workflows. It helps reduce the risk of future changes breaking order preparation screens, improving reliability for businesses using these features.
Original PR description
This commit introduces a test environment to test the preparation display front-end.
AI and WhatsApp discussion features now use the shared avatar link method introduced in the core platform. This keeps contact and member images consistent across apps and reduces the chance of mismatched avatar behavior after platform updates.
Original PR description
This commit adapts the code to use the new member.avatarUrl getter introduced in community. PR community: https://github.com/odoo/odoo/pull/220075
4 changes
Enhancements to existing features
Website search results now avoid an unnecessary extra count step when the existing results already provide the needed total. This improves performance for pages such as blogs and forums without changing what users see.
Original PR description
Issue ----- Currently, we call `model.search()` and `model.search_count()` back-to-back, the second of which is unnecessary if there is no limit on the query. Solution ----- If we have no limit, directly take the length of the previously returned results to avoid an extra query. opw-4882609 Forward-Port-Of: odoo/odoo#219949 Forward-Port-Of: odoo/odoo#218252
The e-invoicing setup now recognizes newly added Peppol participant identifier codes, including relevant updates for France, the United Arab Emirates, and Latvia. This helps businesses exchange electronic invoices with more partners using the latest supported standards.
Original PR description
Add new relevant codes from the Peppol code list. In particular new codes for FR, AE and LV. Source: https://docs.peppol.eu/edelivery/codelists/v9.2/Peppol%20Code%20Lists%20-%20Participant%20identifier%20schemes%20v9.2.json opw-4932979 Forward-Port-Of: odoo/odoo#218419
This update makes repair-related sale order lines easier to adapt when repair move lines create them. It helps businesses tailor repair billing or sales details through customization without changing the core repair workflow.
Original PR description
Current code does not allow to influence the sale order line created. If you think it is best to create a _prepare method for the values please let me know and I will propose that change. Thank you.
This update prevents peer-to-peer call tests from running when no network is available, since those tests require a local network to work correctly. It helps avoid false test failures in offline or restricted environments, improving development and quality assurance reliability without changing the user experience.
Original PR description
This commit adds a skip to peerToPeer tests for when there is no network as the webRTC API needs to have at least a local network to generate ICE candidates.