Thursday, February 27, 2025
5 changes · 18.0
Enhancements to existing features
Point of Sale can now support payment methods that do not automatically send a payment to the terminal as soon as a payment line is added. This helps with scenarios such as splitting a purchase across multiple cards or adjusting the amount before sending it to the terminal, while keeping the existing fast payment behavior as the default.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/79432 As part of adding the Tyro payment method, new functionality was required in order to not automatically send payments to the terminal upon adding a payment line. This gives a chance to input a different payment amount, for example when splitting the payment between multiple cards. By default the behaviour is the same as before, but if a payment method overrides `fast_payments` to false, then payments will not be sent automatically (the same behaviour as pre v18). task-4086116 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update streamlines the point-of-sale scale weighing flow and related IoT scale driver code to support EU Measuring Instruments Directive compliance. By removing unused code and narrowing the certified code area, it makes scale-related POS operations easier to verify and maintain.
Original PR description
In order to comply with the EU Measuring Instruments Directive, the code for weighing products must be verified with a checksum to ensure it has not been modified. This PR refactors both the IoT driver and the POS code, with the goal of removing dead code and making the amount of code that needs to be certified as small as possible. Enterprise PR: https://github.com/odoo/enterprise/pull/75269 task-3929839 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Inventory transfers involving many serial-numbered items are now validated much faster. The change reduces repeated accounting checks during stock valuation, cutting wait times significantly for warehouse and purchasing workflows.
Original PR description
### Description: Validating a picking with serial numbers can be slow. This is caused by the method `_account_entry_move` which was made to be called one by one on each valuation layer. The issue is each time this method is called, it needs to check if the move is in or out, which is not optimal since each valuation layer can have the same move. ### Fix: We can't change the way `_account_entry_move` works in stable but we can batch `_is_in` and `_is_out` outside the method. This change will reduce the time taken by each `_account_entry_move` and remove unnecessary calls. ### Benchmark (in 18): | # of moves | Before | After | |---------------------|----------|---------| | 8 (with 1000 each) | 13:57 | 3:46 | | 3 (with 1489 each) | 8min | 2:53 | | 1 (with 1489) | 2:47 | 36s | ### Reference: opw-4550348
The website generator now gives the website scraper more control over style customizations instead of applying fixed restrictions. This should improve how generated websites preserve or adapt visual styling from source sites.
Original PR description
Remove the restrictions of the make_scss_customizations from the website generator and instead let the website scraper have full control.
This update helps POS installations in EU countries comply with weighing-scale certification rules by verifying the relevant scale software with a checksum. It also adds a POS status indicator and an auto-fix option for rounding settings when certification requirements are not met.
Original PR description
In order to comply with the EU Measuring Instruments Directive, the code for weighing products must be verified with a checksum to ensure it has not been modified. This commit adds an endpoint for retrieving the checksum of the relevant scale code, as well as refactoring of the code to make it as simpler and to reduce the amount of code that needs to be certified. Community PR: https://github.com/odoo/odoo/pull/189846 task-3929839