diff --git a/addons/purchase_stock/models/stock_move.py b/addons/purchase_stock/models/stock_move.py index 90882dc8864..992f3a07901 100644 --- a/addons/purchase_stock/models/stock_move.py +++ b/addons/purchase_stock/models/stock_move.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, Command, fields, models, _ -from odoo.tools.float_utils import float_round, float_is_zero +from odoo.tools.float_utils import float_round, float_is_zero, float_compare from odoo.exceptions import UserError @@ -42,7 +42,7 @@ class StockMove(models.Model): received_qty = line.qty_received if self.state == 'done': received_qty -= self.product_uom._compute_quantity(self.quantity_done, line.product_uom) - if line.qty_invoiced > received_qty: + if float_compare(line.qty_invoiced, received_qty, precision_rounding=line.product_uom.rounding) > 0: move_layer = line.move_ids.stock_valuation_layer_ids invoiced_layer = line.invoice_lines.stock_valuation_layer_ids receipt_value = sum(move_layer.mapped('value')) + sum(invoiced_layer.mapped('value'))