Daily updates from Odoo
Friday, April 3, 2026
7 changes · 17.0
Resolved issues and error corrections
This update optimizes the way Odoo searches for attachments related to accounting records. Previously, the search was slow, particularly with a large number of records. This change significantly speeds up the search process, resulting in faster performance and a better user experience.
Original PR description
The search method is called once per record in self to get the attachments. This is a backport of odoo/enterprise/pull/85346 Benchmark: | No AML in self | Before PR | After PR | |----------------|-----------|----------| | 80 | 100 ms | 4 ms | | 5000 | 3.3 s | 200 ms | Community PR: odoo/odoo/pull/256399 opw-5881026
This update resolves an issue where the LPP (Labor Pension Plan) was incorrectly applied to employee salaries when they were not covered by insurance. The fix ensures that LPP contributions are only calculated for employees with valid insurance coverage, aligning with Swiss tax regulations. This improves payroll accuracy and reduces potential tax liabilities.
This update fixes an issue where the website configurator displayed inaccurate or missing messages during website creation. The change replaces a complex ID-based mapping with a more reliable sequence-based approach, adding missing messages for key features like Events and Live Chat. This ensures a clearer and more informative experience for users.
Original PR description
When creating a website through the configurator, the loading screen displayed incorrect or missing feature messages. The loader matched messages using the `website.configurator.feature` record ID. Some mappings were incorrect and caused wrong messages to appear. For example, selecting the "Events" feature displayed the "Appointment" message instead. This commit: - Corrects the feature-to-message associations. - Replaces the ID-based mapping with the `sequence` field, which is defined in XML and visible in the codebase, allowing an explicit and reliable mapping in code. - Adds loading messages for features that were missing them (e.g., Success Stories, Events, Live Chat, Store Locator). - Removes the appointment loading message from community, as it belongs to enterprise. - Introduces an overridable `getFeatureMessages()` method so modules can extend the loader with their own feature messages cleanly.
This update significantly speeds up the process of searching for attachments within Odoo, particularly when dealing with large numbers of records. By batching the search, the system now completes this task much faster, reducing response times from seconds to milliseconds. This improvement enhances overall system performance and user experience.
Original PR description
The search method is called once per record in self to get the attachments. This is a backpot of odoo/odoo/pull/209562. Benchmark: | No AML in self | Before PR | After PR | |----------------|-----------|----------| | 80 | 100 ms | 4 ms | | 5000 | 3.3 s | 200 ms | enterprise PR: odoo/enterprise/pull/112345 opw-5881026 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a potential issue where tax amounts weren't accurately adjusted when users grouped lines within a sales or invoice move. Now, the system correctly calculates and applies tax differences after grouping, ensuring accurate financial reporting. Additionally, a related technical update removed an unused context key and revised a test case to reflect Belgian tax regulations.
Original PR description
[FIX] account_edi_ubl_cii: correct tax amount when grouping lines When the user group lines of a move, the tax amount is now corrected if there's a difference in the tax amount before and after grouping This commit also removes the `ungroup_lines` context key, as the flow was changed in odoo/odoo#252458 Reword the `test_import_and_group_lines_by_tax` test: use belgian company and belgian taxes task-5993555
This update fixes an issue where increasing the quantity of a service product on a sales order incorrectly generated a purchase order with an inflated quantity. The fix ensures the quantity is always calculated in the sales order's unit of measure, preventing double-counting and inaccurate purchase order generation. This improves order accuracy and reduces potential discrepancies.
Original PR description
Steps to reproduce the bug: - Create a service product "P1": - In the Purchase tab: - Vendor: Azure Interior - Subcontract Service: True - UoM: dozen - Purchase UoM: unit - Create a sales order with…
Steps to reproduce the bug:
- Create a service product "P1":
- In the Purchase tab:
- Vendor: Azure Interior
- Subcontract Service: True
- UoM: dozen
- Purchase UoM: unit
- Create a sales order with 1 dozen of P1
- Confirm -> a purchase order with 12 units of P1 is generated
- Confirm the purchase order
- Go back to the sales order:
- Update the quantity from 1 to 2 dozen
Problem:
A new purchase order is generated, but with 144 units instead of 12
units. The quantity difference between the old SO quantity and the new
one is computed twice in the purchase order line UoM, in both
`_purchase_increase_ordered_qty` and `_purchase_service_prepare_line_values`:
https://github.com/odoo/odoo/blob/17.0/addons/sale_purchase/models/sale_order_line.py#L186
Solution:
The `quantity` parameter must be expressed in the SO line UoM, as
described in the documentation of the function `_purchase_service_prepare_line_values`.
https://github.com/odoo/odoo/blob/17.0/addons/sale_purchase/models/sale_order_line.py#L178
opw-6049106This update ensures Odoo's Danish localization (l10n_dk) aligns with the latest Danish tax regulations. It includes updated account details, translations, and migration scripts to maintain accurate financial reporting for Danish businesses. This improves compliance and data integrity.
Original PR description
We updated the following in the Danish localization: - Updated the accounts to match the latest version provided by the Danish tax authorities. - Made sure we use the official Danish translations for the accounts and updated all of the English reference translations. - Removed outdated accounts and tags and have a migration script archive them for existing users. - Updated the account groups to match the CoA structure and use the correct Danish and proper English translations. - Adapted the account tags to match the updated accounts/numbers and replaced the outdated ones with their new version on existing accounts. - Removed unused account tags. - Updated some of the default accounts and prefixes on the chart template. task-5929517 Related: https://github.com/odoo/enterprise/pull/112430