Daily updates from Odoo
Wednesday, October 15, 2025
17 changes · master
Enhancements to existing features
The AI and WhatsApp features now use a more direct way to open or retrieve chat conversations. This keeps the messaging experience aligned with the main chat system and helps maintain consistency across Odoo communication tools.
Original PR description
This commit updates all calls to getOrFetch to use the method from the discuss.channel model directly. PR community: https://github.com/odoo/odoo/pull/231203
The automated tests for avatar cards were updated to rely on stable class names instead of page structure. This helps reduce false test failures when the avatar card layout changes, supporting smoother future updates without changing the user experience.
Original PR description
Update the user info selector in avatar card tests to use the class names. This will simplify future changes to the avatar card. The tests will be less likely to break if the structure of the avatar card changes, as long as the class names remain the same. pre task of task-4107790 https://github.com/odoo/odoo/pull/231639
The salary configurator sidebar now has better spacing between field labels and their tooltip icons. This small visual improvement makes the interface cleaner and easier to read for users configuring salaries.
Original PR description
In the salary configurator sidebar some fields have a tooltip to explain how the value is calculated, the icon for that tooltip had no margin between itself and the label. This commit adds a margin between them to make it more visually pleasing. Task ID: 5138530 Forward-Port-Of: odoo/enterprise#96483
The Payroll Employees menu now uses the standard navigation path again because newer platform routing improvements make the previous workaround unnecessary. This avoids a full page reload, helping the Employees screen open more quickly and smoothly.
Original PR description
This reverts commit bbb22f4835197419be538a7e2a82c1743fac3fa3. The fixes in the commit reverted is no longer needed thanks to the recent changes by the framework to better manage the routing in backend. Moreover, the fixes made by calling a client action to change the url will trigger a hard reload and so the employees action will take more time than before since all OWL components have to be mounted instead of just mounting to needed owl components to load the Employees action. Forward-Port-Of: odoo/enterprise#96967
Resolved issues and error corrections
Corrected a typo in the Australian payroll API cleanup script so database neutralization can complete successfully. This helps prevent failures when preparing safe, non-production database copies.
Original PR description
There is a `s` in the table name of `ir_config_parameter`
```py
2025-10-14 12:30:43,043 278 ERROR ? odoo.sql_db: bad query: b"DELETE FROM ir_config_parameters WHERE key = 'l10n_au_payroll_iap.endpoint';\nUPDATE res_company SET l10n_au_payroll_mode = 'test';"
ERROR: relation "ir_config_parameters" does not exist
LINE 1: DELETE FROM ir_config_parameters WHERE key = 'l10n_au_payrol...
^
2025-10-14 12:30:43,043 278 CRITICAL ? odoo.cli.neutralize: An error occurred during the neutralization. THE DATABASE IS NOT NEUTRALIZED!
```
Forward-Port-Of: odoo/enterprise#97129Payroll payslips no longer trigger an error when a user removes the period date. This prevents an unexpected interruption during payslip creation and helps payroll users continue their workflow smoothly.
Original PR description
This error occurs when the user removes the period date from the payslip. Steps to reproduce: --- - Install `hr_payroll` module - Create a New Payslip - Add `Employee` and remove `Period` date Traceback: --- `TypeError: '<=' not supported between instances of 'datetime.date' and 'bool'` This error occurs because at [1], the `date_to` field is received as `False` after the date is removed from the payslip. [1]: https://github.com/odoo/odoo/blob/4cd1ad3aa46ad4645fc7b5e530b79d53382de6d5/addons/hr/models/hr_version.py#L388 sentry-6925445279 Forward-Port-Of: odoo/enterprise#96492
The Shop Floor "Add Operator" action now uses the public employee list, so users without access to private employee profiles can still select operators. This avoids unnecessary access warnings and keeps production work order operations moving smoothly.
Original PR description
The task 4762527 added a warning for users that were not allowed to access private employee profiles. The "Add Operator" button in mrp_workorder (Shop Floor) was relying on it. I had to change their list model from hr.employee to hr.employee.public This issues was raised by Aerospacelab in the following PR: https://github.com/odoo/odoo/pull/228623 task-5156702 Forward-Port-Of: odoo/enterprise#96745
This fixes an issue where Odoo Studio could attach customizations to a secondary inherited view instead of the main base view. The change helps ensure Studio edits are applied more reliably and reduces the risk of incorrect behavior when customizing screens.
Original PR description
…ry view Accidentally pass an inheriting view id to edit view. Before this commit, the studio view thus created inherited from the extension view After this commit, it inherits from the closest primary view. opw-4930800 Forward-Port-Of: odoo/enterprise#96636 Forward-Port-Of: odoo/enterprise#94747
This fix keeps the restaurant floor screen compatible with recent point-of-sale changes. It helps prevent display or navigation issues when restaurants use appointment-related flows in the POS.
Original PR description
This commit adapts an overriding method to reflect changes in the base method done in this pr https://github.com/odoo/odoo/pull/176016. Forward-Port-Of: odoo/enterprise#95653 Forward-Port-Of: odoo/enterprise#91334
This fix ensures the accounting report remains available only to users in accounting-related roles. It helps keep financial reporting access aligned with intended business permissions and avoids exposing accounting tools to unrelated users.
Original PR description
Forward-Port-Of: odoo/enterprise#96731
Updated WhatsApp test data so its phone number does not duplicate the demo data. This prevents automated tests from failing due to duplicate account phone numbers and helps keep releases stable.
Original PR description
Issue: Before this commit, if we were in 'with demo' test, we would have a WhatsApp account with the same phone number, which would trigger the unique constraint Fix: Modify the phone number to be different from the one in the demo data runbot-223071
Document upload request emails now address the person being asked to provide the document, rather than the sender or owner. Invitation and reminder emails are also sent in the requestee's language, making communications clearer and more professional.
Original PR description
Currently, the email template inviting a user to upload a document displays the document owner's name in the greeting instead of the requestee's. This commit updates the template to display the correct name. Steps to reproduce: 1. Log in as Mitchell Admin 2. Go in the Document app 3. Click on the New > Request 4. Enter a document name and select Joel Willis as requestee 5. Send the request by clicking on the "Request" button => The invitation email is correctly sent to Joel Willis but it says "Hello Mitchell Admin" instead of "Hello Joel Willis" Additionally, this PR ensures that the reminders and the invitation emails are sent in the requestee's language rather than the sender's. Task-5130591 Forward-Port-Of: odoo/enterprise#96941 Forward-Port-Of: odoo/enterprise#96161
Updates Belgian reporting audit check descriptions and translations to make them clearer and more consistent. This helps users better understand validation messages during compliance checks, reducing confusion without changing core reporting behavior.
Original PR description
Forward-Port-Of: odoo/enterprise#97139
Project budget totals now use the same color logic as individual budgets, especially for expense budgets with positive amounts. This helps users read project dashboard budget status accurately and avoid misleading visual indicators.
Original PR description
#### Issue: - Color for project budget and total project budgets are inconsistent #### Step to reproduce: - In Settings: - activate Project > Timesheet - activate Accounting > Budget Management -…
#### Issue: - Color for project budget and total project budgets are inconsistent #### Step to reproduce: - In Settings: - activate Project > Timesheet - activate Accounting > Budget Management - Create a project - Go to Dashboard - Add a budget of type 'Expense' - Add a line with a positive amount #### Current Behavior: - Color for the budget is correct - Color for the total budget is wrong #### Expected behavior: - Color for the budget and total budget are consistent While computing budget color, expense budget are dealt as if they were negative. Therefore having a positive amount for purchase order result in some problem on the color of the total of different budgets. This commit creates temporary variables to compute progress of the global budget. Project cards in kanban view use the `total_budget_progress` field, so it also needed to be updated the same way. opw-4812468 Forward-Port-Of: odoo/enterprise#97211 Forward-Port-Of: odoo/enterprise#93221
New timesheet entries on helpdesk tickets now show in the expected newest-first order immediately after creation. This removes the need for users to refresh the form to see the correct timesheet list order.
Original PR description
In version saas-18.3 and later, when creating new timesheets for helpdesk tickets, they are added to the bottom of the list instead of being sorted from newest to oldest. **Steps to reproduce:** 1.…
In version saas-18.3 and later, when creating new timesheets for helpdesk tickets, they are added to the bottom of the list instead of being sorted from newest to oldest. **Steps to reproduce:** 1. Install helpdesk_sale_timesheet 2. Navigate to Helpdesk > Tickets > Timesheets 3. Create a new timesheet **Issue:** The timesheet is added to the very bottom of the list. It is not sorted from newest to oldest until the form view is refreshed. **Causes:** When helpdesk_sale_timesheet module is installed, an issue occurs. The overridden `write()` method on `helpdesk.ticket` accesses `self.timesheet_ids` too early, before the new timesheet is actually added, resulting in the new entry being appended at the end of the list. **Solution:** Avoid evaluating `self.timesheet_ids` when there is no need to process recompute_so_lines. This prevents premature evaluation and allows the ORM to attach and sort the new timesheet correctly, ensuring it appears in the expected order without requiring a form refresh. [opw-4864981](https://www.odoo.com/odoo/project.task/project.task/4864981) Forward-Port-Of: odoo/enterprise#97254 Forward-Port-Of: odoo/enterprise#94369
This update ensures attachments linked to Indian tax return reports can be found correctly when needed. It prevents access-related lookup issues that could block or disrupt report workflows involving supporting documents.
Original PR description
Follow-up of fd4fcb1bd87, we should set `bypass_search_access` on `ir.attachment` many2many fields. Forward-Port-Of: odoo/enterprise#97278
Miscellaneous changes
Related: https://github.com/odoo/design-themes/pull/1167 Related: https://github.com/odoo/industry/pull/1204 Related: https://github.com/odoo/odoo/pull/230615 Forward-Port-Of: odoo/enterprise#96645
Original PR description
Related: https://github.com/odoo/design-themes/pull/1167 Related: https://github.com/odoo/industry/pull/1204 Related: https://github.com/odoo/odoo/pull/230615 Forward-Port-Of: odoo/enterprise#96645