From 93a5e6ceb8f7d65e944eabd57ab71db2e7ee7dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 25 Nov 2025 18:38:51 +0100 Subject: [PATCH] Round moved quantity before compare to 0 As moved quantity is the sum of float, it may carry rounding issue so it must be rounded before comparison. Closes #14386 --- modules/purchase/purchase.py | 2 +- modules/sale/sale.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index 6d9632d1db..e81b5437d1 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -2040,7 +2040,7 @@ class Line(sequence_ordered(), ModelSQL, ModelView): quantity = ( self._get_move_quantity(move_type) - self._get_shipped_quantity(move_type)) - if quantity < 0: + if self.unit.round(quantity) < 0: warning_name = Warning.format( 'check_move_quantity', [self]) if Warning.check(warning_name): diff --git a/modules/sale/sale.py b/modules/sale/sale.py index 0db85d9aed..f2db1e048e 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -2167,7 +2167,7 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView): quantity = ( self._get_move_quantity(move_type) - self._get_shipped_quantity(move_type)) - if quantity < 0: + if self.unit.round(quantity) < 0: warning_name = Warning.format( 'check_move_quantity', [self]) if Warning.check(warning_name):