diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index be4462e1d5..d7eae8784f 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -1637,9 +1637,12 @@ class Line(sequence_ordered(), ModelSQL, ModelView): if invoice_line.type != 'line': continue if invoice_line not in skips: - quantity += Uom.compute_qty( - invoice_line.unit or self.unit, invoice_line.quantity, - self.unit) + if self.unit: + quantity += Uom.compute_qty( + invoice_line.unit or self.unit, invoice_line.quantity, + self.unit) + else: + quantity += invoice_line.quantity return quantity def _get_invoice_line_moves(self): diff --git a/modules/sale/sale.py b/modules/sale/sale.py index e3750d0997..30d0e5f0db 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -1585,9 +1585,12 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView): if invoice_line.type != 'line': continue if invoice_line not in skips: - quantity += Uom.compute_qty( - invoice_line.unit or self.unit, invoice_line.quantity, - self.unit) + if self.unit: + quantity += Uom.compute_qty( + invoice_line.unit or self.unit, invoice_line.quantity, + self.unit) + else: + quantity += invoice_line.quantity return quantity def _get_invoice_line_moves(self):