Saturday, March 21, 2026
6 changes · saas-19.1
New functionality added to Odoo
This update incorporates a new rule from PEPPOL (a global electronic invoicing standard) to ensure our invoices comply with international regulations. Specifically, it addresses rule SE-R-005, which is crucial for accurate and compliant electronic invoice processing, particularly for international transactions. This change supports our ongoing commitment to meeting industry standards and facilitating seamless business operations.
Original PR description
Rule information: https://docs.peppol.eu/poacc/billing/3.0/2025-Q4/rules/ubl-peppol/SE-R-005/ OPW-5881918 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#255005 Forward-Port-Of: odoo/odoo#250657
Resolved issues and error corrections
This update cleans up the formatting of messages related to return checks in the accounting reports module. The VIES check hyperlink has been removed to simplify the user experience and will be reintroduced in a future release. This change improves the clarity and usability of the reporting functionality.
Original PR description
The company data check message was on multiple line. image The VIES check hyperlink wasn't Markup, since we cant easily display it, we will remove it in stable. Forward-Port-Of: odoo/enterprise#106154
This update resolves a technical issue where the 'Roles' filter in the Planning module was incorrectly passing record IDs as strings, leading to search problems. The fix ensures that record IDs are correctly interpreted as numbers, improving the accuracy and reliability of the role-based search functionality.
Original PR description
Steps to reproduce: ------------------------------------------ 1. Install Planning module 2. Click on any shift in Gantt view > Edit 3. In the Resource field, click on Search More to open the…
Steps to reproduce: ------------------------------------------ 1. Install Planning module 2. Click on any shift in Gantt view > Edit 3. In the Resource field, click on Search More to open the selection dialog 4. In the pop-up window, observe that a default filter is already applied 5. Click on the Roles filter in the search panel Observation: ------------------------------------------ The filter on the Roles field applies an 'Invalid Record ID' in the domain Issue: ------------------------------------------ the default filter on `role_ids` passes the role ID as a string (e.g., 4) instead of an integer (4). This happens because the `filter_domain` uses `[self]`, and `self` is substituted with `label.trim()` in `_getFieldDomain`, which is always a string even when the underlying value is a numeric ID https://github.com/odoo/odoo/blob/accaa246d5818572996660f967624978e906b5c3/addons/web/static/src/search/search_model.js#L1747-L1750 Solution: ------------------------------------------ Replace `[self]` with `[raw_value]` in the `filter_domain` of the `role_ids` search field, the `raw_value` variable holds the actual typed value (integer ID) instead of the string label. opw-6003611 Forward-Port-Of: odoo/enterprise#109781
This update resolves a technical issue that could cause errors when importing bank statements with multiple journals using different currencies. The fix optimizes the process to avoid unnecessary calls, ensuring smoother and more reliable handling of multicurrency accounting data. This improves the stability of the system when dealing with complex financial configurations.
Original PR description
When having multiple journals with the same IBAN, but different currencies, we could have a singleton error if they are not all configured the same (besides the currency). This happens in the cron that fetches new CODAs as we first fetch all CODAs. Then, for each, we have to dispatch it in the right journal. To do so, we rely on `_parse_bank_statement_file` which is called on `self`, which itself calls `_get_coda_final_statements` that triggers the singleton error. However, at this point, we don't care about calling `_get_coda_final_statements` since we only want to retrieve the IBAN and the currency of the CODA, we don't care about the other details. Thus, the solution here is to ignore this call if we don't need it while just retrieveing the necessary info to match a journal before even creating the statements. opw-5723017 opw-6036909 Forward-Port-Of: odoo/enterprise#111361 Forward-Port-Of: odoo/enterprise#111101
This update resolves a layout issue caused by a recent change designed to prevent unwanted clicks in the FileUploader. The fix adds a class to correct the spacing, ensuring the UI remains properly aligned and functional. This improves the user experience when uploading files.
Original PR description
This PR completes the changes introduced in: https://github.com/odoo/odoo/commit/2cbb735f5eecb7c31db8245b8d598d7193992a05 ### Issue: A `<div>` was added to prevent click propagation in the FileUploader, but it introduced unintended extra spacing in several parts of the UI ### Cause: The added `<div>` affected the layout by taking up space where it should not ### Fix: A specific class is added to neutralize the layout impact of this element while preserving the click propagation behavior ### Steps to reproduce: - Install `hr' - Create a new Employee - Go in Private Information > Work Permit - Upload a file Before the fix, the edition's buttons are in another line opw-5918379 Forward-Port-Of: odoo/odoo#254982
This update adds a crucial test to ensure that changes to the database code don't unintentionally break the sequence feature. The test uses a 'savepoint rollback' to verify the system can recover from potential issues, enhancing stability and reliability. This prevents silent failures and ensures data integrity.
Original PR description
The aim of this commit is to ensure the feature doesn't get silently broken in case some underlying code gets reworked. task-id: None Forward-Port-Of: odoo/odoo#255053