diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index d386ad290f..21e1e3232d 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -1917,9 +1917,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 ba78933648..d1668ccbdf 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -1954,9 +1954,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):