Daily updates from Odoo
Wednesday, July 23, 2025
14 changes
Enhancements to existing features
This update adds automated front-end test coverage for the preparation display used in point-of-sale restaurant workflows. It helps reduce the risk of future changes breaking order preparation screens, improving reliability for businesses using these features.
Original PR description
This commit introduces a test environment to test the preparation display front-end.
AI and WhatsApp discussion features now use the shared avatar link method introduced in the core platform. This keeps contact and member images consistent across apps and reduces the chance of mismatched avatar behavior after platform updates.
Original PR description
This commit adapts the code to use the new member.avatarUrl getter introduced in community. PR community: https://github.com/odoo/odoo/pull/220075
Resolved issues and error corrections
The asset setup process now updates only accounts that already exist. This prevents accidental creation of blank accounting records during installation or updates, reducing data cleanup risk.
Original PR description
In the post init hook for account_asset we are updating the chart accounts to add the asset models, and then we load those assets. The update should only be performed on accounts that already exist, otherwise the load will create empty account records with all values null except the assets, which is not the intention here. This fix filters the update to existing accounts only, and filters the asset that use those accounts. [ci error](https://runbot.odoo.com/odoo/runbot.build.error/229788) Forward-Port-Of: odoo/enterprise#89862
The Brazil AvaTax integration now handles error responses from the tax API without causing an unexpected system failure. This makes tax-related workflows more reliable when the external service returns a problem, and removes leftover debugging output.
Original PR description
Oversight of odoo/enterprise#82623. There won't be a 'lines' key in the response if the API returned errors. This also removes a logger meant for debugging. Noticed by VBE during review of odoo/enterprise#90156. Forward-Port-Of: odoo/enterprise#90580
This fixes a Helpdesk issue where saving a ticket could fail after all tags were removed from a ticket assigned by tags. Users can now update and save tickets without interruption, improving reliability for teams using automatic assignment rules.
Original PR description
Currently, an error occurs when the user tries to save the ticket after removing the tag. Steps to produce: --- - Install `Helpdesk` module. - Create the `Helpdesk team` with `Automatic Assignment` as `Dispatch tickets based on tags` - `All Ticket` > Create a new ticket and set the Helpdesk Team as the newly created team and set any tag, and click save - Remove the tag and save Traceback: --- `IndexError: list index out of range` At [1], the error occurs because `added_tags` is empty, which causes `vals_list` to be empty. As a result, attempting to unpack it using `zip(*vals_list)` leads to an IndexError. [1]: https://github.com/odoo/enterprise/blob/6763c997bce8c5a42fd7c2b99d36ae8af5d8d238/helpdesk/models/helpdesk_ticket.py#L689 sentry-6754498068 Forward-Port-Of: odoo/enterprise#90526
This update adjusts a subscription billing test so it no longer depends on a specialized recurring invoice process. This makes the test more reliable for customized deployments while keeping the business behavior being checked the same: one-time lines should not appear on later subscription invoices.
Original PR description
The commit 0d1b3dd03629c8e0499f537056c5ccd45cf094cd introduces a new test `test_subscription_invoice_after_second_period_payment` that uses `_create_recurring_invoice` to create a first invoice. However, overriding modules might consider that recurring invoices should only create invoices for subscriptions that have a payment token (as we do in our internal codebase). Since this test wants to check that the second invoice won't include the non-recurring lines, and not how the `_create_recurring_invoice` method behaves, it can use more basic calls to create this invoice. Forward-Port-Of: odoo/enterprise#90635
Fixed an issue in POS restaurant appointment booking where the date filter could remain active after switching from the kanban view to another view. This prevents bookings from appearing unexpectedly filtered and avoids duplicate date filters being added over time.
Original PR description
Steps to reproduce: - Open booking in a pos restaurant - Switch from kanban view to any other view - The filter on the date is not removed Issue: The onRemove method in the kanban_controller is never called. Fix: It is not possible to call the code an onWillUmount since onWillUmount is called after the onMount of the desired view. The deletion of the filter needs to be handled in the control_panel. Also each time createStartFilter was called, a new filter was added and never removed. In this commit if a filter already exists it is simply updated. Task-4916512 Forward-Port-Of: odoo/enterprise#89994
This update ensures a Web Studio message is properly prepared for translation. It helps users working in different languages see consistent localized text in the interface.
Fixed an issue where opening a product's On Hand stock information from an approval could show an error instead of the inventory list. This ensures users can reliably review stock quantities while processing approval requests.
Original PR description
<b>Steps to reproduce:</b> 1. Install the `approval`,`stock` module. 2. settings Inventory> Warehouse > check storage Loaction 3. Go to approval > Manager> All Approvals 4. Select an Approval > add…
<b>Steps to reproduce:</b> 1. Install the `approval`,`stock` module. 2. settings Inventory> Warehouse > check storage Loaction 3. Go to approval > Manager> All Approvals 4. Select an Approval > add storable product with on hand quantity > 0. 5. Go through the product > stat button On Hand <b>Issue:</b> - A traceback for unknown name field occurs when opening the On hand (stock.quant list view) <b>Cause:</b> - The context `search_view_ref` is passed from the `approval_product_line_view_tree` via the `product_id` field, which interferes with the Quant list view rendering. As a result, the On Hand button fails to display the expected stock information. <b>Solution:</b> - Removed `search_view_ref` from the `product_id` field context in the approval product line tree view. This prevents the context from unintentionally affecting unrelated views i.e. stock.quant list, ensuring On Hand smart button works as expected. <b>opw-4916178</b> Forward-Port-Of: odoo/enterprise#89973
Users with Invoicing & Banks access can now see the General section with bank fields on partner forms. The change fixes an access issue while keeping more sensitive accounting configuration fields limited to full accounting users.
Original PR description
In this PR: Changed General section groups from `account.group_account_user` to `account.group_account_basic `to ensure users with **Invoicing & Banks** access can see bank fields in partner form. This resolves the issue where the General section was completely hidden when only account_accountant was installed, while maintaining restriction of account configuration fields to full accounting users only. Task-4953707 Forward-Port-Of: odoo/enterprise#90728 Forward-Port-Of: odoo/enterprise#90593
The Dutch reports settings page now correctly shows the SBR certificate option. This fixes a configuration visibility issue caused by overlapping settings views, helping users manage Dutch reporting certificates without workaround.
Original PR description
Due to concurrent settings views, one of them wasn't displayed. Changed to be in one file, with different ids Forward-Port-Of: odoo/enterprise#90411
The subscription product setup now shows the correct description when a goods product is invoiced based on delivered quantity. This helps users choose the right product configuration and reduces confusion during subscription setup.
Original PR description
To reproduce: ============== 1- go to subscription 2- go to product 3- select product type : goods and invoicing_policy : Delivered Quantity Problem: ========= wrong description. Solution: ========== update description. opw-4929735 Forward-Port-Of: odoo/enterprise#90143
This update adjusts a test for SEPA direct debit behavior so it correctly reflects expected handling of draft items. It helps keep automated checks reliable and reduces the risk of false failures during future updates.
Original PR description
See community commit for details. Forward-Port-Of: odoo/enterprise#87772
Code cleanup and technical improvements
This change renames an internal access-related setting to make its purpose clearer for developers. It should not change day-to-day behavior for users, but helps reduce confusion and supports safer future maintenance across several business apps.
Original PR description
odoo/odoo#219627