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