This module adds a quant lock mechanism based on standard stock
reservations. When a quant is locked, its non-reserved quantity is
reserved by a dedicated stock picking so it cannot be consumed by other
operations.
The lock operation is done through a selectable route explicitly
configured for quant locking: the push rule of the route defines the
operation type, the destination and the grouping of the lock transfer.
Unlocking cancels the lock picking, which releases the corresponding
reservation while keeping full traceability through standard Odoo stock
documents.
Warehouse teams sometimes need to temporarily protect specific stock
from standard reservations, for example for quality checks, customer
claims, investigation, or internal allocation decisions. In standard
usage, free stock can still be consumed by other transfers, which makes
these temporary holds hard to enforce and hard to audit.
This module addresses that business need by using native Odoo
reservation mechanisms instead of introducing a parallel lock system. A
dedicated lock transfer is created and reserves the free quantity of a
selected quant. Because the lock is represented as standard stock
documents, operations teams keep full traceability and can reuse native
stock workflows for review.
The module is especially useful in multi-user environments where
concurrent reservations are frequent and temporary stock holds must
remain explicit, reversible, and auditable.
A Quality Check route is created for each warehouse. It locks quants
of any location of the warehouse with a dedicated Quality Check
operation type to the Quality Check location of the warehouse. It can
be used as is or adapted, and is the simplest way to start using this
module.
To configure other lock routes, you need to:
- Go to Inventory > Configuration > Routes.
- Create or open the route that will be used for quant locking.
- Enable Allow quant lock.
- Add a Push To rule. Its source location must contain the locations
of the quants to lock, its destination location and operation type
define the lock transfer. The Reservation Method of this operation
type must be At Confirmation.
When several rules of the route match the location of a quant, the rule
with the most specific source location is used, then the rule sequence.
As for any rule, the Propagation of Procurement Group option of the
rule defines how lock moves are grouped into transfers.
Only routes with Allow quant lock enabled can be selected when locking
quants.
To use this module, you need to:
- Go to Inventory > Reporting > Locations (or any inventory quant
view).
- Open the quant to lock.
- Click Lock Quant.
- In the wizard, select a route configured for quant locking.
- Confirm.
For batch operations from list views:
- Select several quants.
- Use Action > Lock Quants and confirm the wizard.
- To release several locks at once, select locked quants and use Action
> Unlock Quants.
The quant form also includes a Lock Moves smart button that opens the
complete history of moves linked to the quant lock.
After confirmation, a lock picking is created and reserved. The quant
displays the linked lock picking.
To unlock, open the same quant and click Unlock Quant. The lock
picking is cancelled and the reservation is released.
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
feedback.
Do not contact contributors directly about support or help with technical issues.