Daily updates from Odoo
Wednesday, January 21, 2026
3 changes · saas-18.4
Enhancements to existing features
This update enhances the testing process for paying invoices with bank statement lines within the Odoo accounting system. The change introduces a reusable test helper, streamlining testing and ensuring more accurate invoice payment simulations. This improves the reliability of our accounting module's payment functionality.
Original PR description
Forward-Port-Of: odoo/odoo#244377 Forward-Port-Of: odoo/odoo#244281
This update organizes UBL test files for better compatibility with future move formats and improved schema validation. The change improves the structure of test data, streamlining development and testing processes related to UBL invoice generation.
Original PR description
This commit rearranges the UBL test files' subfolder to be one level higher, from `export/bis3/be` to `export/bis3/invoice/be`, in preparation for supporting different move formats and for better ignore schema support. task-4891206 Forward-Port-Of: odoo/odoo#244665
This update optimizes how Odoo generates reports by grouping related database queries. Previously, each report filter required a separate SQL query, which was slow. Now, multiple filters targeting the same data are combined into a single query, resulting in faster report generation times. This change specifically impacts report performance.
Original PR description
Before this commit, the 'domain' engine was never batched: one expression to evaluate caused one SQL query to be run just for it. With this commit, we group domains that could be evaluated together. Essentially, when we have domains targetting the same many2one field of account.move.line (typically account_id, with conditions like 'account_id.code' or 'account_id.account_type'), we run only one SQL query for all of them, targetting all the move lines according to the report filters. Then, we iterate on its result for each domain to evaluate. When iterating over the results, we filter the ones we keep by searching separately on each traversing model (in our example, account.account), to isolate the ones that are actually targetted by each expression. Tested on our prod. With this, opening the Generic Balance Sheet goes from 1min 35s to 36s. opw-5130725 Forward-Port-Of: odoo/enterprise#101725