Friday, March 6, 2026
11 changes · saas-18.3
New functionality added to Odoo
This update incorporates recent changes to Mexican city listings within the Odoo Enterprise system. This ensures accurate reporting and compliance for Mexican businesses using the l10n_mx_edi_extended module. It maintains the system's data integrity regarding Mexican tax regulations.
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 enhances the accuracy of loan interest rate calculations 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 financial detail and control. This change improves reporting and analysis related to loan accounting.
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
Resolved issues and error corrections
This update corrects a visual issue where avatars in collaborative list items (like 'To Do' notes) were consistently displayed on the first line instead of following the user's focus. The fix ensures avatars remain aligned with the selected list item, improving the user experience when navigating between different windows or sections of a collaborative note.
Original PR description
Since [1] when using collaboration, the position of the avatar for list items is always displayed on the first line - instead of following the user's focus. This commit fixes this by only applying the patch of [1] when inside an embedded component. Steps to reproduce: - Go to a "To do" note - Add a checked list with indented items - Access the same note from another window - Move around the checked list and observe avatar in other window => Avatar remained on first line while moving around list items [1]: https://github.com/odoo/odoo/commit/9863cb25d6dfdba224897f21634bdaaf3eca91a7 task-5930388 Forward-Port-Of: odoo/odoo#248438
Features or functions removed from Odoo
This update removes a redundant and forgotten piece of code from the HTML Editor plugin. The change ensures a cleaner, more efficient codebase and prevents potential issues. It's a routine maintenance task to optimize performance.
Original PR description
The resource named `clean_handlers` should have been removed since [1], but a single occurrence has been forgotten and survived in `SeparatorPlugin`. This commit removes it. [1]: https://github.com/odoo/odoo/commit/3cd28b1972e704c54e5b40226bfbe4e0895481d8 task-5363816
This update adjusts the minimum and maximum amounts for employee mobility budgets each year, aligning with local regulations. These adjustments ensure employees have access to the appropriate budget levels for relocation expenses. This change impacts the HR payroll module.
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 resolves an issue where editing recurring events synced from Outlook triggered unwanted email notifications to attendees. The fix prevents Odoo users from directly editing Outlook-created recurring events, ensuring email notifications are only sent when necessary. This improves user experience and reduces unnecessary communication.
Original PR description
## Issue: Recurring events created from Outlook should not be able to be edited from Odoo, this is because the changes made are going to be sending unwanted emails to the attendees. ## Steps to…
## Issue: Recurring events created from Outlook should not be able to be edited from Odoo, this is because the changes made are going to be sending unwanted emails to the attendees. ## Steps to reproduce: 1. Connect to Outlook and Sync for user A. 2. Create a recurring event from Outlook. 3. Connect into a user B with access to the event and edit all the events from the series. 4. Run the scheduled action to sync user A. 5. Many emails are going to be sent to the attendees from Outlook. ## Solution: With the current implementation, we are going to avoid editing for the users connected to Outlook, however any user with the access to that event in Odoo and that it has not synced with Outlook is going to be able to edit the event. To avoid this, we should check if the event is recurring and it has been created from Outlook, for this we are going to be looking for the event `microsoft_recurrence_master_id` which will be available only for the recurring events created from Outlook. opw-4374503 Forward-Port-Of: odoo/odoo#252079 Forward-Port-Of: odoo/odoo#199663
This pull request updates the core spreadsheet component within Odoo. It addresses several minor bugs and improves the user experience, specifically related to chart panels, dynamic pivots, and button visibility. These updates ensure the spreadsheet functionality remains stable and performs optimally.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/2621ce3536 [REL] 18.3.37 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/2621ce3536 [REL] 18.3.37 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/14cc92db58 [FIX] chart-panel: keep buttons visibles [Task: 5926661](https://www.odoo.com/odoo/2328/tasks/5926661) https://github.com/odoo/o-spreadsheet/commit/c85f58f018 [FIX] Dynamic pivot: header alignment [Task: 5922279](https://www.odoo.com/odoo/2328/tasks/5922279) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update prevents Instagram posts from failing due to delays in media processing. By using a scheduled cron job to retry publication, we ensure posts are successfully published even when the Instagram API takes a little extra time to process media containers. This improves the overall reliability of Instagram posting functionality.
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 an unexpected behavior in the HTML editor within Safari, where pressing the spacebar would incorrectly move the selection. The fix involves a manual merging of text nodes to ensure accurate selection handling, improving the editor's reliability for Safari users. This ensures consistent editing functionality across different browsers.
Original PR description
Problem: In Safari, pressing space sometimes can move the selection unexpectedly. Cause: `node.normalize()` in Safari doesn't work in the same way as in Chrome or Firefox. When the selection is on a…
Problem: In Safari, pressing space sometimes can move the selection unexpectedly. Cause: `node.normalize()` in Safari doesn't work in the same way as in Chrome or Firefox. When the selection is on a text node adjacent to another and we normalize, the two text nodes will be merged but the selection will move to the parent element instead of the correct position inside the new merged text node. Example: before normalize: `<span>"ab""c[]d"</span>` after normalize: `<span>"ab[]cd"</span>` (expected) vs `<span[]>"abcd"</span>` (Safari) Solution: Instead of using `normalize`, we manually merge adjacent text nodes and properly restore the selection by computing the absolute offset before the merge and restoring it to the correct position in the merged text node. Steps to reproduce: - Have two adjacent text nodes inside a `span`. - Put the selection on the second text node in the middle. - Press space. - The selection will move to the end of the text. opw-5956709 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252068 Forward-Port-Of: odoo/odoo#251918
This update corrects a discrepancy in the Spanish reporting module (l10n_es_reports) to align with updated Spanish accounting regulations (PGCE). Specifically, account code 189 has been added to the Abbreviated Balance Sheet report, ensuring accurate financial reporting for Spanish businesses using Odoo Enterprise.
Original PR description
According to last updated of PGCE https://www.boe.es/buscar/act.php?id=BOE-A-2011-18458 <img width="790" height="342" alt="image" src="https://github.com/user-attachments/assets/d5875946-d3b0-480b-bea1-8a7f4202aef7" /> @moduon MT-14017 Forward-Port-Of: odoo/enterprise#108557
This update fixes an issue where Romanian customers without a company registry were incorrectly assigned the default VAT scheme. The change removes a faulty condition, ensuring that customers without VAT receive the appropriate default VAT scheme as intended. This ensures accurate tax calculations for Romanian businesses.
Original PR description
Problem --------- In a recent fix, in the Tax Scheme customer node, the scheme type was recomputed correctly depending on the companyID node. However, during the fix, a condition was wrongly introduced. This will lead to some issue: when a customer has no VAT, he should be given the default VAT. However, due to condition, the customer gets given the Default VAT only when he does not have a vat NOR A COMPANY REGISTRY. Solution --------- Remove the condition no-task --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252475