Daily updates from Odoo
Wednesday, July 1, 2026
1 change · 18.0
Resolved issues and error corrections
This update prevents situations where a restaurant POS order could look paid on the screen even though the saved order totals did not match the payment. It now uses the actual saved order data to validate payments and correctly alerts the system when a mismatch happens, reducing broken orders and payment inconsistencies.
Original PR description
In POS Restaurant, order lines are synced incrementally as a series of create/update/delete commands rather than as a full snapshot. This could leave the backend with fewer lines than the frontend in two ways: 1. A network interruption during a draft sync silently dropped some create/update commands, or a line was deleted directly from the backend while the frontend still held it with a server ID. 2. Even when all commands arrived, `_process_order` overwrote the server-computed `amount_total` with the client-supplied value, so `action_pos_order_paid` was comparing the client's claimed total against the payment instead of the actual sum of persisted lines. Additionally, `_process_saved_order` was swallowing the `UserError` raised by `action_pos_order_paid` when totals did not match, so the mismatch was only logged and the frontend never knew the order was broken. opw-6263116 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr