Stop uncontrolled purchasing. Enforce tiered approval authority before any purchase order is confirmed.
Real-World Control
“A purchase order for €15,000 is confirmed by a purchasing agent without any manager review. It goes unnoticed until the invoice arrives — over budget and against policy. With Purchase Control, it would never have been confirmed.”

Request Approval button on draft purchase order — When a PO exceeds the configured spend threshold, the 'Request Approval' primary button appears automatically in the header. The purchasing agent clicks it to start the workflow — confirmation is blocked until approval completes.
Hard Enforcement
If anyone tries to confirm a PO that requires approval without going through the workflow, Odoo raises an error. There is no way to bypass it without Force Approve rights.

Confirmation blocked — approval required first — Trying to confirm a PO that requires approval without submitting it first raises this error. The system enforces the rule with no workaround for regular users.
How It Works

Waiting for Approval state — After submitting, the PO shows a yellow banner with the current approver's name. Approve, Reject, Cancel Approval, Force Approve, and Force Reject buttons are all visible. The chatter logs every state change with timestamps.

Approval Request — approved — The linked Approval Request shows full details: which rule triggered it, total PO amount, request date, and the Approval History table showing each level's status, approver, and timestamp. An automatic email notification was sent at submission.

PO approved — ready to confirm — Once all approval levels pass, the PO shows a green 'Approved' banner. The Confirm Order button is now active. The chatter shows the full trail: amount change, submission, approval decision — permanently recorded.

Rejection recorded on approval request — The rejection reason is stored on the request. An automatic rejection email is sent to the requester with PO details and a link to review.

Rejected PO — resubmit flow — The PO shows a red 'Rejected' banner. The 'Request Approval' button reappears — the purchasing agent can revise the PO and resubmit without any admin intervention.
Configuration
Configure which POs trigger approval, what the spend thresholds are, and who approves at each level. Everything is done through a standard Odoo form — no customization needed.

Purchase Order Approval Rule — Amount Based — Rule applies to Purchase Order with an amount-based condition. Define minimum spend threshold, assign approvers per level, set approval mode (Sequential or Parallel), and configure SLA hours per level.
Visibility
Color-coded approval status badges appear directly in the purchase order list. Filter by Pending, Approved, or Rejected workflow state in one click.

Approval status badges + workflow filters — The PO list shows Approved (green) and Rejected (red) badges at a glance. The filter dropdown includes three new workflow filters: Approval Pending, Approval Approved, and Approval Rejected — making procurement queue management immediate.
Key Capabilities
PO confirmation gate
Purchase orders cannot be confirmed until all required approvers sign off
Spend-tier routing
Different approval chains trigger automatically at configurable spend thresholds
Re-approval on changes
Significant order line edits while pending automatically restart the workflow
Automatic notifications
Approvers receive instant emails with approve/reject links
Audit-ready activity history
Every approval decision logged with user, timestamp, and reason
Approval status filters
Filter POs by Pending / Approved / Rejected workflow state instantly
Operational Impact
Procurement teams maintain spend discipline without adding process friction — approvals happen automatically in Odoo, not over email.
Compatibility
⚙️ Requires ApproveFlow Platform Engine
This control pack runs on the ApproveFlow Platform Engine — the approval rule engine, SLA system, inbox management, and audit trail used by all control packs. The Platform Engine is available from €79 launch price.
Learn about the Platform Engine →Pricing
Approval framework — required for all control packs
PO confirmation gate with spend-tier routing and audit trail
Deploy both together for €138 during launch
Buy on Odoo App Store →Already have the Platform Engine?
Add the Purchase Control Pack for just €59 — no bundle required.
Deployment Effort
Frequently Asked Questions
Can I set different approval chains for different spend amounts?
Yes. You can configure multiple spend tiers — for example, ≥€1,000 requires Manager approval, ≥€10,000 requires Director approval, ≥€50,000 requires CFO approval.
Does it block PO confirmation completely?
Yes. The Confirm Order button is disabled and the PO state is locked at 'Waiting Approval' until the approval workflow completes.
Can I route specific suppliers through dedicated approvers?
Yes. Rules can target specific vendor categories or individual vendors, regardless of order amount.
What happens if an approver is on leave?
The SLA timer triggers automatic escalation after the configured deadline. Users can also set up delegation periods in advance.
Stop unbudgeted purchases before they happen — automatically.