diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index c1c6c59b4f..8652a7b576 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -1773,9 +1773,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 3f7f5b675d..6ef9f88b9a 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -1803,9 +1803,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):