Daily updates from Odoo
Monday, July 28, 2025
9 changes · saas-18.4
Enhancements to existing features
The system now detects additional error states reported by Mettler Toledo scales before sending weight data to the Point of Sale. This helps prevent cashiers from receiving incorrect scale readings when the device is malfunctioning or in an error condition.
Original PR description
This PR adds the detection of different error states of the Mettler Toledo 8217 protocol. When the scale is in an error state we need to make sure that the PoS user doesn't get any wrong scale data sent to the PoS. Related PR: https://github.com/odoo/enterprise/pull/89602 Forward-Port-Of: odoo/odoo#220420 Forward-Port-Of: odoo/odoo#217674
This update adds automated checks to help ensure that devices stay properly synchronized in Point of Sale and Restaurant workflows. It reduces the risk of order or session information getting out of sync across tills, tablets, or restaurant devices, while noting that more synchronization coverage may be added later.
Original PR description
This commit add somes tests to ensure that the devices synchronisation works correctly in the Point of Sale and the Restaurant modules. This commit does not cover the entire synchronization code, so testing will need to be improved over time. Forward-Port-Of: odoo/odoo#219957
Customers using POS self-order are now taken directly to the next step after a successful payment instead of seeing an extra confirmation screen. This streamlines the checkout experience and reduces unnecessary waiting or taps.
Original PR description
Before: = - A payment confirmation screen used to appear after a successful transaction. After: = - The flow now skips the payment confirmation screen and moves directly to the next Screen. Task: 4836123 Forward-Port-Of: odoo/odoo#213481
Italian e-invoicing can now register an additional identifier, such as a VAT number, so incoming vendor bills are more likely to match the right registered user. This reduces failed invoice matching when suppliers provide only VAT details, improving reliability for Italian accounting workflows.
Original PR description
This improvement addresses an issue in the Italian e-invoicing (l10n_it_edi) and IAP registration logic where incoming vendor bills with only a VAT number failed to match the correct registered EDI user. Changes introduced: - Added `edi_identification_secondary` (e.g. VAT number) to support fallback user matching. - Updated the `/create_user` endpoint to accept and store the secondary identifier. - Modified `create_user` logic to send both primary and secondary IDs from Odoo. - Prepared the base for matching incoming invoices against both identifiers. See also: odoo/iap-apps#1056 Task [link](https://www.odoo.com/odoo/project/967/tasks/4619718) task-4619718 Forward-Port-Of: odoo/odoo#219654 Forward-Port-Of: odoo/odoo#207753
The IoT Box homepage now loads only the information needed for the current view, reducing unnecessary background refreshes. More detailed diagnostic data is fetched only when debug mode is enabled, helping avoid wasted resources from forgotten browser tabs.
Original PR description
On the homepage, we fetch data from the IoT Box every ten seconds, but we always fetch all data, even if we are not using "advanced" mode. The issue is if the homepage stays opened in a forgotten tab, we keep fetching undefinitely, taking resources uselessly. We moved the "advanced mode" to "debug mode" as in Odoo (`?debug=`), and now only fetch displayed data.
This update combines several usability and reliability improvements across Odoo, including better website building blocks, more accurate purchase project costing, corrected Indian time-off access, improved FacturX invoice validation, and better handling of POS discount refunds. It also adds a simple server version endpoint that can help integrations identify the running Odoo version.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users sending invoices to Spanish partners can now choose Factura-e directly from the Send & Print wizard instead of relying only on partner configuration. This makes electronic invoice generation easier to control at send time and helps prevent configuration mistakes.
Original PR description
Currently, `Factura-e` generation is controlled only by an partner E-invoice format setting, making it difficult for users to enable or disable when sending invoices. This PR adds a dedicated Factura-e checkbox on the `Send & Print` wizard for partners in Spain if the `l10n_es_edi_facturae` module is installed. The checkbox defaults to the partner’s current `E-invoice format` but can be toggled by the user. When enabled, it triggers Factura-e file generation and updates the partner’s E-invoice format to ensure consistency. This approach simplifies the user flow and reduces configuration errors. > Task-4831835 Forward-Port-Of: odoo/odoo#214295
The expiration notice now better reflects the timing between the next invoice date and when the database access may expire. This helps customers understand the payment deadline earlier and encourages timely renewal before access is affected.
Original PR description
Previously, the database expiration date was set to the same date as the expiration field, which is now defined as 15 days after the next invoice date. Issue: Users tend to wait until the last minute to pay. This improvement aims to better handle expiration timing and encourage timely payments. TaskID: 4384877 Forward-Port-Of: odoo/enterprise#90931 Forward-Port-Of: odoo/enterprise#90664
The certified scale integration now aligns its checksum expectations with updated Toledo scale error checks. This helps keep point-of-sale scale certification behavior consistent after related reliability improvements.
Original PR description
This PR adapts the scale checksum to the PR adding the error checks to Toledo scales: https://github.com/odoo/odoo/pull/217674 Forward-Port-Of: odoo/enterprise#90954 Forward-Port-Of: odoo/enterprise#89602