Friday, June 27, 2025
3 changes · saas-18.3
Enhancements to existing features
Bank reconciliation now loads matching journal entries much faster by narrowing the search before running the main lookup. This reduces waiting time for accountants when opening reconciliation suggestions, with benchmarked load time improving from about 14.7 seconds to 5.75 seconds on a large dataset.
Original PR description
Description ----------- During bank statement reconciliation, finding matching journal entries generates a complex and resource-intensive query due to elaborate domain. This commit optimizes query…
Description ----------- During bank statement reconciliation, finding matching journal entries generates a complex and resource-intensive query due to elaborate domain. This commit optimizes query performance by introducing a new `search_account_id` field that pre-filters the condition on `account_id` criteria. This allows the domain leaf to be resolved early and the resulting IDs to be re-injected into the main query. The optimization enables Postgres to leverage `pg_stats` directly for more accurate cost estimates. It also eliminates the need to join `account.account` with large tables like `account.move.line` and `account.move`. Overall performance improves significantly, given that `account.account` is a relatively small table, making it efficient to reuse the filtered IDs in the main query without impacting performance negatively. Benchmark --------- Clicking on "Reconcile" to open the wizard with the list view of matching Journal Entries (150k matches) from the new reconciliation view, on odoo.com takes (hot timings): | Before | After | Speed-up | |--------|-------|----------| | 14.7s | 5.75s | ~2.5x | Reference --------- task-4863071 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Manufacturing users can now edit multiple work orders at once from the list view. This saves time when updating several production tasks and reduces repetitive manual work.
Original PR description
- To save time in edits or updates for one workorder or more, batch edits are enabled. Task: 4900236 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Bank reconciliation now loads matching journal entries much faster by narrowing the search before running the heavier lookup. This reduces waiting time for accountants when opening reconciliation matches, especially on large datasets.
Original PR description
Description ----------- During bank statement reconciliation, finding matching journal entries generates a complex and resource-intensive query due to elaborate domain. This commit optimizes query…
Description ----------- During bank statement reconciliation, finding matching journal entries generates a complex and resource-intensive query due to elaborate domain. This commit optimizes query performance by introducing a new `search_account_id` field that pre-filters the condition on `account_id` criteria. This allows the domain leaf to be resolved early and the resulting IDs to be re-injected into the main query. The optimization enables Postgres to leverage `pg_stats` directly for more accurate cost estimates. It also eliminates the need to join `account.account` with large tables like `account.move.line` and `account.move`. Overall performance improves significantly, given that `account.account` is a relatively small table, making it efficient to reuse the filtered IDs in the main query without impacting performance negatively. Benchmark --------- Clicking on "Reconcile" to open the wizard with the list view of matching Journal Entries (150k matches) from the new reconciliation view, on odoo.com takes (hot timings): | Before | After | Speed-up | |--------|-------|----------| | 14.7s | 5.75s | ~2.5x | Reference --------- task-4863071