Odoo Community Association

Stock Quant Lock

Beta License: AGPL-3 OCA/stock-logistics-workflow Translate me on Weblate Try me on Runboat

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 operation type (picking type) explicitly configured for quant locking. Unlocking cancels the lock picking, which releases the corresponding reservation while keeping full traceability through standard Odoo stock documents.

Table of contents

Use Cases / Context

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.

Configuration

To configure this module, you need to:

  • Go to Inventory > Configuration > Operations Types.
  • Open the operation type that will be used for quant locking.
  • Enable Allow quant lock.
  • Ensure default locations are configured on this operation type.

Only operation types with Allow quant lock enabled can be selected when locking quants.

Usage

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 an operation type 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.

Known issues / Roadmap

  • Add a dedicated smart button on quants to open lock transfer history.
  • Add optional reason and expiration date on lock operations.
  • Add optional security groups to restrict lock and unlock operations.

Bug Tracker

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.

Credits

Authors

  • ACSONE SA/NV
  • BCIM

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainers:

lmignon jbaudoux

This module is part of the OCA/stock-logistics-workflow project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.