details:   https://code.tryton.org/tryton/commit/aaa87c6471b3
branch:    default
user:      Cédric Krier <[email protected]>
date:      Fri Oct 02 11:11:48 2026 +0200
description:
        Fallback to 0 when cost price is empty for product of production

        Closes #15138
diffstat:

 modules/production/production.py |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (30 lines):

diff -r fd404e653e0c -r aaa87c6471b3 modules/production/production.py
--- a/modules/production/production.py  Fri Oct 02 10:49:57 2026 +0200
+++ b/modules/production/production.py  Fri Oct 02 11:11:48 2026 +0200
@@ -478,7 +478,7 @@
         for input_ in self.inputs:
             if input_.state == 'cancelled':
                 continue
-            cost_price = input_.get_cost_price()
+            cost_price = input_.get_cost_price() or 0
             cost += (Decimal(str(input_.internal_quantity)) * cost_price)
         return round_price(cost)
 
@@ -499,7 +499,7 @@
             product = input_.product
             quantity = Uom.compute_qty(
                 input_.unit, input_.quantity, product.default_uom)
-            cost += Decimal(str(quantity)) * product.cost_price
+            cost += Decimal(str(quantity)) * (product.cost_price or 0)
         return cost
 
     @dualmethod
@@ -571,7 +571,7 @@
             for input_ in production.inputs:
                 if input_.state == 'cancelled':
                     continue
-                cost_price = input_.get_cost_price()
+                cost_price = input_.get_cost_price() or 0
                 input_quantities[input_.product] += (
                     Decimal(str(input_.internal_quantity)))
                 input_costs[input_.product] += (

Reply via email to