From cd0c068b3f3a92314fe42c76ca8bdb20a85dae47 Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Thu, 5 Feb 2026 19:54:14 +0100 Subject: [PATCH] 05.02.26 --- modules/purchase_trade/valuation.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/purchase_trade/valuation.py b/modules/purchase_trade/valuation.py index 6ea8df4..7cc4e64 100644 --- a/modules/purchase_trade/valuation.py +++ b/modules/purchase_trade/valuation.py @@ -260,14 +260,17 @@ class ValuationBase(ModelSQL): fees = [e.fee for e in fl] for sf in cls.group_fees_by_type_supplier(line, fees): - - price = Decimal(sf.get_price_per_qt()) + sign = -1 if sf.p_r == 'pay' else 1 + if sf.mode == 'ppack': + price = sf.price + amount = sf.amount + else: + price = Decimal(sf.get_price_per_qt()) + amount = round(price * lot.get_current_quantity_converted() * sign, 2) if sf.currency != line.purchase.currency: with Transaction().set_context(date=Date.today()): price = Currency.compute(sf.currency, price, line.purchase.currency) - sign = -1 if sf.p_r == 'pay' else 1 - fee_lines.append({ 'lot': lot.id, 'sale': lot.sale_line.sale.id if lot.sale_line else None, @@ -285,7 +288,7 @@ class ValuationBase(ModelSQL): 'product': sf.product.id, 'state': sf.type, 'quantity': round(lot.get_current_quantity_converted(), 5), - 'amount': round(price * lot.get_current_quantity_converted() * sign, 2), + 'amount': amount, 'mtm': Decimal(0), 'unit': sf.unit.id if sf.unit else line.unit.id, 'currency': sf.currency.id,