Skip to Content

CODEerts Dynamic Approvals: Multi-Level Approval Workflow | Odoo Dynamic Approval Engine

June 26, 2026 by
CODEerts

Build configurable multi-level approval workflows on any Odoo document, with action and activation gates, amount-based routing, time-off delegation, and a live My Approvals dashboard.

Dynamic Multi-Level Approvals turns any Odoo document into an approval-controlled process without custom development. You decide which model needs control, the exact moment that triggers sign-off, and how many people must approve, all from a simple configuration screen.

What it does

You create an Approval Flow, pick a model and the trigger that should require approval, and add ordered steps. There are two ways to gate a document. An action gate blocks a transition, for example a Sales Order being confirmed or an Invoice about to post, opens an approval request, and on approval re-runs the full original action so every side effect is reproduced, not just the field value. An activation gate keeps a freshly created record archived and hidden until it is approved, then activates it, which is ideal for new contacts, products or any master data that needs a check before it goes live. Steps can be assigned to specific users, to the requester's department manager, or to amount tiers so a document only reaches the approvers its value requires, and each step can be set to need everyone or just one approver.

Key features

  • Configurable multi-level approval flows on any model, built entirely from the interface
  • Action gate that blocks a transition and re-runs the full action on approval so side effects survive
  • Activation gate that hides a new record until approved, even on models with no archive field
  • Routing by specific users, department manager, or amount tier, with approve-all or approve-any steps
  • Time-off aware delegation that reassigns a pending approval to a delegate or step backup
  • On-form pipeline bar with inline Approve, Refuse and Reset to Draft
  • A colorful My Approvals dashboard with pending, overdue and approved-this-month tiles
  • Email notifications, To-Do activities, a daily reminder, and a public approve or reject link
  • Full chatter and audit trail on every approval request

Who it's for

Any business that needs controlled sign-off on its Odoo documents: finance teams gating invoices and payments, sales managers approving discounts or large orders, operations approving new vendors or products, and any organisation that must prove who approved what and when. Because it works on any model and is configured without code, one module covers approval needs across the whole database.

Frequently asked questions

How do I add a multi-level approval workflow to any model in Odoo?

Create an Approval Flow, choose the model and the trigger that needs sign-off, then add as many ordered steps as you want with the approvers for each. Any user action that reaches the trigger is held until every step approves, with no custom code required.

Can I require approval before a sales order is confirmed or an invoice is posted in Odoo?

Yes. An action gate blocks the transition, for example state reaching Confirmed or an invoice about to post, and opens an approval request. When the last step approves, the engine re-runs the original action so its full side effects, like the delivery a confirmation creates, are reproduced exactly.

How do I keep a new record hidden until it is approved in Odoo?

Use an activation gate. A newly created record is archived and hidden everywhere until the approval is granted, then it is activated automatically. It works even on models that do not have a native archive field, because the module provisions one safely.

Can approvals route by amount in Odoo?

Yes. Mark a step as an amount tier and give it a minimum and optional maximum. The step only applies when the document amount falls in that range, so small documents skip the senior approvers and large ones pick them up automatically.

What happens to a pending approval when the approver is on leave?

With time-off delegation enabled, the module checks validated Time Off and reassigns the pending step to the approver's personal delegate, or the step's backup approver, and records who it was originally assigned to. Approvals never stall because someone is away.

Where do approvers see what is waiting for them in Odoo?

On the My Approvals dashboard, with tiles for pending, overdue and approved this month and one-click Approve or Refuse on each item. They also get an email, a To-Do activity, a daily reminder while it stays pending, and a public approve or reject link they can use without logging in.

Want this in your Odoo?

See the full feature list and screenshots, or talk to our certified Odoo team about setup and customization.

Advanced Document Management System for Odoo | DMS File Manager