| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Point of Sale (point_of_sale) • Purchase (purchase) • Discuss (mail) • Invoicing (account) |
| Lines of code | 352 |
| Technical Name |
invodoo_product_approval |
| License | LGPL-3 |
| Website | https://www.invodoo.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Point of Sale (point_of_sale) • Purchase (purchase) • Discuss (mail) • Invoicing (account) |
| Lines of code | 352 |
| Technical Name |
invodoo_product_approval |
| License | LGPL-3 |
| Website | https://www.invodoo.com |
Product Approval Workflow
Complete product approval system with multi-state workflow management for Odoo 18
Overview
The Product Approval Workflow module adds a comprehensive approval system to your Odoo products. Control which products are available for sales, purchases, point of sale, and stock operations through a structured approval workflow.
Key Features
- Four-State Workflow: Draft, Pending, Approved, and Rejected states
- Approval Security: Dedicated Product Approver security group
- Visibility Control: Automatically hide unapproved products from operations
- Complete Tracking: Track submission dates, approval/rejection dates, and responsible users
- Integrated Workflow: Works seamlessly with Sales, Purchase, POS, and Stock modules
- User-Friendly Interface: Intuitive buttons and statusbar in product form
- Advanced Filtering: Search and filter products by approval status
- Rejection Reasons: Document why products were rejected
Approval States
State Transitions
- Draft → Pending: Any user can submit a product for approval
- Pending → Approved: Only Product Approvers can approve
- Pending → Rejected: Only Product Approvers can reject
- Any State → Draft: Reset to draft (clears all approval data)
How It Works
1. Product Creation
When a new product is created, it starts in Draft state and is not visible in sales, purchase, POS, or stock operations.
2. Submit for Approval
Users click the "Submit for Approval" button to move the product to Pending state. The submission date is automatically recorded.
3. Approval Decision
Users with Product Approver permissions can:
- Approve: Makes the product available for all operations
- Reject: Marks the product as rejected with optional reason
4. Product Usage
Only Approved products appear in:
- Sales Order Lines
- Purchase Order Lines
- Point of Sale
- Stock Moves and Operations
Configuration
Assign Approvers
- Go to
Settings → Users & Companies → Users - Select a user
- Under Access Rights, enable "Product Approver"
User Interface
Product Form View
- Status bar showing current approval state
- Action buttons (Submit, Approve, Reject, Reset to Draft)
- "Approval Information" tab with detailed tracking data
Product List View
- Approval Status column with color coding:
- Green for Approved
- Blue for Pending
- Gray for Draft
- Red for Rejected
Search & Filters
- Quick filters for each approval state
- "Unapproved" filter to find all non-approved products
- Group by Approval Status option
Technical Information
Dependencies
- product
- sale
- purchase
- stock
- point_of_sale
Models Extended
product.template- Main approval workflow fields and methodsproduct.product- Product variant approval inheritancesale.order.line- Filter approved products in salespurchase.order.line- Filter approved products in purchasesstock.move- Filter approved products in stock operationspos.config- Filter approved products in POS
Security Groups
- Product Approver: Can approve and reject products
Use Cases
Quality Control
Ensure all products meet quality standards before being available for sale or use.
Regulatory Compliance
Implement approval processes required by industry regulations or company policies.
Multi-Department Approval
Coordinate between product management, legal, and sales teams before product launch.
Product Information Verification
Verify all product information (pricing, descriptions, specifications) is accurate before availability.
Please log in to comment on this module