Monday, March 2, 2026
12 changes · 18.0
New functionality added to Odoo
This update introduces support for the 'tare' button on scales, allowing users to reset the scale's weight to zero. The system now correctly transmits the weight with 'N' and updates the status byte to indicate a valid tare operation, improving the accuracy of weight readings.
Original PR description
This PR adds some support for the tare button on the scale. When pressed the scale reset its weight to 0 and sends the weight with 'N' in it The status byte string also sends back '1' for the 5th 'net weight' byte which can be not treated as an error Enterprise PR: odoo/enterprise#109093 Task [link](https://www.odoo.com/odoo/project.task/5977538) task-5977538
Enhancements to existing features
This update clarifies the documentation for two key error codes, E8502 and E8505, within the Odoo testing tools. Specifically, it provides a clearer explanation of E8505 and includes an illustrative example to enhance understanding for users.
Original PR description
- Update documentation link for E8502. - Clarify why E8505 is in place and give an example.
Resolved issues and error corrections
This update corrects a minor syntax error in the PWA service's CSS selector, which was preventing the application from correctly registering during installation. This resolves a potential issue that could have blocked users from installing the PWA version of Odoo. The fix targets version 18.0 and ensures a smoother PWA installation experience.
Original PR description
Description of the issue/feature this PR addresses:
Fixes a typo in the manifest selector used by the PWA service.
document.querySelector("link[rel=manifest") was missing the closing ], making the selector invalid.
Current behavior before PR:
Calling getManifest() could throw a DOMException due to an invalid CSS selector, preventing manifest retrieval and potentially breaking PWA install flow.
Desired behavior after PR is merged:
getManifest() correctly queries link[rel=manifest], retrieves the manifest URL, and keeps the existing manifest-fetch behavior intact (including test coverage already present in pwa_service.test.js).
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prFeatures or functions removed from Odoo
This update streamlines the operation of certified scales in Point of Sale. The previous system's tare management has been removed, consolidating the tare function into the dedicated scale tare button. This simplifies the user experience and ensures accurate weight measurements for certified transactions.
Original PR description
This PR removes the tare managing from Point Of Sale for the certified scales, leaving its management for the scale tare button. Community PR: odoo/odoo#251237 Task [link](https://www.odoo.com/odoo/project.task/5977538) task-5977538
This update improves the 'Unpaid' filter in the vendor bill section, now including draft bills alongside posted bills. This allows users to see all outstanding bills, regardless of their status, leading to a clearer view of financial obligations. A technical adjustment ensures journal entries are properly filtered, maintaining data accuracy.
Original PR description
In this commit: - Updated the `Unpaid` filter to show draft bills in addition to posted bills. The filter now includes all non-cancelled bills with payment status `Not Paid` or `Partially Paid`. - Backported the logic from 18.0 to ensure journal entries are filtered out by checking that type is not equal to `journal_entry`. task-5900283 Forward-Port-Of: odoo/odoo#247179
This update fixes a technical issue that prevented users from sending follow-up reports by post when they lacked sufficient permissions to modify company settings. The fix allows for necessary changes to be made as an administrator, ensuring reliable report sending functionality. This resolves a potential disruption to the report generation process.
Original PR description
Issue: Before this commit, when sending a follow up report by post, an access error is thrown if the user doesn't have enough access to modify the res.company model Fix: modifying the external_report_layout_id as sudo opw-5482855
This pull request updates the core spreadsheet component within Odoo. It addresses several minor bugs and improves the dynamic pivot functionality, specifically aligning headers and managing overlapping data. These changes ensure a smoother and more reliable spreadsheet experience for users.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/537e8ecaf7 [REL] 18.0.58 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/537e8ecaf7 [REL] 18.0.58 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/0355117fc6 [FIX] Dynamic pivot: header alignment [Task: 5922279](https://www.odoo.com/odoo/2328/tasks/5922279) https://github.com/odoo/o-spreadsheet/commit/04c2db214f [FIX] dynamic_tables: trim overlap on the correct side [Task: 5905900](https://www.odoo.com/odoo/2328/tasks/5905900) 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 fixes an issue where the 'Today' button in the Gantt view wasn't functioning correctly after navigating to yesterday. The fix ensures the Gantt view accurately returns to the current date when the 'Today' button is clicked, improving usability for scheduling and reporting.
Original PR description
**Version:** 18.0 **Steps to reproduce:** - Install Attendance modules. - Navigate to yesterday using the arrow button. - Then click on Today button. **Issue:** The view does not return to the current day when Today button is clicked. **Cause:** The condition to check this scenario fails for this case. **Fix:** Updated the condition to include the this scenario. task-5451384
This update corrects a minor issue in the Documents app where account move actions displayed a generic 'Invoices' title instead of the appropriate type ('Vendor Bills'). This change ensures clarity and consistency when creating account moves from within the Documents app, improving the user experience.
Original PR description
Previously, creating account moves from the Documents app opened the account.move list view with a static `Invoices` title, which was not explicit for all move types. Steps to reproduce: 1. Select suitable PDFs in Document App. 2. Click on `Vendor Bill`. 3. See the name of action (below Breadcrumbs) should be `Vendor Bills` instead of `Invoices` This fix adds and uses a mapping based on move_type to set the correct action name (e.g., Vendor Bills) after record creation. task-5983372
This update corrects a display issue where upsell sales orders created from subscriptions incorrectly showed as 'Quotation' in the preview. The fix ensures that upsell orders now match the naming convention of standard sales orders, improving clarity and accuracy for users. This change was made to align the system's presentation with expected behavior.
Original PR description
## Issue When creating and confirming an Upsell SO from a Subscription, the preview still shows the Sale Order as a "Quotation", which is inaccurate. <img width="1330" height="296" alt="5489970"…
## Issue
When creating and confirming an Upsell SO from a Subscription, the preview still shows the Sale Order as a "Quotation", which is inaccurate.
<img width="1330" height="296" alt="5489970" src="https://github.com/user-attachments/assets/cfff4c7a-fff7-4859-861b-c190dab9097d" />
## Steps to reproduce
1. Install *Subscription* (`sale_subscription`)
2. Create a Subscription S00001
- Any Customer
- Any Recurring Plan
- Any Product
3. Create and confirm the invoice for the subscription S00001
4. On the subscription S, click Upsell and confirm the resulting Sale Order S00002
5. On the Sale Order S00002, click Preview
6. **The title of the Sale Order is "Quotation - S000002". In the sale.order list view, the Sale Order is shown as a Sales order, just like the initial Subscription.**
## Cause
The title shown in the preview is defined here:
https://github.com/odoo/enterprise/blob/a4e2c7c7d3aa50c8b57668c9ca73f523a31a5c41/sale_subscription/views/sale_subscription_portal_templates.xml#L187-L195
The initial subscription falls into the `if` condition, which only shows the name of the SO. The upsell sale order is not considered as a subscription, as explained and showed here:
https://github.com/odoo/enterprise/blob/6bfd057b3d17ce8b266aa6dbd88ffef70ca634aa/sale_subscription/models/sale_order.py#L193-L201
The word *"Quotation"* shown in the preview is the `sale_order.type_name`", computed here:
https://github.com/odoo/enterprise/blob/6bfd057b3d17ce8b266aa6dbd88ffef70ca634aa/sale_subscription/models/sale_order.py#L227-L237
The term "Quotation" was chosen in https://github.com/odoo/enterprise/commit/14e5cff65affa888f33d4008d10a32e6992d3a39.
## Fix
Before this commit, an upsell would always be named *"Quotation"*. With this commit, upsells are now added to the `other_orders` variable in `_compute_type_name` and follow the same logic as other SO:
https://github.com/odoo/odoo/blob/a3bf9264ca25ec11b0c9742e142d2404cac6d261/addons/sale/models/sale_order.py#L797-L803
<img width="1316" height="308" alt="5479900_2" src="https://github.com/user-attachments/assets/7cfeb578-2870-43a6-a48b-ba0898718641" />
## Alternative
An alternative to this fix would be to update the condition used to display the name of the subscription in the preview (cf. first code snippet). This would probably result in removing the `sale_order.is_subscription` from the condition, as it is the part of the condition that upsell SOs do not meet.
opw-5489970This update corrects a bug in the Hungarian tax audit export process. Previously, changes to invoice data were unintentionally saved to the database, despite attempts to roll them back. By ensuring data is flushed to the database before and after savepoints, this fix prevents incorrect data from being committed and maintains data integrity.
Original PR description
At the moment, the Hungarian tax audit export wizard's `action_export` creates a savepoint with `flush=False`. The intention of this savepoint is to roll back the changes to `l10n_hu_edi_invoice_chain` once the savepoint exits. But because the changes to `l10n_hu_edi_invoice_chain` stay in cache, and the cache is not flushed before the savepoint is created nor cleared afterwards, those changes end up being committed to DB. Which is precisely what the savepoint was there to prevent. Solution: we use `flush=True` to make sure the cache is flushed before and cleared after the savepoint. task-none Forward-Port-Of: odoo/odoo#250971
This update resolves an issue where payslip line creation was failing in the stable version of Odoo Enterprise. The team re-introduced a previous fix to ensure stable operation and prevent errors related to missing data fields. This improves the reliability of payroll processing.
Original PR description
Related is not applied correctly in stable after https://github.com/odoo/enterprise/pull/108729, leading to a missing field error, we reintroduce it for stability reasons Forward-Port-Of: odoo/enterprise#109198