Tuesday, September 8, 2026
1 change · saas-18.3
Resolved issues and error corrections
Paid point-of-sale orders now reopen with their order lines and customer details intact, even when the related product or customer was not preloaded. This helps staff process refunds and invoices correctly without reselecting customers or losing order information.
Original PR description
Steps to reproduce: - More products/customers than the loading limits (or a product made unavailable in PoS after its order was placed) - Sell such a product to such a customer, close the order -…
Steps to reproduce:
- More products/customers than the loading limits (or a product made unavailable in PoS after its order was placed)
- Sell such a product to such a customer, close the order
- Reopen the ticket screen in a fresh session and open the paid order
Issue:
The order shows without its orderlines (silently deleted), so it cannot be refunded correctly. Its customer is blank: a refund loses the partner and invoicing asks to pick a customer again.
Cause:
Since 64ca0e5e924a the ticket screen fetches paid orders through `callRelated("pos.order", "get_ticket_screen_order_data")` instead of `data.read("pos.order", ids)`. `read` is part of
`autoLoadedOrmMethods`, so `missingRecursive()` fetched the products and partners referenced by the orders; `callRelated` loads the payload as-is, and `read_pos_data()` includes neither `product.product` nor
`res.partner` records. An orderline whose product is not in the store is deleted by its `setup()`, and an unknown `partner_id` stays unresolved.
Fix:
Send the orderlines' products and the orders' partners along in `get_ticket_screen_order_data()`: `loadData()` links the records before the orderlines' `setup()` runs, so the frontend keeps them. Server-side only, no API change; 19.0 already loads missing records through `read_pos_orders` + `missingRecursive` (f12407c2cf31), so the forward-port is a no-op.
opw-6524807
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#285912