Purchase approvals, finally under control
Route purchase orders through configurable, multi-step approval rules by amount, vendor, category, or buying team — with bulk actions, SLA analytics, and automatic escalation built in.
Odoo's native purchase flow offers only a single, static manager-approval step, so anyone with purchase-creation rights can commit company funds unchecked. Finance controllers and procurement leads are left without visibility, veto power, or an audit trail — and no way to route reviews by spend, vendor, or department.
PO Dynamic Approval Process replaces that single gate with configurable, multi-step approval rules by amount threshold, vendor, product category, or buying team. Every order routes automatically to the right approver, records a full audit trail, and can be cleared individually or in bulk from a single dashboard.
Everything a spend-control policy needs
Every capability below is implemented in the module.
Rule-based routing
Trigger approval by minimum amount, vendor, product category, or buying team — combine conditions on a single rule.
Rule priority & conflict resolution
Rules apply in explicit sequence order, so when more than one could match a purchase order, the first matching rule always wins.
Multi-step approval chains
Order approval steps in any sequence and route each one to a specific user or an entire security group.
Exclusive approval enforcement
The same user cannot approve two different steps on the same order, closing off self-review loopholes.
Mandatory or optional enforcement
Set each rule to mandatory or optional, so strict controls apply only where your policy actually needs them.
Mandatory rejection reason
Every denial requires a reason, logged straight to the order's chatter for a complete, auditable history.
Bulk approve / reject
Clear a backlog of pending purchase orders in a single action instead of opening and acting on each one.
Pending-approvals dashboard
One screen shows every order awaiting action, with time-in-step and overdue indicators so nothing stalls unnoticed.
Approval SLA analytics
Pivot and graph views break down time-to-approval by rule and approver, so managers can spot bottlenecks.
How it works
Set up buying teams
Group purchasers under a team manager so rules can route by department, not just by individual.
Build approval rules
Start from a ready-made template or create your own: set matching conditions and an ordered chain of steps.
Orders route automatically
Confirming a purchase order evaluates the rules and builds its approval chain, with each approver notified at their step.
Approve, reject, or clear in bulk
Act from the dashboard one at a time or in bulk; once every step is approved, the order locks and moves forward.
See it in action
From configuring approval rules to approving purchase orders — the complete workflow.
The Pending Approvals dashboard lists every purchase order awaiting your decision, showing the current step, vendor, total, and how long each has been waiting.
The Approval Analytics pivot breaks down time-in-step by rule and outcome — approved, rejected, to approve, or waiting — for SLA reporting.
The same analytics switch to a graph view, comparing total review time by approver so managers can spot bottlenecks.
Approval Rules list every active routing policy with its enforcement mode, minimum amount, and number of steps at a glance.
A rule form combines matching conditions — amount, buying team, vendor, category — with an ordered list of approval steps, each assigned to a user or a security group, plus escalation and order-lock options.
Ready-to-use rule templates let administrators activate a working spend-control policy — like a spend threshold or a new-vendor review — in minutes.
Buying Teams group purchasers under a manager, so approval rules can route by department rather than by individual.
Each buying team defines its manager and member buyers, feeding directly into team-based approval rule conditions.
The Approvals tab on a purchase order shows the active rule, progress, and each step's status as it moves toward approval.
Once every step is approved, the order is stamped Approved and, if the rule enables it, its content is locked against further edits.
A rejected step captures a mandatory reason, visible directly on the order and in its chatter history.
The standard Purchase Orders list gains an Approval Status column, so buyers can see where every order stands without opening it.
Frequently asked
What happens if a purchase order matches multiple approval rules?
Rules are evaluated in priority order; the first rule whose conditions match applies, so there is never ambiguity about which chain governs a purchase order.
Can I require approval only for high-value purchases?
Yes. Each rule has its own minimum amount threshold, so low-value orders can skip approval entirely while spend above your limit routes through the configured chain.
What happens if an approver is away and can't act on a pending step?
Configure an escalation delay per rule; if a step sits idle past that many days, it reassigns to a designated delegate so purchasing doesn't stall.
Can a purchase order still be edited after it's approved?
Only if you allow it. Enable "Lock Order After Approval" on a rule to freeze the order's content once the chain completes, preventing changes that would bypass the review.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Configurable, multi-level approval routing for Purchase Orders — by amount, vendor, category, or team — with bulk actions, SLA analytics, and escalation, all built into Odoo Purchase.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Purchase (purchase) • Invoicing (account) |
| Lines of code | 1152 |
| Technical Name |
cerevantix_po_dynamic_approval_process |
| License | OPL-1 |
| Website | https://cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module