Friday, May 29, 2026
15 changes · saas-19.1
New functionality added to Odoo
This update adds test data to the Odoo configuration settings, specifically for the 'pos_iot_six' payment method. This ensures that the system can be thoroughly tested with this new payment option, improving the quality and reliability of future updates. It's part of a larger effort to expand payment method support within Odoo Enterprise.
Original PR description
Adding pos iot six payment method to the test data of the pos_config. Related to Odoo pr https://github.com/odoo/odoo/pull/262184
Resolved issues and error corrections
This update corrects a technical issue impacting US reporting by properly configuring the chart of accounts (CoA) format. Previously, a duplicated file caused incorrect settings, now the configuration is correctly applied, ensuring accurate US financial reports. This resolves a longstanding problem with US reporting accuracy.
Original PR description
In 19.1, when `account_reports_negative_format` was introduced, the PR created a new `template_us` file for `l10n_us_reports` to set the new field, not realizing that `account_chart_template` already existed. Since both files were to the same template and had the exact same method name, one shadowed the other which means all this time the `negative_format` was not properly set for US CoA. Since most other countries keep their CoA in a `template_TEMPLATE_NAME.py` file, move the deferred accounts to `template_us` and remove the `account_chart_template` file. task-none
This update fixes an issue where the sidebar menu wouldn't scroll properly when it contained a large number of items. The fix adds scrolling functionality to the sidebar, ensuring users can access all menu options regardless of the number of items displayed. This improves usability for users navigating the website with extensive menus.
Original PR description
Scenario: - set menu bar as sidebar - adds lot of menu item (or decrease page height) - try to scroll to bottom menu item that are not shown Result: you can't see the bottom of the menu Cause: there is no overflow auto on sidebar elements so the default visible is used without possible scroll. This issue doesn't happen for hamburger menu (hamburger template or on mobile) because it wraps the menu in an .offcanvas-body element that has in bootstrap overflow-y: auto Fix: add vertical overflow to o_header_sidebar menu. opw-5486934 --- __pr note__: I'm not sure if there is a reason this was not done yet or if this has just not been reported. The behavior happen from 16.0 to now. Since the query is from 19.0 to lower risk (and since it's not really broken, just not working with a big number of menu) I've targeted 19.0 but I could go lower if wanted. Forward-Port-Of: odoo/odoo#252047
This update resolves an issue where the text color button in the HTML editor wasn't correctly reflecting the selected color from the color picker. The fix ensures the button's active state is consistently synchronized with the color picker, providing a smoother and more reliable user experience when editing text formatting.
Original PR description
Problem: The state of the text color button is not synchronized with the color picker state. When the picker is open, the button is sometimes not shown as active. Cause: The `.active` class depends on `colorPicker.isOpen`, which does not trigger a rerender when updated. As a result, Owl does not refresh the button state when the picker opens or closes. Solution: Use a component state for the picker visibility and update it through `onOpen` and `onClose` callbacks so Owl rerenders and properly adds or removes the `active` class. Steps to reproduce: - Select some text and expand the toolbar. - Click the text color button to open the color picker. - Observe that the text color button is not active. - Click on the "Custom" tab in the color picker. - Observe that the text color button becomes active. task-6205286 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263754
This update resolves a technical problem related to how Odoo handles PDF compression. The issue was caused by missing code and has now been reintroduced to ensure proper functionality. This fix improves the reliability of PDF processing within Odoo.
Original PR description
This [FW PR] was missing a few diffs, including the compatibility layer with pypdf. This commit re-introduces those diffs. FW PR: https://github.com/odoo/odoo/pull/266192 runbot-937761
This update resolves a technical issue related to compression within the Odoo tools. The previous fix was incomplete, and this commit reintroduces the necessary changes to ensure proper functionality. This ensures the tools continue to operate correctly.
Original PR description
This [FW PR] was missing a few diffs, including the compatibility layer with pypdf. This commit re-introduces those diffs. FW PR: https://github.com/odoo/odoo/pull/266192 runbot-937761
This update fixes a potential issue where users could incorrectly select inactive Intrastat codes when configuring products. The system now displays a warning message to the user if they attempt to select an invalid code, ensuring data accuracy and preventing errors in reporting. This improves data integrity and reduces the risk of incorrect reporting.
Original PR description
Problem: When choosing an intrastat code on a product, all the codes are shown, even the ones that are expired or not yet active. Users can select an intrastat code that is not active. Steps to reproduce: 1. Check the intrastat code list and find a code with a start date in the future or an expiry date in the past 2. Note the code description 3. Open a product form view and try to set/change the intrastat code 4. Search for the code description noted in step 2 5. Note that the code is proposed while it should not be proposed Solution: When an intrastat code is selected, if the code is not active, a warning message is shown to the user. opw-6217915 Forward-Port-Of: odoo/enterprise#118569 Forward-Port-Of: odoo/enterprise#117884
This update fixes a recent change that removed the ability to use checklists within email messages. The checklist functionality has been re-enabled, ensuring users can now format their emails with bulleted lists, improving the clarity and flexibility of email communications. This ensures consistent formatting across all outgoing emails.
Original PR description
Purpose: - The checklist command was removed from the activity html field. This change re-enables the checklist command for the activity html field. - When sending mail, convert checklist into a normal list. task-6144663 Forward-Port-Of: odoo/odoo#263287
A recent update incorrectly added unnecessary attributes to website select elements, causing performance issues and potential database bloat. This fix corrects the code to ensure only the intended select elements receive these attributes, improving website efficiency and data integrity.
Original PR description
Commit [1] introduced an option to link state and country, which uses the data-link-state-to-country attribute. However, because parentheses were missed, it added the mentioned attribute to all select elements, which polluted the dom and the database. [1]: https://github.com/odoo/odoo/commit/7a43c49441b5a50168c3919fb8e8b658686363b5
This update fixes an issue where the Timesheet Assistant incorrectly suggested declined calendar events. The change now includes events where the user is an attendee, regardless of their RSVP status, providing a more complete and accurate list of suggested events for timesheet creation. This enhances the user experience and ensures relevant calendar events are considered.
Original PR description
### Before this commit: The Timesheet Assistant would incorrectly suggest calendar events that the user had explicitly declined. Furthermore, the domain only retrieved events where the user was the organizer (`user_id`), completely missing events where the user was only an attendee. ### After this commit: The `get_calendar_events` getter in `_get_assistant_events_getters` is updated to: 1. Include events where the current user is an attendee by adding a condition on `partner_ids`. 2. Explicitly exclude events where the user's `calendar.attendee` status is 'declined'. Task-6222659
This update resolves a bug preventing users from correctly applying custom grouping options within the Analytic Report feature. The fix ensures that custom groupBys are properly included in the search items, allowing users to select and utilize them as intended. This improves the usability of the analytic reporting functionality.
Original PR description
Steps to reproduce: - Install `Accounting` module - Search `Analytic Report` > Click on `Total` > `Custom Group` - Select `Journal Item` > Now again close and select `Journal Item` Traceback: ```js…
Steps to reproduce:
- Install `Accounting` module
- Search `Analytic Report` > Click on `Total` > `Custom Group`
- Select `Journal Item` > Now again close and select `Journal Item`
Traceback:
```js
TypeError: Cannot destructure property 'fieldName' of 'searchItems.find(...)' as it is undefined.
at AnalyticPivotRenderer.onGroupBySelected (http://localhost:8069/web/assets/3b7bf10/web.assets_backend_lazy_dark.min.js:434:7)
at Object.onSelected (eval at compile (http://localhost:8069/web/assets/b0799bf/web.assets_web.min.js:1376:421), <anonymous>:78:62)
at DropdownItem.onClick (http://localhost:8069/web/assets/b0799bf/web.assets_web.min.js:2373:24)
```
Cause:
Custom groupBys were not being added to the search items list in `onGroupBySelected`, causing a lookup failure when selecting a custom groupBy from the dropdown.
Solution:
Added custom groupBys to the search items list so they can be found and applied correctly.
opw-6227164
Forward-Port-Of: odoo/odoo#265810This update fixes a bug that prevented users from opening project records in a separate tab. Previously, records opened directly in the current tab. This change improves user workflow and efficiency by allowing users to easily manage multiple records simultaneously.
Original PR description
Steps to reproduce ================== - Install project,board - Go to project - Open any project - Click on the cog menu - Click on Dashboard > Add to my dashboard - Confirm - Open the dashboard app > My dashboard - ctrl+click on a record => The record is opened in the current tab Cause of the issue ================== The params newWindow passed to the selectRecord props was ignored Forward-Port-Of: odoo/odoo#266729
This update resolves a technical issue preventing accurate calculation of the 13th month salary in the Belgian localization. The fix ensures the forced variable salary is correctly applied during payslip computation, addressing a type error that was previously causing incorrect results.
Original PR description
Steps to reproduce: * Create a new payslip in belgian localization * Set pay structure type to 13th month * Set the input value for the forced variable salary * Compute the payslip sheet Issue: * Despite the change of benefits to properties, the avg_variable_revenues was still being set as one of the benefit lines instead of ref_property value which was causing an type_error traceback Solution: A simple approach is to be followed to retrieve the value fo the forced variable salary from the actual property being set by the user at the payslip form view and will be accounted for in the payslip computation. Task: 6241608
This update fixes an issue where selecting the start date first would incorrectly set both the start and end dates for deferred accounting periods. The change ensures that the period dates are correctly displayed, regardless of the order in which the start and end dates are selected, resolving a potential confusion for users.
Original PR description
The issue is when selecting deferred dates, if the start date is selected first, the system will set both the start and end dates. However, when selecting the end date first, the period appears backwards example ( 2026 - 2025 ). task: 6140024 Forward-Port-Of: odoo/enterprise#114866
This update addresses a problem where the bank statement KPI wasn't being updated correctly when no statements were processed. Now, any KPI that doesn't receive data will have its value set to zero, ensuring accurate reporting and preventing potential issues with the account module's performance.
Original PR description
The aim of this commit is to update the integer kpis when those aren't received. ### Context: The account module report the bank statement in draft to process. When all bank statement have been processed, there isn't any and thus, the module send back an empty list. ### Before this commit: The bank statement kpi wasn't updated as we didn't received anything about that specific kpi. ### After this commit: Any kpi that wouldn't be reported would get it's column emptied. opw-6170973 Forward-Port-Of: odoo/enterprise#115695