stock_request_submit module adds a “Submitted” state to stock requests, enabling a supervisory review and approval step before requests are confirmed and processed.
Overview
Module Name:stock_request_submitVersion: 18.0.1.0.0
License: LGPL-3
Dependencies:
stock_requestAuthor: Open Source Integrators, OCA
Category: Warehouse Management
Uninstall Hook: Yes (cleanup on removal)
This module adds a “Submitted” state between draft and confirmed, allowing supervisors to review and validate requests, and make routing corrections if needed before final confirmation.
Key Features
Submitted State
- New state added to request workflow: Submitted
- Separates request creation from confirmation
- Allows supervisor review before processing
- Enables route correction and validation
Two-Step Workflow
- User Submits: Requester submits draft request for approval
- Supervisor Confirms: Supervisor reviews, adjusts if needed, and confirms
Route Validation
- Supervisors can verify and adjust routes before confirmation
- Prevent incorrect routing decisions
- Ensure optimal fulfillment paths
- Correct any misconfigurations
Installation
The module includes an uninstall hook that cleans up the submitted state when the module is uninstalled, converting submitted requests back to draft.
Configuration
User Permissions
Ensure proper permission assignment: Stock Request User- Can create and submit their own requests
- Can view their submitted requests
- Cannot confirm requests
- Can view all submitted requests
- Can confirm submitted requests
- Can edit routes and parameters
- Can reject/reset requests to draft
Workflow Configuration
No additional configuration required. The submitted state is automatically added to the workflow.Usage
User Workflow: Submitting a Request
Create Request
Go to Stock Requests > Stock Requests and click Create.Fill in:
- Product: Select product
- Quantity: Amount needed
- Location: Destination location (or use direction if enabled)
- Expected Date: When needed
Supervisor Workflow: Reviewing and Confirming
Review Request
Open submitted request and review:
- Product and quantity
- Destination location
- Expected date
- Requester information
- Current route/procurement rules
Validate or Adjust
If needed, adjust:
- Route: Change procurement route
- Location: Correct destination if wrong
- Warehouse: Adjust source warehouse
- Expected Date: Modify if unrealistic
Stock Request Order Submission
The module also adds submission workflow to stock request orders:State Workflow
State Diagram
State Definitions
| State | Description | Available Actions |
|---|---|---|
| Draft | Initial state, being edited | Submit, Cancel |
| Submitted | Awaiting supervisor approval | Confirm, Reset to Draft, Cancel |
| Open | Confirmed and being fulfilled | View transfers, Cancel |
| Done | Fully completed | Archive |
| Cancelled | Cancelled by user or supervisor | Archive |
Data Models
Stock Request (Extended)
State selection modified:Stock Request Order (Extended)
Order-level submission:Views
Stock Request Form View
Enhanced with submit button:Stock Request Tree View
Submitted state badge:Use Cases
Department Budget Control
Scenario: Department requests need supervisor approval for budget control.Route Validation
Scenario: Ensure optimal routing before committing to procurement.Supervisor Reviews Routing
Supervisor verifies:
- Product should be purchased vs transferred
- Correct warehouse selected
- Optimal fulfillment path
Multi-Tier Organization
Scenario: Large organization with multiple approval levels. Workflow:- Employee submits to team lead
- Team lead reviews and adjusts
- Team lead submits to department manager
- Department manager confirms
For complex multi-tier approval, consider using
stock_request_tier_validation module instead.Best Practices
Clear Submission Guidelines
Supervisor Workflow
System Configuration
Integration with Other Modules
Stock Request Direction
Combine with directional requests:- User creates directional request (simplified)
- User submits for approval
- Supervisor reviews and sets specific locations
- Supervisor confirms
Stock Request Kanban
Kanban requests with submission:- Scan kanban card (creates draft request)
- Batch submit multiple kanban requests
- Supervisor reviews batch
- Confirm all at once
Stock Request Tier Validation
Comparison:- Submit: Simple two-step (submit → confirm)
- Tier Validation: Complex multi-tier approval workflow
- Simple approval structure
- Single supervisor approval needed
- Focus on route validation
- Multiple approval tiers required
- Different approvers based on conditions
- Formal approval tracking needed
Troubleshooting
Submit Button Not Visible
Problem: Submit button doesn’t appear on draft requests. Solutions:- Verify module installed correctly
- Refresh browser cache
- Check user has stock request user permissions
- Ensure request in draft state
Cannot Confirm Submitted Request
Problem: Confirm button missing or disabled. Solutions:- Check user has Stock Request Manager permissions
- Verify request in submitted state
- Review security group assignments
- Check for other module conflicts
Requests Stuck in Submitted
Problem: No supervisors reviewing submitted requests. Solutions:- Set up email notifications for submitted requests
- Create filtered view showing submitted requests
- Assign dedicated supervisor role
- Add submitted request count to dashboard
State Confusion After Uninstall
Problem: Requests in unexpected state after uninstalling module. Solution: The uninstall hook should handle this, but if issues occur:Advanced Features
Custom Approval Logic
Extend submission with custom validation:Automated Notifications
Set up automated notifications:Dashboard Integration
Create submitted request dashboard:Uninstall Behavior
Uninstall process:- Module uninstallation initiated
uninstall_hookexecutes- All submitted requests → draft
- Module removed
- Workflow returns to original (draft → open)
Related Modules
Stock Request Core
Base stock request functionality
Stock Request Tier Validation
Alternative: Multi-tier approval workflow
Stock Request Direction
Simplify requests with directional selection
