Friday, March 6, 2026
16 changes · 19.0
New functionality added to Odoo
This update incorporates the latest list of Mexican cities recognized by the government. This ensures Odoo Enterprise accurately reflects the current geographic data for Mexican businesses, improving reporting and compliance.
Original PR description
The Mexican government has recently introduced new cities. This pr adds those cities here as well. task-5883334 Forward-Port-Of: odoo/enterprise#109358 Forward-Port-Of: odoo/enterprise#107623
Enhancements to existing features
This update optimizes the performance of Odoo's barcode tests by streamlining the setup process. By moving test configurations to a class-level setup, the tests now run faster without needing to be re-initialized for each test case. This small change contributes to faster overall testing and improved development efficiency.
Original PR description
This commit moves the records' creation and the configuration of the `stock_barcode` tests from the `setUp` to the `setUpClass` method, so those are done only once and not at the beginning of every test. The purpose of this change is to slightly speed up the run of tests.
Resolved issues and error corrections
This update resolves an issue where deleting a workspace (folder) linked to a folder setting would trigger a database error. The fix prevents these folders from being deleted during the system's automatic cleanup process, ensuring data integrity and stability. This improves the reliability of the Documents module.
Original PR description
When a workspace(folder) linked to a folder setting is moved to the trash and the ``Base: Auto-vacuum internal data`` cron runs, a traceback will generate. Steps to reproduce the error: - Install…
When a workspace(folder) linked to a folder setting is moved to the trash and the ``Base: Auto-vacuum internal data`` cron runs, a traceback will generate. Steps to reproduce the error: - Install ``documents_account`` module - Go to Documents > Configuration > Files Centralization > Enable Accounting > Select any workspace > Save > - Click on Journals > Create a new > Select any Journal > Create a Workspace A > Save - Go to Documents > Click on Workspace A > Actions > Move to trash - Run the ``Base: Auto-vacuum internal data`` cron Traceback: ```py ForeignKeyViolation: update or delete on table "documents_document" violates foreign key constraint "documents_account_folder_setting_folder_id_fkey" on table "documents_account_folder_setting" ``` solution: override the ``_get_gc_clear_bin_domain`` method to exclude folders linked to folder settings, preventing their deletion during the garbage collection. sentry-7193540869 Forward-Port-Of: odoo/enterprise#109434 Forward-Port-Of: odoo/enterprise#104875
Features or functions removed from Odoo
This update removes a restriction in the EC Sales List report that previously only allowed reporting for businesses. This change now correctly handles companies that are configured as individuals, ensuring more accurate reporting across all company types. This improves the reliability of sales data for business users.
Original PR description
Removing as the prod has a lot of companies that are configured as individuals. no-task
This update enhances the accuracy of loan interest rates within the Enterprise module. Previously, interest rates were displayed with only two decimal places. Now, users can specify interest rates with up to ten decimal places, providing greater flexibility and precision for financial calculations.
Original PR description
Allowing more precision on the interest rate for loans. By default the display uses 2 decimals, but if a user decides to add more precision they can up to 10 decimals. task-5913175 Forward-Port-Of: odoo/enterprise#107163
This update fixes an issue in Odoo's Web Studio where dropdown menus with tags would shrink unexpectedly. Now, the dropdowns always occupy the full width and the caret is correctly aligned, ensuring a consistent and user-friendly experience. The visual appearance of the popover options remains unchanged to maintain tag visibility.
Original PR description
Prevents the SelectMenu from shrinking the dropdown input in studio due to tags on the same flex div BEFORE: - The dropdown width was not fixed. - Dropdown caret not on top of input when mulitple tag force dropdown on new line. NOW: - Web studio dropdown property width always full. - Caret aligned from the bottom ensuring its always on top of the input. Note: The pop over with all the option is still visually odd, but left it as is as it means we can still see the tags when selecting another option. task#5226503
This update removes a confusing zoom feature from the scatter plot chart in Odoo Enterprise. This change simplifies the chart's functionality and aligns with upcoming plans to allow users to manually set axis ranges. The removal improves the chart's usability and prepares for future customization options.
Original PR description
## Task Description This PR aims to remove the zoomable feature for the scatter plot, as it's kind of non-sense to be able to zoom on an axis and not on the other for this type of chart. Moreover, we will soon be able to manually set the min/max of each axis manually (in master). ## Related Task - Task: 5388389
A JavaScript error was causing issues when reloading the shopfloor app. This update disables the automatic focus of the search bar, preventing the error and ensuring the app functions correctly after a reload or duplication of the page. This improves stability and user experience.
Original PR description
Steps to reproduce:
- Open the shopfloor app
- Reload or duplicate the page where the MO process is running
Issue:
A JavaScript error occur during reload:
UncaughtClientError > TypeError
Uncaught Javascript Error > Cannot read properties of null (reading 'blur')
Occured on 101125414-19-0-all.runbot180.odoo.com on 2026-02-16 04:59:28 GMT
TypeError: Cannot read properties of null (reading 'blur')
at https://101125414-19-0-all.runbot180.odoo.com/web/assets
/9d8abcf/web.assets_web.min.js:36280:459
Cause:
This happens when the search bar component attempts to call `blur()` on `inputRef.el` while the element is not yet available or has already been destroyed during the component lifecycle.
Fix:
Disable the search bar autofocus in the shopfloor
`env.config.disableSearchBarAutofocus = true`.
opw-5902675
upg-3894728This update adjusts the minimum and maximum amounts available for employee mobility budgets each year. These limits are automatically indexed to reflect inflation and market changes, ensuring employees have appropriate support for relocation. This change ensures compliance with Belgian tax regulations regarding mobility expenses.
Original PR description
Each year the minimum and maximum amount of mobility budget is indexed, here are the new values. Forward-Port-Of: odoo/enterprise#109641
This update corrects a technical issue where 'Confirm' buttons were incorrectly displayed when payslips existed. The system now accurately checks for the number of payslips and hides the button when there are any, ensuring a cleaner user interface. This improves the user experience by preventing unnecessary actions.
Original PR description
The 'empty_payslips' field is an Integer, but the view was treating it as a pure Boolean. This commit: - Updates 'Confirm' buttons to be invisible when payslips exist (> 0). Task: 5916154
This update prevents Instagram posts from failing due to delays in media processing. By using a scheduled cron job to retry publication, the system now handles temporary processing delays gracefully, ensuring posts are successfully published without impacting server performance.
Original PR description
With the current behavior the Instagram API sometimes requires time to process media containers, the media_id is not yet ready on Instagram side, leading to failed posts. To avoid this, we now use an asynchronous flow: If the media container is not immediately 'FINISHED', we store the container ID in `instagram_post_id` (prefixed with `containerIDs-`), set the state to 'posting', and trigger the scheduled cron to retry in 1 minute. The `_cron_publish_scheduled` method has been updated to detect these pending posts and resume the publication attempt so workers remain free while Instagram processes the media. opw-5081325 Co-authored-by: @ushyme Forward-Port-Of: odoo/enterprise#100313
This update resolves a problem that occurred when the demo version of Odoo was used. Specifically, certain buttons were being triggered unnecessarily, causing unexpected behavior. This change ensures the demo mode functions correctly and reliably, improving the user experience for testing and evaluation.
Original PR description
community https://github.com/odoo/enterprise/pull/97209
This update corrects a visual imbalance in the layout of Knowledge articles within the Odoo editor. The change ensures consistent spacing on both sides of the content, resulting in a more professional and balanced appearance. This improves the overall user experience for creating and viewing Knowledge articles.
Original PR description
The Knowledge article layout shows a visual imbalance due to asymmetric horizontal spacing in the editor content. This change makes the horizontal spacing consistent on both sides, improving the overall visual balance while maintaining proper spacing and layout consistency. Task-5222643
This update fixes a display issue where part-time flexible employees were showing incorrect total hours (based on full-time requirements) in their attendance schedules. The change ensures that the system now accurately reflects the employee's defined weekly hours (`hours_per_week`) when generating attendance intervals, improving accuracy and usability for flexible scheduling.
Original PR description
### Issue: When having a part-time flexible employee (`hours_per_week` < `full_time_required_hours`), some values still show `full_time_required_hours` as the total hours they should work in a week.…
### Issue:
When having a part-time flexible employee (`hours_per_week` < `full_time_required_hours`), some values still show `full_time_required_hours` as the total hours they should work in a week.
Steps to reproduce:
- Have an employee with a part-time flexible schedule
- `full_time_required_hours`: 40
- `hours_per_week`: 24
- `hours_per_day`: 8
- Go in Attendances
- Hover the employee
- It shows ...h/40h but it should show ...h/24h
Cause:
In `_attendance_intervals_batch()` we build theoretical attendances for flexible employees. Starting at the start of the week, we add an attendance of `hours_per_day` each day until we reached `full_time_required_hours`.
In the case above, we would return five attendances of 8h, ignoring `hours_per_week`.
Then `_get_attendance_intervals_days_data()` counts the hours to display them in the Gantt view.
Solution:
In `_attendance_intervals_batch()` we use `hours_per_week` instead of `full_time_required_hours` as the weekly limit of hours per week.
A lot of tests needed to be adapted, as they were specifying `full_time_required_hours` but not `hours_per_week` when creating calendars.
opw-5973117This update removes a display field ('Visible Internally Only') from the customer rating form in the Helpdesk module. This field was no longer needed as customer ratings are no longer visible on the website. This change improves the user experience and simplifies the Helpdesk interface.
Original PR description
**Steps to reproduce:** - Open a Helpdesk ticket with a customer rating. - View the rating form. - Observe the field ‘Visible Internally Only’ still showing. **Issue:** - The field is displayed even though ratings are no longer shown on the website. **Reason:** - The field is now irrelevant but still present in the view. **Fix:** - Invisible the ‘Visible Internally Only’ field from the customer rating form in the affected version. **Task id - 5359052** Forward-Port-Of: odoo/enterprise#109287 Forward-Port-Of: odoo/enterprise#100686
This update automatically removes related articles from the Knowledge app when an audit report is deleted. This prevents workspaces from becoming cluttered and ensures users only see relevant information. It improves the overall user experience and maintains a cleaner, more organized Knowledge environment.
Original PR description
When a user deletes an audit report, the articles linked to that report currently remain visible in the Knowledge app. This can lead to cluttered workspaces and confusion about which articles are still relevant. To keep workspaces clean, these linked articles will now be automatically moved to the trash when the audit report is deleted. Task-5902448