diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py index 38c46a534c6..d88ad3229f2 100644 --- a/addons/stock/models/stock_move.py +++ b/addons/stock/models/stock_move.py @@ -797,7 +797,11 @@ class StockMove(models.Model): # compute quantities for each lot + check quantities match lot_quantities = dict((pack_lot.lot_id.id, operation.product_uom_id._compute_quantity(pack_lot.qty, operation.product_id.uom_id) ) for pack_lot in operation.pack_lot_ids) - if operation.pack_lot_ids and float_compare(sum(lot_quantities.values()), operation.product_qty, precision_rounding=operation.product_uom_id.rounding) != 0.0: + + qty = operation.product_qty + if operation.product_uom_id and operation.product_uom_id != operation.product_id.uom_id: + qty = operation.product_uom_id._compute_quantity(qty, operation.product_id.uom_id) + if operation.pack_lot_ids and float_compare(sum(lot_quantities.values()), qty, precision_rounding=operation.product_id.uom_id.rounding) != 0.0: raise UserError(_('You have a difference between the quantity on the operation and the quantities specified for the lots. ')) quants_taken = []