This module allows you to set a lot_id in a procurement to force the stock move generated to only reserve the selected lot.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you force a stock move to reserve only one specific lot or serial number, so picking and reservation always use the chosen batch.
This module adds a way to pin a stock move to one specific lot or serial number. When a procurement (for example a reordering rule or a manufacturing order component) is created with a lot already chosen, that lot is copied onto the generated stock move as a "forced lot".
From then on, when Odoo looks for available stock or reserves quantities for that move, it only considers the forced lot — but only when the move is going to an internal location. If no lot was specified elsewhere, the forced lot is used automatically.
- The forced lot is stored on the stock move (
stock.move) in a new field,forced_lot_id. - Reservation and availability checks (
_get_available_quantity,_update_reserved_quantity) are restricted to that lot for internal moves. - Moves with different forced lots are never merged together, so each forced lot keeps its own move line.
- The lot chosen in the procurement values is passed through the stock rule (
stock.rule) when the move is created.
This is useful when a customer order or production order must be fulfilled with a precise batch, and you do not want Odoo to pick any other lot from the warehouse.
Depends on
Models and fields (2)
- stock.move · extends an existing modelforced_lot_id
- stock.rule · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/stock-logistics-workflow.
terminal Installation and usage
No verified informationInstallation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.