From 3976b387d75eeeab47faf3b201000b00353becb5 Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Wed, 1 Apr 2026 18:29:44 +0200 Subject: [PATCH] 01.04.26 --- modules/purchase_trade/valuation.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/modules/purchase_trade/valuation.py b/modules/purchase_trade/valuation.py index c3f18d1..4271ea7 100644 --- a/modules/purchase_trade/valuation.py +++ b/modules/purchase_trade/valuation.py @@ -501,7 +501,29 @@ class ValuationBase(ModelSQL): for lot in sale_line.lots or []: if sale_line.price_type == 'basis': - for pc in sale_line.price_summary or []: + summaries = sale_line.price_summary or [] + if not summaries: + values = cls._build_simple_pnl_from_sale_line( + sale_line=sale_line, + lot=lot, + price=Decimal(0), + state='unfixed', + pnl_type='sale priced' + ) + if sale_line.mtm and cls._supports_strategy_mtm(values): + for strat in sale_line.mtm: + values['mtm_price'] = cls._get_strategy_mtm_price(strat, sale_line) + values['mtm'] = strat.get_mtm(sale_line, values['quantity']) + values['strategy'] = strat + + if values: + price_lines.append(values) + else: + if values: + price_lines.append(values) + continue + + for pc in summaries: values = cls._build_basis_pnl_from_sale_line( sale_line=sale_line, lot=lot, pc=pc) if sale_line.mtm and cls._supports_strategy_mtm(values):