Thursday, October 30, 2025
10 changes · 19.0
Enhancements to existing features
Barcode users can now open the return wizard directly from the barcode interface and choose between returning items, returning all products, or returning products for exchange. This makes warehouse return handling more flexible and consistent with the standard stock picking workflow.
Original PR description
Currently, when a user wants to return a product using the barcode interface, The user can either return a single product or return all products. However, there is no option to exchange products directly from the barcode interface. After this commit, the user has access to all options - `Return` - `Return All Products` - `Return for Exchange` through the return wizard, similar to the one available on the stock picking form view. When the user clicks the `Return Products` button in the barcode interface, the return wizard will open directly in the barcode view. This improvement provides a smoother and more consistent user experience within the barcode interface, offering users more flexibility and options. Task - 5144914
The Indian tax reporting workflow now matches delayed vendor bills more precisely by using the invoice reference together with the IRN when available. This reduces duplicate or incorrect reconciliation matches and helps improve the reliability of GSTR2B bill processing.
Original PR description
- Adjusted domain construction in GSTR2B late bill matching logic. - Split condition to handle the presence or absence of IRN separately: - If IRN exists, match on both `ref` and `l10n_in_irn_number`. - If IRN is missing, match only on `ref`. - Improves the accuracy of bill reconciliation and avoids redundant matches. Forward-Port-Of: odoo/enterprise#97469
Marketing users can now show or hide parts of an email based on recipient criteria, making campaigns more personalized without creating separate mailings. The editor also adds visual cues that help users understand these rules while designing, without affecting the final sent email.
Original PR description
This commit adds an option in the new Mail Builder to enable users to only show elements based on a domain on the recipients. This option uses the DomainSelectorDialog so that the user has an easier…
This commit adds an option in the new Mail Builder to enable users to only show elements based on a domain on the recipients. This option uses the DomainSelectorDialog so that the user has an easier time working on it. The resModel is the model chosen by the user for the whole mailing limiting the choice of fields to a limited list. The option populates a data attribute: `data-filter-domain` that is supposed to contain a valid domain notation. When processing the htmlField to be inlined, we process each elements that contains the data attribute and set the `t-if` attribute accordingly. If the domain stored isn't valid, the attribute is set to `false`. We prefer to not show elements that could be reserved to a subset of a recipients. If the domain is valid, then the attribute is set to `object.filtered_domain([data-filter-domain])`. This enables us to easily create QWeb conditions on the mailing that will be interpreted by the render mixin on each recipients. The resulting processed body is then returned to be fed to the rest of the sending process. task-4599334 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Payroll CSV payment reports now include payment lines for partners linked to company contribution rules. This helps ensure employer-side contributions are visible in payment files, reducing missed or incomplete contribution payments.
Original PR description
- For CSV payment reports, add lines for partners defined as company contributions in salary rule configurations. - Ensures that company-side contributions are properly reflected in generated payment reports. Task: 5114655
Sample data in web views is now shown with a subtle opacity blur instead of a ribbon label. This makes demo or placeholder information less distracting while still helping users recognize that the data is not real.
Original PR description
This commit removes the sample data ribbon introduced in #208864 and adds an opacity blur over sample data. task-5207352
The point of sale integration with Glory cash machines now includes tools to reset the machine, download logs, and automatically verify inventory when issues are detected. It also fixes access, timeout, disconnect-message, and payment-cancellation problems, helping stores meet certification requirements and reduce checkout disruptions.
Original PR description
This commit contains several changes and bug fixes for the Glory cash machine implementation, needed to meet the certification criteria. - Added button to reset cash machine - Added button to download logs - Added verification check (a verification is automatically triggered if the machine reports an error with the inventory) - Fixed cashier role having manager access to cash machine - Fixed several issues relating to session timeouts - Fixed no message appearing when cash machine disconnects - Fixed traceback when cancelling a payment task-5064871 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Inventory users can now reset cached links between printers and reports directly from the Inventory app. This makes it easier to resolve printer-report connection issues without navigating to technical IoT settings.
Original PR description
In order to simplify resetting the link between printers and reports in cache, we added the "Reset Linked Printers" button to the Inventory app. Forward-Port-Of: odoo/enterprise#98364 Forward-Port-Of: odoo/enterprise#98028
Employee resume sections now use each contract's actual start and end dates instead of only relying on version start dates. This gives HR teams a more accurate timeline when there are gaps between contracts or later resume versions.
Original PR description
Previously, the resume section showed dates depending on the starting dates of version, neglecting the cases when a contract might end and the next version starting later in time. This PR fixes that by taking into account the contract dates of each version. Task-5102961 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The IoT Box can now receive and confirm restart requests through HTTP, WebRTC, and WebSocket connections. This makes remote maintenance more consistent and reliable, reducing the need for manual intervention when restarting Odoo on IoT devices.
Original PR description
In order to allow using the `iot_http` service to restart odoo, we updated the action route to accept messages targeting the IoT Box itself, the WebRTC to accept restart actions and the WebSocket to confirm that the restart action was received. odoo/enterprise#97525 Task: 5169648
The IoT Box restart button now uses the shared IoT connection service, making remote restarts more consistent and easier to manage. This helps reduce friction for teams maintaining IoT devices without changing the visible workflow for users.
Original PR description
In order to simplify restarting IoT Boxes remotely, we adapted the restart button to use the `iot_http` service. odoo/odoo#232133 Task: 5169648