From 7965b22954cbdc879b6315de09dca37b1e7559d0 Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Sun, 26 Apr 2026 15:28:35 +0200 Subject: [PATCH] padding acc --- modules/purchase_trade/lot.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/purchase_trade/lot.py b/modules/purchase_trade/lot.py index c35bfcd..61179b7 100755 --- a/modules/purchase_trade/lot.py +++ b/modules/purchase_trade/lot.py @@ -2719,12 +2719,20 @@ class LotInvoice(Wizard): val_s['lot_price'] = lot.lot_price_sale val_s['lot_amount'] = lot.get_current_quantity_converted() * lot.lot_price_sale if lot.lot_price_sale else Decimal(0) val_s['lot_diff_quantity'] = 0 - val_s['lot_diff_price'] = 0 - val_s['lot_diff_amount'] = 0 - if lot.sale_invoice_line_prov: - val_s['lot_diff_quantity'] = val_s['lot_quantity'] - Decimal(lot.sale_invoice_line_prov.quantity) - val_s['lot_diff_price'] = val_s['lot_price'] - Decimal(lot.sale_invoice_line_prov.unit_price) - val_s['lot_diff_amount'] = val_s['lot_amount'] - Decimal(lot.sale_invoice_line_prov.amount) + val_s['lot_diff_price'] = 0 + val_s['lot_diff_amount'] = 0 + if lot.sale_invoice_line_prov: + provisional_quantity = ( + Decimal(lot.sale_invoice_line_prov.quantity) + - Decimal(str(lot.sale_invoice_padding or 0))) + val_s['lot_diff_quantity'] = ( + val_s['lot_quantity'] - provisional_quantity) + val_s['lot_diff_price'] = val_s['lot_price'] - Decimal(lot.sale_invoice_line_prov.unit_price) + provisional_amount = ( + provisional_quantity + * Decimal(lot.sale_invoice_line_prov.unit_price)) + val_s['lot_diff_amount'] = ( + val_s['lot_amount'] - provisional_amount) val_s['lot_currency'] = lot.lot_price_ct_symbol_sale val_s['lot_unit'] = sale_line.unit.id if sale_line else None lot_s.append(val_s)