Stock Move Auto Assign
Automatically check availability of stock moves when a move is set to "done".
It uses queue jobs to verify the availability in order to have a minimal impact on the user operations.
The conditions to trigger the check are:
- A move is marked as done
- The destination locations of the move lines are internal
- The move doesn't have successors in a chain of moves
At this point, jobs are generated:
- One job per product
- Any move waiting for stock in a parent (or same) location of the internal destination locations from the done move has its availability checked
Only one job is generated for an identical set of (product, locations).
auto_awesome What this module does
AI-generated from the code · Odoo 18.0When goods are received into an internal location, Odoo automatically tries to reserve those products for waiting transfers, using background jobs so users are not slowed down.
This module makes Odoo automatically reserve stock for waiting transfers whenever goods arrive in an internal location. It works in the background using queue jobs, so the user's screen is not blocked.
What triggers the automatic reservation: - A stock move is marked as done (for example, a receipt is validated). - The destination of the move lines is an internal location. - The move has no successor moves in a chain.
When these conditions are met, Odoo creates one background job per product. Each job looks for stock moves for that product whose source location is the same as, or a parent of, the internal destination location, and which are waiting for stock (confirmed or partially available), are not linked to a previous move, and use the 'make to stock' procurement method. Those moves are then reserved automatically.
A similar check is triggered when a move with reserved quantities is cancelled: Odoo looks at the move's source location and tries to reserve other waiting moves there.
The module also adds a dedicated job channel called 'stock_auto_assign' and a retry pattern for the job, so failed attempts are retried with increasing delays. If another job is already working on the same transfers, the job waits and retries later instead of failing.
It affects stock.move and product.product and works together with the stock and queue_job modules.
Depends on
Required by other modules
Models and fields (2)
- stock.move · extends an existing model
- product.product · 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: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/stock-logistics-warehouse.
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.