Monday, November 3, 2025
7 changes · saas-18.4
Enhancements to existing features
Estonia VAT report XML exports now process large volumes of accounting entries in batches instead of recalculating each line separately. This prevents timeouts on large reporting periods and makes VAT submission exports more reliable for businesses with high transaction volumes.
Original PR description
Behavior before: When exporting the VAT report to XML, each newly added line triggered a fresh _compute_expression_totals_for_each_column_group call. With large volumes of journal items, this…
Behavior before: When exporting the VAT report to XML, each newly added line triggered a fresh _compute_expression_totals_for_each_column_group call. With large volumes of journal items, this resulted in excessive repeated queries and, for big datasets, timeout errors. Behavior after: Introduced _custom_unfold_all_batch_data_generator, which batches the computation of expression totals for all lines. Now, journal items are resolved in bulk and mapped back to their respective moves, significantly reducing redundant queries. The VAT XML export completes successfully, even on months with very large datasets. Root cause: The Estonia VAT report was missing a batch unfold method (_custom_unfold_all_batch_data_generator). Without it, the system executed totals computation for each line individually instead of in batch, causing major performance degradation. Benchmark: | Period size (journal items) | Before patch | After patch | |----------------------------------------|----------------------|--------------------| | ~15k | 7s | 5s | | ~200k+ | Timeout error| 21s | opw-5046077 Forward-Port-Of: odoo/enterprise#97660 Forward-Port-Of: odoo/enterprise#95047
The booking screen in the Point of Sale no longer automatically opens the keyboard on phones and tablets when it loads. This makes the screen easier to use on touch devices and avoids interrupting users with an unnecessary keyboard pop-up.
Original PR description
Task: [#5016943](https://www.odoo.com/odoo/project/1737/tasks/5016943) --- On tablets and phones, the search bar was autofocus when opening the booking screen in the POS frontend. This was causing the keyboard to open automatically, which was not a good user experience. Now the search bar is not autofocus on touch devices for the booking screen by creating a new controller to manage this. Forward-Port-Of: odoo/enterprise#96873
The POS configuration kanban view no longer automatically focuses the search bar on tablets and phones. This prevents the on-screen keyboard from opening unexpectedly, making the screen easier to use on touch devices.
Original PR description
Task: [#5016943](https://www.odoo.com/odoo/project/1737/tasks/5016943)
---
On tablets and phones, the search bar was autofocus when opening the POS config kanban view. This was causing the keyboard to open automatically, which was not a good user experience.
Now the search bar is not autofocus on touch devices for the POS config kanban view ('view_pos_config_kanban').
Forward-Port-Of: odoo/odoo#231045Messages that include a customer rating are now treated as meaningful activity in the portal, even if they have little or no other content. This improves the accuracy of portal views and prevents rated interactions from being hidden as empty messages.
Original PR description
*: portal, portal_rating, rating, website_slides task-5016995 Forward-Port-Of: odoo/odoo#233871 Forward-Port-Of: odoo/odoo#223515
The Pakistan payroll localization has been updated with the new tax bracket values for 2026. This helps ensure employee payroll calculations stay aligned with the latest tax rules.
Original PR description
Tax brackets for pakistan localization has been updated to include the new values for 2026. Forward-Port-Of: odoo/enterprise#98345
This change adds a set of shared helper methods for accounting tests, such as creating invoices, sale orders, reversals, and down payment invoices. It gives the accounting team a common starting point for test setup, making future testing work faster and more consistent across localizations.
Original PR description
This commit adds bunch of helper methods on AccountTestInvoicingCommon to make it easier to do generic accounting test actions, such as: - creating invoice - creating sale order - reversing invoice - skipping test if module isn't installed - creating down payment invoice ... and many more. We're aware that there are thousands of different helpers for creating invoice out there in different localizations. This commit serves as the first necessary step to create one standard that can be extended across all other test helpers. This is a simplified version of the merged commit in master. We are not refactoring/rewriting any other test to use these new helpers. Our goal is just to make it available for everyone to start using this helper on their accounting-related tests. task-4891206 Forward-Port-Of: odoo/odoo#233869 Forward-Port-Of: odoo/odoo#233724
This update removes use of an older password-generation library so the IoT box continues to work with newer Python versions. It also fixes file locations used by Wi‑Fi and system processes, helping device setup remain reliable across software updates.
Original PR description
To ensure compatibility with python 3.13+, we updated the method to generate the rpi's password to avoid using the removed `crypt` lib. We also ensure that files moved between `point_of_sale/tools/posbox/`, `addons/iot_box_image/` and `setup/iot_box_builder` can still be found by system processes using symlinks. Forward-Port-Of: odoo/odoo#233813 Forward-Port-Of: odoo/odoo#233423