diff --git a/rma/models/stock_move.py b/rma/models/stock_move.py index df6622bd..56579b49 100644 --- a/rma/models/stock_move.py +++ b/rma/models/stock_move.py @@ -3,6 +3,7 @@ from odoo import _, api, fields, models from odoo.exceptions import ValidationError +from odoo.tools import float_compare class StockMove(models.Model): @@ -59,7 +60,18 @@ class StockMove(models.Model): """ for move in self.filtered(lambda r: r.state not in ("done", "cancel")): rma_receiver = move.sudo().rma_receiver_ids - if rma_receiver and move.quantity != rma_receiver.product_uom_qty: + qty_prec = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + if ( + rma_receiver + and float_compare( + move.quantity, + rma_receiver.product_uom_qty, + precision_digits=qty_prec, + ) + != 0 + ): raise ValidationError( _( "The quantity done for the product '%(id)s' must "