stock_request module is the core foundation of the Stock Request framework, enabling users to create internal requests for stock transfers within the Odoo warehouse management system.
Overview
Module Name:stock_requestVersion: 18.0.1.1.3
License: LGPL-3
Dependencies:
stockAuthor: ForgeFlow, OCA
Maintainers: @LoisRForgeFlow, @etobella
This module allows users to request products that are frequently stocked by the company to be transferred to their chosen location.
Key Features
Stock Request Management
- Create and manage internal stock requests
- Specify product, quantity, and destination location
- Track request states: Draft, In Progress, Done, Cancelled
- View related stock moves and pickings
- Monitor quantity in progress, done, and cancelled
Procurement Integration
- Automatic evaluation using procurement rules
- Integration with warehouse routes
- Support for make-to-order and make-to-stock strategies
- Automatic stock move creation upon confirmation
Stock Request Orders
- Group multiple stock requests into orders
- Manage requests collectively
- Order-level tracking and reporting
Permission System
Stock Request User Permissions
Stock Request User Permissions
- Can see their own stock requests
- Can view requests they’re granted permission to follow
- Can create and update only their own requests
- Limited access to other users’ requests
Stock Request Manager Permissions
Stock Request Manager Permissions
- Full access to all stock requests
- Can manage any user’s requests
- Can configure system settings
- Complete administrative control
Installation
Assign User Groups
Go to Settings > Users & Companies > Users and assign users to:
- Stock Request / User group
- Stock Request / Manager group
Configuration
User Groups
Assign users to the appropriate security groups:System Settings
Access stock request settings at Stock Requests > Settings:- Default warehouse configuration
- Procurement rule settings
- Sequence configuration for request numbering
The module creates automatic sequences for stock request numbering using the format
SR/XXXXX.Usage
Creating a Stock Request
Fill in Request Details
- Product: Select the product to request
- Quantity: Enter the quantity needed
- Location: Choose the destination location
- Expected Date: When you need the products
- Requested By: Auto-filled with current user
Stock Request States
| State | Description | Actions Available |
|---|---|---|
| Draft | Initial state when created | Edit, Confirm, Cancel |
| In Progress | Confirmed and being fulfilled | View transfers, Cancel |
| Done | Fully completed | View only |
| Cancelled | Cancelled by user | Archive |
Cancelling Requests
To cancel a request:- Open the stock request
- Click Cancel
- Confirm the cancellation
- Related stock moves will be cancelled automatically
Data Models
Stock Request (stock.request)
Core fields in the stock request model:
Stock Request Order (stock.request.order)
Groups multiple stock requests:
Stock Request Allocation (stock.request.allocation)
Tracks how stock requests are allocated to stock moves:
Views and Menus
Menu Structure
Available Views
- Tree View: List of all stock requests with key information
- Form View: Detailed request form with related transfers
- Kanban View: Visual board grouped by state
- Pivot View: Analysis and reporting
- Graph View: Request statistics and trends
Integration Points
Procurement Rules
Stock requests integrate with Odoo’s procurement engine:- Evaluated against location-specific procurement rules
- Can trigger purchase orders (with
stock_request_purchase) - Can trigger manufacturing orders (with
stock_request_mrp) - Respects warehouse routing configuration
Stock Moves
Each confirmed request creates stock moves:- Moves linked via
stock.request.allocation - Origin field references stock request
- Automatic state synchronization
- Cancellation cascades to moves
Stock Pickings
Generated transfers are accessible:- Smart button shows picking count
- Direct navigation to related pickings
- Picking completion updates request quantities
Technical Details
Security
Defined insecurity/stock_request_security.xml and security/ir.model.access.csv:
- Record rules for user-level access
- Manager-level full access
- Follower-based access control
Data Files
Model Inheritance
Extends standard Odoo models:stock.move: Adds stock request allocation trackingstock.picking: Adds stock request referencesproduct.product: Adds request-related fieldsres.config.settings: Adds stock request settings
Known Issues and Roadmap
Active Field Management: The active field needs logical management from orders to individual stock requests.
Common Use Cases
Internal Department Requests
Departments can request stock transfers to their locations:- Production floor requests materials from warehouse
- Request confirmed and evaluated
- Internal transfer created automatically
- Department receives materials
Replenishment Requests
Request stock replenishment when running low:- User notices low stock in their location
- Creates stock request for replenishment
- Procurement rules determine fulfillment method
- Stock transferred or procured as needed
Project-Based Requests
Request materials for specific projects:- Project manager creates stock request
- Links request to project location
- Materials transferred when confirmed
- Project location inventory updated
Best Practices
Troubleshooting
Request Stuck in Draft
Problem: Request remains in draft after confirmation.Solution: Check procurement rules for the destination location. Ensure routes are properly configured.
No Transfers Created
Problem: Request confirmed but no picking generated.Solution: Verify product has correct routes, check stock availability, ensure procurement rules exist for the location.
Permission Denied
Problem: User cannot see or edit requests.Solution: Verify user is assigned to Stock Request / User or Stock Request / Manager group.
API Examples
Creating a Stock Request via Code
Querying Stock Requests
Related Resources
Purchase Integration
Automatically create purchase orders from requests
MRP Integration
Generate manufacturing orders from stock requests
Kanban Cards
Implement lean kanban system for requests
Approval Workflow
Add multi-tier approval process
