From f2f12abcdbc731f66883618e9db08fe576c42f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 25 Sep 2022 20:32:08 +0200 Subject: [PATCH] Deduce the commission price from the cost Because the commission price is negative when it has the same type as the invoice. issue11723 review423891003 --- stock_reporting_margin.py | 2 +- tests/scenario_commission_stock.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stock_reporting_margin.py b/stock_reporting_margin.py index ff5a8a84c6..d112679675 100644 --- a/stock_reporting_margin.py +++ b/stock_reporting_margin.py @@ -20,7 +20,7 @@ class AbstractCommissionMixin: cost = super()._column_cost(tables, withs, sign) if (Transaction().context.get('include_commission') and 'commission_price' in Move._fields): - cost += Sum( + cost -= Sum( sign * cls.cost.sql_cast(move.internal_quantity) * Coalesce(move.commission_price, 0)) return cost diff --git a/tests/scenario_commission_stock.rst b/tests/scenario_commission_stock.rst index 4af7a2bc13..8314b1ed7c 100644 --- a/tests/scenario_commission_stock.rst +++ b/tests/scenario_commission_stock.rst @@ -191,7 +191,7 @@ Check reporting margin:: >>> context['include_commission'] = True >>> with config.set_context(context=context): ... report, = MarginProduct.find([]) - >>> report.cost == Decimal('225.0000') + >>> report.cost == Decimal('275.0000') True >>> report.revenue == Decimal('500.0000') True