Daily updates from Odoo
Friday, June 26, 2026
12 changes · master
Resolved issues and error corrections
This change stops the planning process from trying to auto-plan or send schedules when no start or end dates have been set. It helps avoid unexpected errors and makes the planning workflow more reliable for users.
Original PR description
Add a guarding condition to the auto-plan or send behavior to avoid doing those operations when no start/end dates are defined --- Task: 6312650
This update fixes a cleanup problem in Studio tests that could leave behind test data in the system. As a result, customer records and user-related processes are less likely to run into unexpected errors during background checks or computed updates.
Original PR description
This bug occurs whenever a computed field or onchange tries to interact with the res.users or res.partner, where it then tries to fetch the res_partner.x_studio_test_tracking and it does not exist.
When a customer’s information is refreshed from the Colombian government service, the updated legal name and email are now also reflected in Point of Sale right away. This avoids showing a temporary name in POS and ensures staff see the correct customer details immediately after the refresh.
Original PR description
Step to reproduce: - install l10n_co_dian and pos - open pos and click on create a new partner from partner list - enter name ex. "temp", identification number, click on form - notice a `refresh…
Step to reproduce: - install l10n_co_dian and pos - open pos and click on create a new partner from partner list - enter name ex. "temp", identification number, click on form - notice a `refresh icon` is visible: click on it. Observation: - the dialog is closed and partner is selected with "temp" name Expected: - with valid government credentials and a valid identification number, the refresh action should also update the partner data on the POS side Cause: - the refresh button triggers the `button_l10n_co_dian_refresh_data` action, which fetches the legal name and email from the government service - although the backend record is correctly updated, the new values are not immediately synchronized with the POS - when the refresh button is clicked, editPartner() first triggers `web_save` using the temporary "temp" name and immediately reads the partner data afterward - the refresh action executes later and updates the contact with the fetched legal information, but the POS is not aware of these subsequent changes Fix: - read the data again if there is any update caused by this action. - this is done by overriding `afterExecuteActionButton` of FormController class opw-6198035 Forward-Port-Of: odoo/enterprise#117527
Reporting menu items that were previously visible with only the Invoicing app are now available only when the Accounting app is installed. This keeps the Invoicing experience simpler and ensures users see only the reports relevant to their setup.
Original PR description
The invoicing app provides access to many reports which are not needed for the purposes related to invoicing. These reports have been moved to only be accessible if the accounting app is installed instead of being available by default with just the invoicing app. task-6298711
The Total Comprehensive Income line in Hong Kong financial reports was not appearing in some cases when it should have been shown. This update corrects the display logic so the line appears whenever comprehensive income is present, helping ensure reports are complete and easier to read.
Original PR description
The Total Comprehensive Income line was not displayed in all expected cases due to a faulty visibility check. Rework the check expressions so the line shows whenever there is comprehensive income. task-6340607
This fix updates the sales subscription test flow so it works whether or not quotation templates are available. It prevents automated tests from breaking after the way new quotations are opened was changed, helping maintain stable validation of the sales process.
Original PR description
Commit odoo/odoo@00545bd introduced support for creating quotations from sale order templates through the `New` button. When accessible templates are available, clicking `New` opens a dropdown instead of directly opening the form view. This change could break existing tours relying on the previous behavior, as they would now need to archive all accessible sale order templates before creating a quotation. To avoid this requirement and keep tours working regardless of template availability, this commit updates the `createSalesOrder` tour util to handle both cases: opening the form view directly or selecting the default quotation entry from the dropdown. runbot error-940295 See Also: - https://github.com/odoo/odoo/pull/271236
Completed shifts will now display correctly in the Kanban view. This restores the intended visual behavior so finished work is clearly shown as completed to users.
Original PR description
Issue: When completing a shift, the Kanban card is not blurred. Cause: In PR https://github.com/odoo/enterprise/pull/113153, the `state` value was changed from `completed` to `4_completed`, but the condition in the Kanban card was not updated. Fix: Update the Kanban card condition to use `4_completed` instead of `completed`.
This fix corrects an incorrect data key used in the Belgian payroll reporting process. It helps ensure payroll information is sent and interpreted properly, reducing the risk of reporting errors.
Original PR description
Task#6333132
This update corrects how activities are shown in the Sign chatter, making the information icon match the look of other activity types. It also prevents both the user and role avatars from appearing at the same time, improving clarity and reducing visual clutter.
Original PR description
* Aligning style of information icon with the one from other activity types * Avoid showing both user and role avatars Task-6292889 Task-6253574
When an AI agent opens a view and there are no results to display, the empty-state help text is now formatted consistently with manually opened views. This makes the message clearer and keeps the user experience consistent regardless of how the view is opened.
Original PR description
Purpose: -------- Currently, when a view is opened by an AI Agent and if there are no records to show (even after filtering them manually), the no content helper is not formatted as it would be if the user opened the view manually. This happens because the tools to open the views by AI return the action dictionaries instead of letting the action service fetch them based on an action Id. However `_loadAction` in the action service only markups the "help" key when it fetches the action, not if it was passed. With this commit, the "help" key will be markuped before being processed by the action service when an action dict is returned from an AI tool. Task-6251090 Forward-Port-Of: odoo/enterprise#120538
Bank reconciliation now shows child contacts consistently when choosing a partner, matching the behavior of the automatic reconciliation flow. This prevents users from being unable to select the correct contact for customer payments linked to a subsidiary contact.
Original PR description
When creating a bank statement line, we can not set an individual contact that is a children of a company contact. However, when clicking on the 'Set Partner' button, all contacts are shown in the modal list view. This commit aligns the domain coming from the 'Set Partner' button with the domain from the 'partner_id' field of the auto reconcile wizard Steps: - Have a contact X, with a child contact Y - Create and confirm an invoice for contact Y, amount 1000 - Create a bank statement line for 1000 -> You can not select Y, only X - Click 'Add & Close' - Click on 'Set Partner' button -> Y is displayed opw-6205154 Forward-Port-Of: odoo/enterprise#121354 Forward-Port-Of: odoo/enterprise#118036
Fixed an issue where the list autofill tooltip could show an error instead of a helpful label when the list data was still loading. This makes the spreadsheet experience smoother and prevents confusing messages during autofill suggestions.
Original PR description
The getter `getTooltipListFormula` would return the result of `getListHeaderValue` as the content of the tooltip, but this returned a loading error instead of a string if the list was not ready yet. Task: [6289944](https://www.odoo.com/web#id=6289944&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#121416 Forward-Port-Of: odoo/enterprise#119876