| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 306 |
| Technical Name |
ts_sale_orders_approval |
| License | LGPL-3 |
| Website | http://www.techspawn.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 306 |
| Technical Name |
ts_sale_orders_approval |
| License | LGPL-3 |
| Website | http://www.techspawn.com |
Built for sales teams that move fast
Every feature exists for one reason to keep approvals fast for ordinary orders and rock-solid for the ones that matter.
Two-Stage Approval Flow
Sales Manager approves first; the Regional Manager only gets pulled in for high-value orders.
Configurable Threshold
One boolean and one number in Sales Settings. Change it any time without code.
Smart Bypass
When the Regional Manager approves at stage one, stage two is skipped automatically.
Email Notifications
Pre-built templates ping the right approver the moment an order is waiting on them.
Reject With Reason
Mandatory rejection reasons are captured in the chatter for a complete audit trail.
Dedicated Menus
Each approver gets a clean to-do list filtered to only the orders waiting on them.
Everything you get out of the box
Drop the module in. Configure once. Done.
|
✓
|
Configuration toggle & amount field "Order Approval Required" boolean + "Approval Amount" number in Sales → Configuration → Settings. |
|
✓
|
First-stage approval by Sales Manager Every confirmed sale order is routed to the Sales Manager via a dedicated "Need to Approve" menu. |
|
✓
|
Second-stage approval by Regional Manager Orders above the threshold automatically escalate. Final sign-off lives with the Regional Manager. |
|
✓
|
Regional Manager bypass If the Regional Manager approves at stage one, the second-stage step is skipped automatically. |
|
✓
|
Two pre-built mail templates Separate, branded templates for first and second-stage approval notifications. |
|
✓
|
Rejection wizard Reject with a mandatory reason. The reason is logged against the order for full traceability. |
|
✓
|
Dedicated menus per approver "Need to Approve" and "Waiting for Regional Manager Approval" each filtered to the right stage. |
|
✓
|
Security groups Dedicated Sales Manager (Approval) and Regional Manager (Approval) groups for clean access control. |
From configuration to confirmation
|
1
|
STEP ONE
Enable Approval & Set Threshold |
Go to Sales → Configuration → Settings. Switch on Order Approval and fill in the Approval Amount. Any order above this value will need a Regional Manager's sign-off.
|
2
|
STEP TWO
Assign User Access |
Go to Settings → Users & Companies → Users and open each user that needs approval rights. Under Sales, assign the Sales Manager (Approval) group to your first-stage approvers, and the Regional Manager (Approval) group to your second-stage approvers. Only users with these groups will see the approval menus and be able to approve or reject orders.
|
3
|
STEP THREE
Salesperson Creates a Sale Order |
Log in as a regular Salesperson (or any user without approval rights) and create a quotation in the usual way pick the customer, add the products, set quantities and prices. Once the order is confirmed, it does not go straight to "Sales Order" state instead it enters the approval workflow and is automatically routed to the assigned Sales Manager for first-stage approval. The salesperson cannot approve their own order.
|
4
|
STEP FOUR
Sales Manager Opens the "Need to Approve" Menu |
When the Sales Manager logs in, a dedicated Need to Approve menu appears under Sales visible only to users in the Sales Manager (Approval) group. The menu lists every order that's waiting for first-stage approval, with the customer, total amount, salesperson, and order date at a glance. The Sales Manager can open any order to review the details before approving or rejecting it.
|
5
|
STEP FIVE
Sales Manager Clicks the Approve Button |
Inside the order, the Sales Manager reviews the customer, products, totals, and any chatter notes, then clicks the Approve button at the top of the form. A Reject button sits right next to it opening a small wizard that asks for a rejection reason, which is logged in the order's chatter for the salesperson.
|
6
|
STEP SIX
Auto-Escalation Based on Order Amount |
Once the Sales Manager clicks Approve, what happens next depends on the order total:
|
✓
|
Order total = 40,000 (below 50,000)
The Sales Manager clicks Approve and the order is confirmed instantly no Regional Manager needed. |
|
!
|
Order total = 80,100 (above 50,000)
The Sales Manager clicks Approve, and the order automatically moves to the Waiting for Regional Manager Approval state. It now appears in the Regional Manager's queue for the second sign-off. |
|
7
|
STEP SEVEN
Regional Manager Gives the Final Approval |
The Regional Manager logs into their account and opens the Waiting for Regional Manager Approval menu under Sales visible only to users in the Regional Manager (Approval) group. The menu lists every order that was escalated from the Sales Manager. The Regional Manager opens an order, reviews the customer, products, and totals, then clicks Approve to give the final sign-off and confirm the order or Reject with a reason.
|
8
|
FINAL CONFIRMATION
Sale Order Is Confirmed |
Once the final approval is given by the Sales Manager (for orders under the threshold) or by the Regional Manager (for orders above it) the order automatically transitions to the Sales Order state. From here it follows the standard Odoo flow: delivery, invoicing, and payment. The approval audit trail (who approved, when, and any rejection reasons) stays visible in the order's chatter for full traceability.
We can extend this module to match your workflow.
More approval stages, custom routing rules, role-based escalation, integration with your CRM or finance system we've shipped them all.
Visit www.techspawn.comTechspawn Solutions Pvt Ltd · Odoo 19 · LGPL-3
Please log in to comment on this module