From 8d8478b49ac7c9a9f9b59a963d46e2cfc74fb9b9 Mon Sep 17 00:00:00 2001 From: Renilkumar Kajavadra Date: Mon, 8 May 2023 08:48:25 +0000 Subject: [PATCH] [FIX] point_of_sale: fix expected singleton in pos sales details If applied, this commit will solve the expected singleton error when the product has multiple taxes, and the user tries to print sales details in point of sale. To reproduce this error, follow the steps: - Open point of sale. - Products > Open any product > Add multiple customer taxes - Open Session > make the order for that product with discount > Validate > Close Session - Reporting > Sales details > Print sentry - 4148645094 closes odoo/odoo#122182 X-original-commit: 2d58de7adcae9b035607ff6a2ca59fc46ce32506 Signed-off-by: Joseph Caburnay (jcb) Signed-off-by: Renilkumar Kajavadra (reka) --- addons/point_of_sale/models/pos_session.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py index ec3a378073d..690e97749eb 100644 --- a/addons/point_of_sale/models/pos_session.py +++ b/addons/point_of_sale/models/pos_session.py @@ -2030,9 +2030,8 @@ class PosSession(models.Model): def get_total_discount(self): amount = 0 for line in self.env['pos.order.line'].search([('order_id', 'in', self.order_ids.ids), ('discount', '>', 0)]): - normal_price = line.qty * line.price_unit - normal_price = normal_price + (normal_price / 100 * line.tax_ids.amount) - amount += normal_price - line.price_subtotal_incl + original_price = line.price_subtotal_incl / (1 - line.discount / 100) + amount += original_price * line.discount / 100 return amount