Thursday, August 21, 2025
4 changes · saas-18.4
Enhancements to existing features
Saudi Arabia POS receipts now support the required ZATCA Phase 2 QR code when applicable. If a QR code cannot be verified or the document has not been submitted, the receipt or invoice is clearly marked as not a legal document to help avoid compliance misunderstandings.
Original PR description
Adds phase 2 QR code on POS receipts and shows it as a non-legal document if we are unable to verify the QR code on invoices and POS receipts. This change is done to accommodate for ZATCA compliance in Saudi Arabia (ZATCA) task-4646326 Description of the issue/feature this PR addresses: Adds phase 2 ZATCA QR code and hides unverified QR codes Current behavior before PR: Always shows Phase 1 ZATCA QR Code Desired behaviour after PR is merged: Showing ZATCA phase 2 QR code when required and hiding un-submitted QR Codes, adds text of "Not a Legal Document" to unsubmitted docs --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#220293 Forward-Port-Of: odoo/odoo#208510
Stock pickings with many serial-numbered items are now processed more efficiently during reservation and validation. This reduces timeouts and significantly improves performance for large warehouse operations.
Original PR description
### Description: When using serial numbers, pickings with many move lines can cause performance issues during validation. This is due to `_update_reserved_quantity` updating quantities and creating move lines individually. By moving the creation outside `_update_reserved_quantity`, we can batch create move lines per move, significantly improving performances. ### Benchmark: | N° of mls | Before | After | |-----------|---------|-------| | 500 | 1:37 | 1:34 | | 15000 | Timeout | 3:30 | | 30000 | Timeout | 4:29 | ### Reference: opw-4889581 Forward-Port-Of: odoo/odoo#223420 Forward-Port-Of: odoo/odoo#219471
The Point of Sale screen now displays the standard Odoo favicon in the browser tab. This makes the POS interface easier to recognize and keeps it visually consistent with the rest of Odoo.
Original PR description
Before this commit: ==================== The POS UI did not display a favicon in the browser tab. After this commit: ================== The standard Odoo Point of Sale favicon is now displayed in the browser tab for the POS UI, consistent with the backend interface. Task-4978320 Forward-Port-Of: odoo/odoo#223528
This update adds automated checks for the Point of Sale loyalty features, including loyalty cards, rewards, order handling, payment, and related screens. These tests help reduce the risk of regressions in gift cards, loyalty rewards, and customer-facing checkout flows during future updates.
Original PR description
In this commit: ======================= - Added HOOT tests for the `pos_loyalty` module. - Included tests for main models like `loyalty.card` and patched models: `pos.order` and `pos.order.line`. - Added tests for popups and screens related to loyalty features. task - 4945628 Forward-Port-Of: odoo/odoo#221182