Daily updates from Odoo
Saturday, January 3, 2026
3 changes · master
Resolved issues and error corrections
This update fixes an issue where the displayed price in the Point of Sale system was incorrectly showing the total price instead of the unit price. The fix ensures that the correct unit price is shown when manually adjusting prices using the numpad, improving accuracy for sales transactions. This change was made to align with the expected user experience.
Original PR description
Steps to reproduce ------------------ 1. Insall `l10n_fr_pos_cert` and set the company to the french one 2. Open PoS, and select a product, it will have a price say X 3. Using the numpad, change the price of that product to Y Observe that the line now says "Old price unit: Y * Qty / Unit", instead of it being "X / Unit". Why it's happening: ------------------- We were displaying the `currencyDisplayPrice`, which is the total amount to be paid, instead. The fix ------- We add a getter on the product model `displayPriceUnit`, it shows the original product unit price. We therefore introduce a new getter that compute the unit price using the original lst price. opw-5365735 opw-5378158 Forward-Port-Of: odoo/odoo#241437 Forward-Port-Of: odoo/odoo#238135
This update fixes a crash that occurred when users switched tabs while a receipt was being printed in Point of Sale. The change ensures the receipt component is reliably loaded and accessible, even during tab transitions, preventing printing failures. This improves the overall reliability of the PoS system.
Original PR description
Steps to reproduce: ------------------- 1. Enable "Automatic Receipt Printing" so the receipt is auto printed after paying an order 2. From PoS, make an order, select it to invoice, and click the pay…
Steps to reproduce: ------------------- 1. Enable "Automatic Receipt Printing" so the receipt is auto printed after paying an order 2. From PoS, make an order, select it to invoice, and click the pay button. 3. While loading (normally a few seconds to finish the invoice), switch the tab and stay there for few seconds (the time the invoicing has finsihed). 4. Come back to the initial page, a traceback will appear and the ticket is not printed. Why it happens: --------------- The receipt is printed when the parent of the `OrderReceipt`, i.e. `RenderContainer` is rendered. In this case, we assume that `OrderReceipt` has already had the time to be mounted and thus it's in the DOM, so in this case, `this.ref?.el?.firstElementChild` has the order receipt. However, when switching the tab, and since OWL uses `requestAnimationFrame` as a scheduler, and since the browser will throttle `requestAnimationFrame` when the tab is not active, we will not have access to the order receipt component in its parent's `onRendered`! The fix ------- Instead of seeing the parent renders as a sign that its child has been successfully put in the DOM, we now renders the child component (OrderReceipt) in its own container and thus we can hook into its `onMounted` lifecycle where we know for sure that this component has been successfully mounted and attached to the DOM, and can be accessed through `this.ref?.el?.firstElementChild`. opw-5124585 Forward-Port-Of: odoo/odoo#241781 Forward-Port-Of: odoo/odoo#239008
This update corrects a previous development step where QR and payment details were missing from invoices. The team has added these crucial elements to ensure accurate reporting and compliance with local regulations. This resolves issues OPW-5385872 and OPW-5414922.
Original PR description
During the commit 6479d17, a new view was added but unfortunately, the details of the previous one was not considered. To fix this issue, we should extend the values of the main one. OPW-5385872 OPW-5414922 Forward-Port-Of: odoo/enterprise#103039