Friday, July 3, 2026
8 changes · saas-18.4
Enhancements to existing features
This update restores automated checks for French point-of-sale e-reporting and e-invoicing flows that were temporarily removed during a previous merge. It helps ensure the French compliance processes continue to work reliably without changing day-to-day user workflows.
Original PR description
During the merge of l10n_fr_pdp e-reporting and e-invoicing, some tests had to be removed. Task-6296356 Forward-Port-Of: odoo/odoo#273329 Forward-Port-Of: odoo/odoo#271294
Resolved issues and error corrections
Expiry confirmation warnings now show the lot number entered on incoming receipts even before the system has created the final lot record. This prevents confusing messages such as "False, False" and helps warehouse users verify expired or past-removal-date products accurately before validation.
Original PR description
From saas-18.4, the expiration confirmation wizard can be triggered not only from expired lots, but also from stock move lines whose `removal_date` has passed. For incoming receipts, tracked products…
From saas-18.4, the expiration confirmation wizard can be triggered not only from expired lots, but also from stock move lines whose `removal_date` has passed. For incoming receipts, tracked products use the `lot_name` field when the user is entering the lot. The corresponding `lot_id` is only created later once the receipt is validated. As a result, it is possible for the expiration confirmation wizard to be displayed before the lot exists. In this situation, it attempts to display the product and lot information using `lot_id`, which is still empty, causing the message to show "False, False" instead of the actual lot name entered by the user. It should use the move line information as a fallback when no `lot_id` has been created yet so it still displays the correct product and lot name. Steps to reproduce 1. Enable Product Expiry. 2. Create a storable product with: - Tracking: By Lots - Use Expiration Date: enabled - Removal Time > 0 3. Create a receipt for the product. 4. Open Detailed Operations. 5. Enter a new lot number in the Lot/Serial Number field. 6. Ensure the removal date is in the past and validate the receipt. Related Tickets: opw-6303140
Form titles and breadcrumbs now show only the customer's name when opening a customer from an invoice, instead of including the full multiline address. This keeps navigation readable and avoids overly long page titles for records with detailed addresses.
Original PR description
- Create a new Invoice; - Assign a Customer with a multiline address; - Click on the internal link (arrow icon) of the Customer field. Before this commit, the form view title and the breadcrumb would contain not only the customer's name but also their full address. This resulted in an excessively large and unreadable breadcrumb. Now, only the name is retained. This commit applies the same behavior already used in many2one fields: the display name is split by line breaks, and only the first line is kept for the title and breadcrumb. task-id 6329662 Forward-Port-Of: odoo/odoo#272550 Forward-Port-Of: odoo/odoo#272059
This update adjusts an automated test for the web interface so it closes a temporary popover before cleanup. This helps prevent rare false test failures and improves confidence in release stability without changing user-facing behavior.
Original PR description
Add an extra step to close the popover and prevent the `Component is destroyed` error[1], which can happen during hoots cleanup, similar to the issue we see when some dialogs perform RPCs as they are being destroyed. [1]: https://runbot.odoo.com/runbot/build/115972540 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#273396 Forward-Port-Of: odoo/odoo#273085
The 2FA new login email template can now be previewed without triggering an error. This prevents administrators from encountering failures when reviewing or resetting the template, while keeping normal 2FA email behavior intact.
Original PR description
Issue: ---------------------------------------- Clicking "Preview" on the template "2Fa New Login" causes an error. Steps to reproduce: ---------------------------------------- - Search for the mail template "Settings: 2Fa New Login" - Click "Preview" - Error in terminal - From 17.0+ the error shows in UI - From saas-18.3+, a traceback occurs whe resetting the template Cause: ---------------------------------------- There is an assert the method `_get_totp_mail_code()` to ensure it's used during 2FA. But when passing by rendering this template in preview we aren't in sudo and the assert in `_get_totp_mail_code()` raises. Solution: ---------------------------------------- We replace the `assert` by a `if` which will return fake results. opw-6333887 Forward-Port-Of: odoo/odoo#273505 Forward-Port-Of: odoo/odoo#273125
Users now see the specific reason when a profile country change cannot be saved, instead of a generic server error. This makes the issue easier to understand and reduces confusion when profile rules prevent editing the country.
Original PR description
On a user profile, when trying to change the country in circumstances in which it should not be editable, upon saving, an error notification is supposed to tell the user his country is not editable but the message is currently replaced by a generic "Odoo Server Error". This commit makes sure the right message is shown if possible. task-none
This update corrects a display issue in the Intrastat report where bill names were being cut off before hyphens. The fix adjusts a regular expression to allow hyphens in bill names, ensuring complete and accurate reporting of Intrastat transactions. This improves the clarity and usability of the Intrastat report for accounting teams.
Original PR description
**Steps to reproduce:** - Install Accounting - In Accounting settings, activate "Intrastat" - Create a product with Intrastat info - Create a bill: * Product: [the created Intrastat product] *…
**Steps to reproduce:** - Install Accounting - In Accounting settings, activate "Intrastat" - Create a product with Intrastat info - Create a bill: * Product: [the created Intrastat product] * Intrastat Country: [any] * Intrastat Transport Mode: [any] - Confirm the bill - Make sure that the bill name contains a hyphen character (i.e. "-") For example, "BILL/2026-06/0001". Use the "Resequence" action from the bills list view if needed. - Go to "Accounting / Reporting / Audit Reports / Intrastat Report" - Expand the line to display the bill name **Issue:** The bill name is not fully displayed. It is cropped right before the hyphen character (i.e. BILL/2026). **Cause:** A regex is used to retrieve the bill name from the report line name, but it is only allowing "/" character. **Solution:** Just allow "-" character in addition. No other character is allowed to limit the risk of matching something that should not. opw-6299854 Forward-Port-Of: odoo/enterprise#120979
This update resolves an issue where the Sale Renting module wasn't properly connected to the necessary Gantt view components. Previously, it was missing a key dependency, causing problems with how Gantt charts were displayed. This fix ensures the module functions correctly with Gantt views, as it does in newer versions of Odoo.
Original PR description
Module was introduced without a dependency on the `web_gantt` module despite using `gantt` views. Already fixed in 19+ runbot error 237883 Forward-Port-Of: odoo/enterprise#122136