Daily updates from Odoo
Wednesday, October 29, 2025
16 changes · master
Enhancements to existing features
The Colombian reporting module’s trial balance test was updated to match the latest account grouping structure. This helps keep report validation aligned with current accounting behavior and reduces the risk of false test failures.
Original PR description
task-5165175 Forward-Port-Of: odoo/enterprise#97426
The point of sale preparation workflow tests now better verify that warning dialogs appear and behave correctly on the product screen. This helps reduce the risk of order-handling issues in restaurant and certified point of sale setups.
Original PR description
*: pos_restaurant_preparation_display, l10n_de_pos_res_cert This commit improves the preparation flow by updating the `discardOrderWarningDialog` tour step to validate its behavior on the Product screen. Task-5116688 Related- https://github.com/odoo/odoo/pull/229915 Forward-Port-Of: odoo/enterprise#97458
Demo VoIP call records now use updated dates so sample charts show more meaningful trends. This helps teams evaluating or demonstrating the VoIP AI feature present clearer, more realistic reporting data.
Original PR description
Update demo data call dates to have more meaningful data to show in charts.
This update refreshes onboarding suggestion screens in Marketing Automation and Appointments to better match Odoo’s visual standards. Users will see more consistent layouts, colors, and icons across desktop and mobile, making setup guidance feel clearer and more polished.
Original PR description
*: marketing_automation_website_sale, marketing_automation_crm, appointment Before this commit, some onboarding suggestions were not fully aligned with Odoo’s UI standards. This commit adjusts…
*: marketing_automation_website_sale, marketing_automation_crm, appointment Before this commit, some onboarding suggestions were not fully aligned with Odoo’s UI standards. This commit adjusts layout, colors, icons,.. to ensure better visual consistency. task-5082681 requires: https://github.com/odoo/odoo/pull/228308 (com) **Preview Changes** <details> <summary>Desktop Preview</summary> | | Current | This PR (active + hover) | |--------|--------|--------| | Mkting auto | <img width="1790" height="964" alt="mkt_auto_desktop_old" src="https://github.com/user-attachments/assets/5ff7059a-80c1-45ab-901a-101d250e2b4c" /> | <img width="1790" height="964" alt="mkt_auto_desktop_new" src="https://github.com/user-attachments/assets/c95d0d05-fac0-480c-9eaa-e71fa6cf3ced" /> | | Appointment | <img width="1790" height="964" alt="appt_desktop_old" src="https://github.com/user-attachments/assets/ab55e64c-5fbc-4050-8703-64901af3bcb2" /> | <img width="1790" height="964" alt="appt_desktop_new" src="https://github.com/user-attachments/assets/54b140bc-1205-4dc4-a320-2ed7dfc8c214" /> | </details> <details> <summary>Mobile Preview</summary> | | Current | This PR | |--------|--------|--------| | Mkting auto | <img width="443" height="965" alt="mkt_auto_mobile_old" src="https://github.com/user-attachments/assets/842fc2e1-6988-455a-b047-f3f0a11be5bf" /> | <img width="443" height="965" alt="mkt_auto_mobile_new" src="https://github.com/user-attachments/assets/3801a7a8-c06d-4efe-88bc-3755265fb18c" /> | | Appointment | <img width="443" height="965" alt="appt_mobile_old" src="https://github.com/user-attachments/assets/12b14091-75c0-4282-ae46-4341c704f882" /> | <img width="443" height="965" alt="appt_mobile_new" src="https://github.com/user-attachments/assets/f6a16bb5-e66d-468e-9e8b-de0dbb799432" /> | </details> Forward-Port-Of: odoo/enterprise#94728
Several Odoo Enterprise screens were updated to match a platform-wide change in how edit, create, and delete options are defined for related records. This keeps views working consistently after the underlying framework change and removes outdated settings that no longer add value.
Original PR description
With https://github.com/odoo/odoo/pull/228165, crud options for x2many fields are now python expressions like it is is the case for the attrs invisible, required,... (see https://github.com/odoo/odoo/pull/104741). Here we adapt some archs to that change and also remove some useless options. Task ID: 5188852
Signature properties are now excluded from the AI prompt behavior because they do not rely on AI-generated input. This keeps the property experience aligned with how signatures are meant to be used and avoids unnecessary AI handling.
Original PR description
The signature property has been introduced recently. This property does not use the AI prompt. task-5170327
Resolved issues and error corrections
Updating a customer statement email template now works even if all recipients have been removed. This prevents an error from interrupting users while preparing statement emails, making the send workflow more reliable.
Original PR description
Currently, an error occurs if the recipients of the statement report are removed and the user tries to update the email template. **Steps to Reproduce:** 1. Install Accounting. 2. Customers (list view) > select any record > Actions > Customer Statement > Send. 3. Remove recipients and try to update the email template. **Error:** `KeyError - False` **Cause:** The system tries to fetch mail field values from an empty recipient list, leading to a KeyError. **Fix:** This commit recomputes the recipient partners before updating the email subject and body from the template. sentry-6918345730 Forward-Port-Of: odoo/enterprise#96273
This fix updates automated website tour checks so they correctly handle page reloads and redirects in appointment and helpdesk flows. It improves reliability of internal quality checks, reducing false failures during validation without changing customer-facing behavior.
Original PR description
\* = helpdesk, website_helpdesk ### Issue: - `appointment_crm_forced_staff_user_tour` fails on steps triggering page unload without `expectUnloadPage: true`. - In `helpdesk_search_ticket_on_portal_tour`, a specific step is failing for `helpdesk` but works when `website_helpdesk` is installed, as the step does not trigger the `beforeunload` event in that case. ### Fix: - Added `expectUnloadPage: true` to steps that trigger a page unload. - Introduced `HelpdeskSearchTicketSteps` class with `_searchTickets` so that the step can be overridden in `website_helpdesk`, removing the `expectUnloadPage` property when installed, since no `beforeunload` event is triggered in that case. runbot-[232987](https://runbot.odoo.com/odoo/runbot.build.error/232987) Forward-Port-Of: odoo/enterprise#95728
Corrects how Swedish payment batches are classified when no account type is provided, preventing IBAN payments from being incorrectly treated as local Swedish BBAN payments. This helps avoid payment processing errors and keeps automated validation checks reliable.
Original PR description
The method `_is_se_bban` is supposed to flag if payments are bban or iban. But since 8d77c0442d7912880c5da5976c92b24d3f9885ca,
the method returns True for batch of iban payments when you don't provide the `partner_acc_type` params, because
`len({'bban_se', 'plusgiro', 'bankgiro', *(partner_acc_type or {})}) == 3`
is always True if `partner_acc_type` is None.
This commit fix that behaviour, by replacing the empty set by `{'iban'}`, meaning the second condition will always be
False when `partner_acc_type` is None.
This bug has been found by failing runbot tests (error: 233465)
no-task
Forward-Port-Of: odoo/enterprise#97876This fix updates the report editor styling so placeholder hint text appears correctly after a related editor change. It helps users editing reports in Studio see guidance text as expected, avoiding confusion while customizing documents.
Original PR description
Since odoo/odoo@b4d96ac60b212224e7e9a4de13e76209f42c7eda the html_editor's hint text attribute has changed This commit just adapts the report's iframe css to take that into account. Forward-Port-Of: odoo/enterprise#97651
Fixed a visual issue where global filter suggestion buttons appeared partially styled for dark mode, even though spreadsheets do not currently support dark mode. This keeps the spreadsheet interface consistent and avoids confusing mixed-theme controls for users.
Original PR description
When using the global filter suggestions feature in dark mode, the buttons are halfway in dark mode. We don't support the dark mode in spreadsheet ATM. Task: [5089382](https://www.odoo.com/web#id=5089382&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#97491
Fixed an issue where using the keyboard to navigate search suggestions in the Helpdesk knowledge base could trigger an error. This makes the customer-facing help pages more reliable when users search for support articles.
Original PR description
Steps to Reproduce: 1. Navigate to '/helpdesk/customer-care-1/knowledgebase'. 2. Enter any text in the search bar to trigger suggestions. 3. Press the down arrow key twice. 4. A traceback error occurs, indicating an Odoo Client Error. Before this commit, we had a crash when a user types something in a searchbar in the website helpdesk and do keydowns: "Cannot read properties of undefined (reading 'nextElementSibling')" To fix this, we need to add the 'data-bs-toggle' attribute to let BS find it to set '_element' (which must be the previous sibling of the dropdown-menu). This data attribute was probably not set before because in this case the BS dropdown is not used on a button or a link as documented; we use it as an autocomplete functionnality. task-4752497 Forward-Port-Of: odoo/enterprise#97334 Forward-Port-Of: odoo/enterprise#90228
This fix prevents SAF-T general ledger reporting from failing or returning incorrect data when an accounting entry has no linked partner. It adds the missing partner condition so reports remain reliable for affected accounting records.
Original PR description
### Issue: After #95804 , some of the code was improved but the consideration for partner_id being None was not expected. To fix this issue, we add partner_id on the domain. OPW-5177365 Forward-Port-Of: odoo/enterprise#98240
The expense Stripe top-up wizard now uses the correct partner information when generating a QR code. This resolves an issue that could block users from creating QR codes during the top-up process, helping payments setup proceed smoothly.
Original PR description
Fix a bug preventing from creating a qr code in the topup wizard due to a res.partner.bank being used instead of a res.partner Forward-Port-Of: odoo/enterprise#98255
Payroll demo data now uses default working calendars with the correct local time zones across several country localizations. This helps demo companies show more accurate schedules and payroll examples for each country.
Original PR description
- added a default resource calendar with the correct timezone for ae, tr, bd, lt, ma, mx, pk, ro localizations - corrected the timezone of resource calendars of jo, sa, eg, ke, id localizations task-id: 4862716
When creating an employee from a salary offer linked to an applicant, the applicant's attachments are now copied to the new employee record. This prevents missing hiring documents and keeps the salary configurator flow consistent with the standard applicant "Create Employee" action.
Original PR description
When an employee is created from a salary offer linked to an applicant, the attachments of the applicant were not transferred to the newly created employee record. This caused missing documents compared to the 'Create Employee' action from the applicant form. This PR ensures that all applicant attachments are copied to the employee record during employee creation from the salary configurator. Related task: 5103309.