diff --git a/addons/stock/models/stock_quant.py b/addons/stock/models/stock_quant.py index 4b27fff15e1..7b9b5932700 100644 --- a/addons/stock/models/stock_quant.py +++ b/addons/stock/models/stock_quant.py @@ -239,7 +239,8 @@ class StockQuant(models.Model): @api.constrains('quantity') def check_quantity(self): for quant in self: - if float_compare(quant.quantity, 1, precision_rounding=quant.product_uom_id.rounding) > 0 and quant.lot_id and quant.product_id.tracking == 'serial': + if quant.location_id.usage != 'inventory' and quant.lot_id and quant.product_id.tracking == 'serial' \ + and float_compare(abs(quant.quantity), 1, precision_rounding=quant.product_uom_id.rounding) > 0: raise ValidationError(_('The serial number has already been assigned: \n Product: %s, Serial Number: %s') % (quant.product_id.display_name, quant.lot_id.name)) @api.constrains('location_id')