Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. Dynamic Multi-Level Approval | All in One Approval Workflow v 18.0
  4. Sales Conditions FAQ

Dynamic Multi-Level Approval | All in One Approval Workflow

by Kuma T
Odoo

$ 72.00

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 1276
Technical Name dynamic_multi_approval
LicenseLGPL-3
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 1276
Technical Name dynamic_multi_approval
LicenseLGPL-3

Dynamic Multi-Level Approval for Odoo 18

All-in-one approval workflow module — block Confirm, Post, Submit, Validate and any action on Sale Orders, Purchase Orders, Invoices, Bills, Expenses, Payments, Inventory Transfers, and more until configured approvers validate the document. Multi-step, multi-company, fully configurable.

Odoo 18 Community & Enterprise Multi-Company Approval Works With Any Odoo Model No Hard Dependencies Multi-Step Approval Chain
Dynamic Multi-Level Approval Workflow Module for Odoo 18 — Sale Order, Purchase Order, Invoice, Expense Approval

Key Features of Dynamic Multi-Level Approval Module

✓ All-in-One Approval for Any Odoo Model

One module for all approval needs — Sale Order approval, Purchase Order approval, Invoice approval, Bill approval, Expense approval, Payment approval, Inventory approval, Manufacturing approval, and any custom model. No separate bridge modules needed.

⚙ Dynamic Approval Actions

Register any model method for approval: action_confirm (Sale/Purchase), action_post (Invoice/Bill), button_validate (Inventory), action_submit_sheet (Expense), or any custom method.

☰ Multi-Level & Multi-Step Approval Chain

Define unlimited approval levels — single approval, double approval, triple approval, or as many steps as your organization needs. Each step is linked to an Odoo security group for user-wise and group-wise approval control.

🎯 Domain-Based & Amount-Based Triggers

Apply conditional approval rules — e.g., require approval only when amount_total > 5000. Small orders flow through automatically; large orders require multi-level approval.

🏢 Multi-Company Approval Support

Each approval rule is scoped to a specific company. Different branches, subsidiaries, or companies can have entirely different approval policies — all managed in a single Odoo database.

🔔 Activities & Chatter Audit Trail

Approvers receive scheduled activities in their inbox. Every approval, rejection, and status change is logged in the document's chatter — providing a complete audit trail for compliance.

❌ Rejection with Mandatory Reason

Rejections go through a wizard requiring a reason. The rejection reason is posted to the document's chatter and the request initiator is notified immediately via email notification.

📎 Attachment Requirement per Step

Require approvers to upload supporting documents before they can approve — useful for compliance workflows, audit requirements, and document validation processes.

Lightweight & Non-Intrusive: Only depends on base and mail. No forced dependency on Sale, Purchase, Accounting, HR, Inventory, or any other business app. Install only the Odoo apps you use — approval rules adapt automatically to any installed model.

How the Approval Workflow Works

  1. Register Approval Actions — Go to Approvals → Configuration → Approval Actions and define which model/method combinations need gating (e.g., Sale Order + action_confirm).
  2. Create Approval Rules — Define rules with target model, trigger domain conditions, and ordered approval steps linked to security groups.
  3. Action Gets Intercepted — When a user tries to perform the gated action, the system blocks it and creates an approval request automatically.
  4. Approvers Get Notified — Each step's approver group receives a scheduled activity. They can approve or reject from the Approval Dashboard or directly from the approval form.
  5. Document Proceeds — Once all steps are approved, the user can perform the original action. If rejected, the initiator is notified with the reason.

Screenshots — Approval Module in Action

1. Approvals App on the Odoo Home Screen

After installation, the Approvals app appears as a standalone application on your Odoo home screen — right alongside Sales, Invoicing, Inventory, and other apps.

Approvals app on Odoo home screen
2. Navigation Menu & Configuration

The Approvals menu provides quick access to the Dashboard, My Pending Approvals, All Approvals, and Configuration (Approval Rules & Approval Actions).

Approval menu with Configuration dropdown showing Approval Rules and Approval Actions
3. Approval Action Configuration

Define an Approval Action by selecting a target model (e.g., Sale Order) and the method to intercept (e.g., action_confirm). This tells the engine which buttons to gate.

Approval Action form — Target Model: Sale Order, Method: action_confirm
4. Approval Rule with Steps

Create an Approval Rule with a target model, associated actions, optional domain filter, and one or more Approval Steps. Each step is assigned to a security group and processed in sequence order.

Approval Rule form with target model, domain filter, and approval steps
5. Action Intercepted — Approval Required

