Saturday, March 21, 2026
7 changes · saas-19.2
Enhancements to existing features
This update improves the way users can manage databases by adding a filter to view databases associated with their accounts. It also fixes an issue where the user invitation wizard wouldn't correctly identify the project, and adds logging to track API calls for better monitoring. These changes ensure users have a clearer view of their database access and improve system reliability.
Original PR description
### [FIX] databases: fix invite user wizard when no users in list When there was no users in the list, the invite users wizard was failing to find the project on which the new users shall be invited. With this commit, the wizard is initialized with the active_id instead of self.project_id, which is always set in the databases settings form view. ### [IMP] databases: add filter on database users Add a filter on the databases list view to see all the databases that contain a given user. Task-id: [5945293](https://www.odoo.com/odoo/project.task/5945293) Forward-Port-Of: odoo/enterprise#111549 Forward-Port-Of: odoo/enterprise#108346
Resolved issues and error corrections
This update resolves an error occurring when setting tax return periods for Dutch companies within the Odoo Enterprise system. The issue stemmed from a misconfigured function call during a forward port, leading to a runtime error. This fix restores the correct function call, ensuring accurate tax return period configuration.
Original PR description
Currently, an error occurs when configuring tax return periods for a Netherlands company. - This PR [97615](https://github.com/odoo/enterprise/pull/97615) introduced the…
Currently, an error occurs when configuring tax return periods for a Netherlands company. - This PR [97615](https://github.com/odoo/enterprise/pull/97615) introduced the `_get_tax_tags_for_nl_sales_report()` function - In the 19.1 fw port, the implementation is different. This function is neither added nor called. Instead, `_get_ec_sales_tax_tags()` is called in its place. - In the 19.2 fw the function is still missing, but it is called, so it does `Traceback` `AttributeError: 'l10n_nl_reports.ec.sales.report.handler' object has no attribute '_get_tax_tags_for_nl_sales_report'` We fix this by using `_get_ec_sales_tax_tags()` in `19.2`, just as `v19.1` does. **Steps to reproduce:** - Install `l10n_nl_reports` and `accountant` modules - Set up an `NL company`. - Go to `Accounting > Tax Returns > Set Periods`. - Set the date - Click `Apply` Tickets links: [6035534](https://www.odoo.com/odoo/project.task/6035534), [6045553](https://www.odoo.com/odoo/project.task/6045553), [6045241](https://www.odoo.com/odoo/project.task/6045241), [6037249](https://www.odoo.com/odoo/project.task/6037249) opw-6035534 opw-6045553 opw-6045241 opw-6037249
This update corrects a technical issue in the Peruvian VAT (ISC) tax implementation. A previous update removed a key element needed for accurate tax calculations, leading to potential errors. This fix reintroduces the 'TierRange' key, ensuring correct VAT calculations for Peruvian businesses.
Original PR description
In [^1] the PE implementation for XML generation was rewritten to use the new dict_to_xml design rather than a large QWeb view. In that refactor the `TierRange` key on `TaxCategory` was lost. This PR re-introduces it. task-6046603 [^1]: odoo/enterprise#87598 Forward-Port-Of: odoo/enterprise#111061
This update resolves issues where the timesheet timer wasn't accurately tracking time spent when employees were checked out for attendance, and changes weren't consistently saved across all timesheets. Now, changes are reliably saved for all timesheets, regardless of whether they are new or existing, ensuring accurate time tracking and reporting.
Original PR description
This PR fixes two bugs in the timesheets systray: - The timer does not take into account the moments when you are checked out on attendance - When closing the systray without saving, changes are only saved for a new timesheet, not on existing ones Task-6042077
This update significantly speeds up the process of expanding project tasks to include users. Previously, a slow search query was triggered repeatedly, impacting performance with a large number of tasks. The change now uses a more efficient search method, reducing task expansion time from 30 seconds to just 1.4 seconds for 300,000 tasks.
Original PR description
Before this commit, expanding the `user_ids` involved fetching all the tasks satisfying a domain by a search call and returning only the active users by accessing the field `user_ids` from the fetched recordset of tasks. This approach introduced slowness with a big number of `project.task` since for each batch of **1000** records, a `__get__` call on the field will trigger an `SQL` query. I have updated the code to have the inverse field `task_ids` in the `res.users` model and did the search, the other way around searching directly the `res.users` model. | Tasks | Before | After | | :--- | :--- | :--- | | 300K | 30s | 1.4s | opw-5942477 Forward-Port-Of: odoo/enterprise#110641
This update resolves a critical issue where the WhatsApp Business Account webhook would crash when multiple phone numbers were linked to the same account. Odoo’s design allows for multiple phone numbers per account, but this change prevents the system from attempting to access security information from multiple records, which was causing the error. This ensures the webhook process is stable and reliable for users with multiple WhatsApp Business Accounts.
Original PR description
The webhook crashes when a WhatsApp Business Account uses multiple phone numbers. ### Steps to reproduce 1. Link two phone numbers to the same Account ID. 2. Receive a webhook for that account. ### Cause Odoo allows multiple records to share one Account ID to support multiple phone numbers. When a webhook arrives, searching by this ID returns a of all 2 matching records. The system crashes because it tries to read a security secret from this recordset to verify the request. opw-5419180 Forward-Port-Of: odoo/enterprise#107134
This update fixes a reporting issue where clicking on initial demand links opened the wrong account.move view without relevant data. Now, the link redirects to the correct account.move line, displaying information related to the initial inventory balance, improving reporting accuracy and usability.
Original PR description
Currently the initial demand click will open the account.move view without filter. So you don't know what is related to the initial balance or not. This commit updates the action to use a domain on the accounts used by inventory valuation. Also it shows the account.move.line instead. It also add a date if needed to be concistent with the reprot. Task: 6024514 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253907