This module was written to allow users to request products that are frequently stocked by the company, to be transferred to their chosen location.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets employees create internal stock requests for products they need, and track them until the goods are transferred to the chosen location. Requests can be grouped into request orders and linked to the resulting transfers.
This module adds an internal stock request process on top of Odoo Inventory. Users create a stock.request for a product, quantity, warehouse and destination location, then confirm it. Confirming launches the normal procurement rules, so Odoo generates the needed pickings, purchases or manufacturing orders depending on the product's route.
Requests can be grouped into a stock.request.order, which shares the same warehouse, location, expected date, references and shipping policy. Each request line must match its order on those values, and the order status is computed from its lines (draft, in progress, done or cancelled).
- Menus appear under a Stock Requests root: Operations (Stock Request Orders, Stock Requests), Master Data and Settings.
- Buttons on requests and orders let users confirm, set to draft, cancel, mark done and open the related transfers.
- Quantities in progress, done and cancelled are computed automatically, and allocations track how much of each request is covered by stock moves.
- When a transfer is validated, the allocated quantity is updated and a message is posted on the request; the request is automatically marked done or cancelled when fully covered or when nothing remains.
- Company settings control whether virtual locations are allowed and whether available stock is checked first; if enough stock exists, a move is created and completed directly.
- Only draft requests can be deleted, and quantities must be positive.
Depends on
Required by other modules
Menus it adds
Models and fields (13)
- stock.move · extends an existing modelallocation_ids (Stock Request Allocation), stock_request_ids (Stock Requests)
- stock.rule · extends an existing model
- res.company · extends an existing modelstock_request_allow_virtual_loc (Allow Virtual locations on Stock Requests), stock_request_check_available_first (Check available stock first)
- stock.route · extends an existing model
- stock.picking · extends an existing modelstock_request_ids (Stock Requests), stock_request_count (Stock Request #)
- stock.request · new modelname, state (Status), move_ids (Stock Moves), order_id, qty_done, route_id, company_id, product_id, location_id, picking_ids (Pickings), requested_by, warehouse_id, expected_date, picking_count (Delivery Orders), qty_cancelled, reference_ids, allocation_ids (Stock Request Allocation), picking_policy (Shipping Policy), product_uom_id, product_uom_qty, qty_in_progress
- stock.location · extends an existing model
- stock.move.line · extends an existing model
- stock.warehouse · extends an existing model
- res.config.settings · extends an existing modelmodule_stock_request_mrp (Stock Request for Manufacturing), group_stock_request_order, module_stock_request_kanban (Stock Requests Kanban integration), module_stock_request_submit (Submitted state in Stock Requests), module_stock_request_analytic (Stock Requests Analytic integration), module_stock_request_purchase (Stock Requests for Purchases), stock_request_allow_virtual_loc, stock_request_check_available_first
- stock.request.order · new modelname, state (Status), move_ids (Stock Moves), route_id, route_ids (Routes), company_id, location_id (Location), picking_ids (Pickings), requested_by, warehouse_id (Warehouse), expected_date, picking_count (Delivery Orders), reference_ids (References), picking_policy (Shipping Policy), stock_request_ids, stock_request_count (Stock requests), allow_virtual_location
- stock.request.abstract · new modelname, route_id (Route), route_ids (Routes), company_id, product_id, location_id (Location), product_qty (Real Quantity), warehouse_id (Warehouse), reference_ids, product_uom_id (Product Unit of Measure), allowed_uom_ids, product_uom_qty (Quantity), allow_virtual_location
- stock.request.allocation · new modelcompany_id (Company), product_id (Product), stock_move_id (Stock Move), product_uom_id (UoM), open_product_qty (Open Quantity), stock_request_id (Stock Request), allocated_product_qty (Allocated Quantity), requested_product_qty (Requested Quantity), requested_product_uom_qty (Requested Quantity (UoM))
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/stock-logistics-warehouse.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0To configure this module:
- Go to Stock Requests \> Settings
Users should be assigned to the groups 'Stock Request / User' or 'Stock Request / Manager'.
Group Stock Request / User
- Can see her/his own Stock Requests, and others that she/he's been granted permission to follow.
- Can create/update only her/his Stock Requests.
Group Stock Request / Manager
- Can fully manage all Stock Requests
Usage
Source · Odoo 19.0Creation
- Go to 'Stock Requests / Stock Requests' and create a new Request.
- Indicate a product, quantity and location.
- Press 'Confirm'.
Upon confirmation the request will be evaluated using the procurement rules for the selected location.
In case that transfers are created, the user will be able to access to them from the button 'Transfers' available in the Stock Request.
If needed to group together the Transfers from multiple Stock Requests, the user needs to set the same 'Reference' on them.
Cancel
When the user cancels a Stock Request, the related pending stock moves will be also cancelled.
No verified information in OCA: Installation.
Installation 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.