When a user clicks Confirm on a sale order that matches an approval rule, the action is blocked. A clear message informs the user that approval is required and has been requested.

Invalid Operation popup — document requires approval before action_confirm
6. Approval Dashboard (Kanban View)

The Approval Dashboard shows all pending approval requests in a kanban view grouped by status. Approvers can quickly see which documents need their attention.

Approval Dashboard — kanban view with pending approval card
7. Approval Instance Form (Approve / Reject)

The approval form shows full details: linked document, current step, progress, and chatter with activity notifications. Approvers click Approve or Reject directly.

Approval Instance form — APR/00005 with Approve and Reject buttons

Configuration Guide — Set Up Approval Rules in Minutes

Step 1: Register Approval Actions for Sale Orders, Purchase Orders, Invoices & More

Navigate to Approvals → Configuration → Approval Actions and register which model/method combinations need approval gating.

Action Name Target Model Method Name
Sale Order Confirm Sale Order (sale.order) action_confirm
Purchase Order Confirm Purchase Order (purchase.order) button_confirm
Invoice Post Journal Entry (account.move) action_post
Inventory Validate Transfer (stock.picking) button_validate
Expense Submit Expense Report (hr.expense.sheet) action_submit_sheet
Tip: The module validates that the method actually exists on the model when you save. You only need the business app installed (e.g., Sales) — no extra bridge module is required.

Step 2: Create Approval Rules

Navigate to Approvals → Configuration → Approval Rules and create rules:

  • Target Model — Select the Odoo model (e.g., Sale Order).
  • Actions — Pick which registered actions this rule applies to (leave empty for all).
  • Company — Scope the rule to a specific company.
  • Domain Filter — Optional condition, e.g. [("amount_total", ">", 5000)].
  • Approval Steps — Add steps in order with the approver security group, instructions, and whether attachments are required.

Step 3: Test the Workflow

  1. Create a document that matches your rule (e.g., a sale order over $5,000).
  2. Click the action button (e.g., Confirm) — the system blocks it and creates an approval request.
  3. Log in as an approver and navigate to Approvals → Dashboard or My Pending Approvals.
  4. Open the approval and click Approve (or Reject with a reason).
  5. Once all steps are approved, the original user can perform the action successfully.

Supported Odoo Models for Approval Workflow

This dynamic approval module works with any Odoo model out of the box. Here are the most common use cases:

Business Area Odoo Model Approval Use Case
Sales Sale Order / Quotation (sale.order) Sale order approval, quotation approval before confirmation
Purchasing Purchase Order / RFQ (purchase.order) Purchase order approval, RFQ approval, vendor order approval
Accounting Invoice / Bill / Journal Entry (account.move) Invoice approval, bill approval, credit note approval, journal entry approval
Payments Payment (account.payment) Payment approval, vendor payment approval, customer refund approval
Expenses Expense Report (hr.expense.sheet) Expense approval, employee expense approval, travel expense approval
Inventory Transfer / Picking (stock.picking) Inventory transfer approval, delivery approval, receipt approval
Manufacturing Manufacturing Order (mrp.production) Production order approval, manufacturing approval
Any Custom Model Your custom module's model Custom workflow approval for any business process

Common Approval Use Cases

  • Sale Order Approval: Require manager approval for quotations and sales orders above a certain amount before confirmation.
  • Purchase Order Approval: Multi-level approval for purchase orders — first by department head, then by finance, then by CEO for large purchases.
  • Invoice & Bill Approval: Ensure invoices and vendor bills are reviewed and approved before posting to the accounting ledger.
  • Expense Approval: Route employee expense reports through their manager and finance department before reimbursement.
  • Payment Approval: Require approval before processing vendor payments or customer refunds above a threshold amount.
  • Inventory Transfer Approval: Gate warehouse transfers and deliveries so they require supervisory approval before validation.
  • Custom Workflow Approval: Apply approval to any business process in Odoo — including your own custom modules and methods.
  • Amount-Based Approval: Set different approval chains based on document amounts — e.g., orders under $1,000 need one level, orders over $10,000 need three levels.
  • Company-Specific Approval: Different approval policies per company in a multi-company Odoo database.

Technical Details

Module Namedynamic_multi_approval
Version18.0.1.0.0
Odoo Version18.0 (Community & Enterprise)
Dependenciesbase, mail
LicenseLGPL-3
CategoryTools
Multi-CompanyYes — rules are company-scoped
Python Modelsapproval.config, approval.config.line, approval.action, approval.instance

