Thursday, April 23, 2026
3 changes · 19.0
Enhancements to existing features
The French accounting template now separates account 649 into two dedicated accounts, making Profit and Loss reporting more accurate. This helps distinguish social security charges from salaries in line with the 2026 French accounting plan guidance.
Original PR description
Splitting account 649 into two new accounts (6491 and 6492) is necessary to handle the Profit and Loss report properly. This ensures we can accurately separate social security charges from salaries in the report. Reference: ANC PCG 2026, page 445, note (h) https://www.anc.gouv.fr/files/anc/files/1_Normes_fran%C3%A7aises/recueil/RECEUIL-PCG-2026-AVEC-COUVERTURE.pdf task-6053784 Forward-Port-Of: odoo/odoo#257398 Forward-Port-Of: odoo/odoo#255038
Improves the web client so forms with very large many-to-many record lists remain responsive during automatic updates. This reduces the risk of browser freezes or crashes for users working with large datasets.
Original PR description
### Issue before this commit: When handling many2many fields with a large number of records (e.g., 20k+), the client-side performance degraded significantly. In extreme cases, the browser became unresponsive or crashed when triggering onchange or compute logic. ### Steps to Reproduce: Create a computed many2many field. Add it to a form view (can be invisible). Populate the related model with a large dataset (20k+ records). Trigger an onchange that recomputes the field. ### Cause of the Issue: In _applyCommands (LINK case), the system checks for existing record IDs using Array.includes(), which has O(n) time complexity. When handling thousands of records, repeated ID lookups using includes() result in O(n²) complexity. ### With This Commit: Replaced Array.includes() with a Set (Set.has()), reducing lookup time to O(1). The set is updated incrementally as new IDs are added, improving overall complexity to O(n) and preventing UI freezes for large datasets. opw-6122024
This update expands access to return type configuration options within the Odoo Enterprise accounting reports module. Previously, these settings were limited to debug mode, hindering user flexibility. Now, these options are available for authorized users, streamlining report customization and improving usability.
Original PR description
Before, the menu return types in configuration was only available in debug mode. Now it is available for the group `account.group_account_readonly` task-5912751