Friday, September 25, 2026
4 changes · master
Enhancements to existing features
Spanish electronic invoicing screens are streamlined so users request cancellations from a single action menu instead of separate buttons. Veri*Factu documents now make supporting JSON and XML files easier to access, and SII payloads stay attached to the related document for clearer record keeping.
Original PR description
During the l10n_es [EDI rework](https://www.odoo.com/odoo/project/967/tasks/6175455), the PO introduced some tweaks that would be nice to have. As those tweaks have nothing to do with the rework, we have decided to add them in a different PR: - Replace the direct SII/TicketBAI cancel buttons with a server action bound to the form's action menu, so cancellation goes through a single "Request Cancellation" entry instead of a dedicated button. - Expose the raw JSON attachment on Veri*Factu documents in the list view and add a button to download XML - Attach the SII JSON payload to the SII document record itself instead of the invoice, so it travels with the document it belongs to. task-6523345 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#289111
Customers using self-ordering can now search for their country when entering a phone number instead of scrolling through a basic list. The system also recognizes international calling codes automatically, making phone entry faster and less error-prone.
Original PR description
Replace the native country selector with a searchable SelectMenu and automatically detect the calling code when an international phone number is entered. --- Task: https://www.odoo.com/odoo/project/1737/tasks/6565694 Forward-Port-Of: odoo/odoo#287897
Improves the way accounting tax details are calculated by reducing repeated database work and reusing prepared data. This should make tax-related accounting operations faster and more scalable, especially for companies processing large volumes of journal items.
Original PR description
Issues with the current query: ============================== 1. The query repeatedly scans the entire `account_move_line` table. Rather than first filtering down to only the relevant move lines and…
Issues with the current query: ============================== 1. The query repeatedly scans the entire `account_move_line` table. Rather than first filtering down to only the relevant move lines and reusing that subset, each stage starts from the full table, increasing the amount of data processed. 2. The same tables are joined repeatedly across different CTEs. Instead of carrying forward data that has already been computed, each CTE re-fetches and re-joins the same tables, resulting in unnecessary work. 3. Several JOIN conditions use `COALESCE` and `OR` expressions. These predicates are difficult for the query planner to optimise, leading to inefficient execution plans. 4. The per-row LATERAL joins are expensive because they repeatedly execute a large UNNEST(CASE ...) mapping along with ARRAY_AGG and sorting for every row. Solution: ========= 1. Filter the required account_move_line records once into a temporary table and use this reduced dataset throughout the query. 2. Reuse information from upstream temporary tables wherever possible instead of repeatedly joining the same base tables, reducing redundant joins and unnecessary computation. 3. Move COALESCE and OR logic out of JOIN predicates wherever possible, and simplify joins using precomputed join keys to help the planner choose more efficient join strategies. 4. Precompute the flattened tax mappings once in temporary table and reuse it, eliminating repeated LATERAL joins, UNNEST, ARRAY_AGG, and sorting operations. Note: ===== This commit also removes the fallback parameter and makes it a default feature. This is because the fallback is always used with the query in the entire codebase. Explain Analyze for 250K AMLs: ------------------------------------------- [Old Query](https://github.com/user-attachments/files/30706145/250k_old_query_explain_analyze.txt) | [New Query](https://github.com/user-attachments/files/30706163/250k_new_query_with_cte_explain_analyze.txt) ----------------------- task-3941950 Enterprise PR - https://github.com/odoo/enterprise/pull/126025
Tax report detail calculations have been optimized to run more efficiently. This should help accounting reports load faster and support smoother reporting workflows, especially where detailed tax data is involved.
Original PR description
This PR supports the changes made to the tax details query in the Community PR. task-3941950 Community PR - https://github.com/odoo/odoo/pull/279118