Architecture Overview

  • approval.action — Registers model/method pairs and wraps them at runtime with interceptor logic. Also auto-generates a smart "Approval" button on the target model's form view.
  • approval.config — Defines rules: target model, trigger domain, company, and ordered approval steps.
  • approval.config.line — Individual step in an approval chain: sequence order, approver group, optional instructions, and optional attachment requirement.
  • approval.instance — Live workflow record (inherits mail.thread + mail.activity.mixin) tracking a document through its approval chain.
  • approval.reject.wizard — Transient model for capturing rejection reasons.
  • base override — The write() method on base auto-cancels linked approval instances when a document returns to draft/cancel state.

Automatic Smart Button Injection

When you register an approval action for a model, the module automatically creates an extension view that adds an Approval smart button to the model's primary form view. Users click it to see the linked approval instance. No manual XML view modifications needed.

Auto-Cancel on Reset

When any document's state or status field is written to draft, cancel, or cancelled, all linked approval instances are automatically cancelled. This ensures stale approvals don't bypass future gated actions.


Security & Access Rights

Model Administrator Internal User
approval.configFull access (CRUD)No access
approval.config.lineFull access (CRUD)No access
approval.actionFull access (CRUD)No access
approval.instanceFull access (CRUD)Read, Write, Create (no delete)
approval.reject.wizardFull access (CRUD)Full access (CRUD)

Only Settings / Administrator users can configure approval rules and actions. All internal users can view and interact with approval instances (approve/reject) based on their group membership.


Installation

  1. Download the module and place the dynamic_multi_approval folder in your Odoo addons path.
  2. Restart the Odoo server.
  3. Go to Apps, remove the "Apps" filter, search for Dynamic Multi-Level Approval, and click Install.
  4. Navigate to Approvals → Configuration to start setting up your approval rules.

Changelog

VersionDateChanges
18.0.1.0.0March 2026Initial release — approval actions, rules, multi-step chains, activities, rejection wizard, auto smart button, auto-cancel on reset.

Support

For questions, feature requests, or bug reports related to this module, please use the contact details provided on the Odoo Apps Store listing page. We are happy to assist with configuration and customization needs.


Why Choose This Odoo Approval Module?

This ModuleOther Approval Modules
One module for all models — Sales, Purchase, Accounting, Inventory, Expenses, and moreSeparate module needed for each business area
Only depends on base + mail — no hard dependenciesRequires specific business apps to be installed
Unlimited approval steps — single, double, triple, or N-level approvalOften limited to 2-3 approval levels
Domain-based triggers — conditional approval based on amount, type, or any fieldApply to all records or basic amount threshold only
Multi-company — different rules per companySingle company or manual duplication
Auto smart button injection — no XML modifications neededManual view customization required
Works with custom models and custom methodsLimited to predefined models only

Related search terms: Odoo 18 approval module, Odoo approval workflow, dynamic approval Odoo, multi level approval Odoo, sale order approval Odoo, purchase order approval Odoo, invoice approval Odoo, bill approval Odoo, expense approval Odoo, payment approval Odoo, inventory approval Odoo, stock picking approval, multi step approval, multi tier approval, approval chain, approval hierarchy, sequential approval, configurable approval, dynamic approval rules, conditional approval, domain based approval, amount based approval, threshold approval, double approval, triple approval, multiple approval levels, user wise approval, group wise approval, approval process, approval management, document approval, approval dashboard, approval kanban, approval notification, approval activity, approval chatter, approval reject, rejection with reason, approval smart button, approval audit trail, approval tracking, multi company approval, company wise approval, branch wise approval, approval attachment, all in one approval, universal approval, generic approval workflow, any model approval, Odoo 18 community approval, Odoo 18 enterprise approval, Odoo ERP approval workflow, sale dynamic approval, purchase dynamic approval, account dynamic approval, HR expense approval, manufacturing approval, MRP approval, warehouse approval, delivery approval, receipt approval, quotation approval, RFQ approval, vendor bill approval, credit note approval, debit note approval, journal entry approval, employee expense approval, travel expense approval, Odoo approval app, Odoo approval plugin, Odoo approval addon, best Odoo approval module.

Dynamic Multi-Level Approval — The all-in-one configurable approval workflow module for Odoo 18

Sale Order Approval | Purchase Order Approval | Invoice Approval | Expense Approval | Payment Approval | Inventory Approval

Author: Kuma T  |  License: LGPL-3  |  Odoo 18 Community & Enterprise

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with