From e66724272a5379c5d56f8fe48fa48ceac53cf12d Mon Sep 17 00:00:00 2001 From: Adrien Widart <awt@odoo.com> Date: Tue, 7 Sep 2021 08:10:39 +0000 Subject: [PATCH] [FIX] point_of_sale: consider scanned price as manual price In a POS session, when using the scanner, if the seller changes the customer, the prices may become incorrect To reproduce the issue 1. Create a product P: - Sales Price: 38 - Barcode: 2312345000002 - Available in POS: True 2. Start a POS session (with debug Window) 3. Scan 2312345010001 - This is product P with price $10 4. Set a Customer Error: The price is now $38 Because the price has not been set manually, when changing the customer, the pricelist is updated and so does the price. When scanning a barcode that includes a price, the latter should be considered as manually set. OPW-2618934 closes odoo/odoo#76063 Signed-off-by: pimodoo <pimodoo@users.noreply.github.com> --- addons/point_of_sale/static/src/js/models.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 9db4398035b8..06a9480103ac 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -1020,7 +1020,7 @@ exports.PosModel = Backbone.Model.extend({ } if(parsed_code.type === 'price'){ - selectedOrder.add_product(product, {price:parsed_code.value}); + selectedOrder.add_product(product, {price:parsed_code.value, extras:{price_manually_set: true}}); }else if(parsed_code.type === 'weight'){ selectedOrder.add_product(product, {quantity:parsed_code.value, merge:false}); }else if(parsed_code.type === 'discount'){ -- GitLab