Skip to Content

MRM product

Universal Multi-Level Approval Engine

A configurable approval framework that attaches to any Odoo model, replacing hard-coded approval levels with configuration.

Overview

After implementing many approval processes for purchase orders, payments and expenses, we generalised the pattern into a reusable approval engine for Odoo 19.

Business challenge

Each new approval requirement used to mean new code. Organisations needed to change levels, thresholds and approvers without development or upgrades.

Requirements

  • Approval flows on any model, including custom ones
  • Unlimited stages without code changes
  • Conditions without executing administrator Python
  • Delegation, escalation and expiry
  • Tamper-resistant audit history
  • Multi-company support

Solution architecture

A mixin applied dynamically to target models, with flow, stage, request and history models. The guarded business method is hidden and refused server-side until approval.

Major features

  • Status bar integration on the document
  • Approve and reject buttons on the document
  • Any-one, minimum-count and all-approver modes
  • Monitored fields that restart approval
  • Delegations with date ranges
  • Scheduled timeout and escalation

Important workflows

  1. 1 Configure flow
  2. 2 Submit document
  3. 3 Sequential or parallel approval
  4. 4 Escalation on timeout
  5. 5 Release of business action

Business impact

  • Approval rules changed by configuration rather than development
  • Server-side enforcement prevents approval bypass
  • Consistent audit trail across document types

Impact is described qualitatively. We do not publish performance figures without client-verified evidence and permission.

Related solutions

Solutions behind this project

Next case study
Automation

Multi-Level Approval Engine

Configurable approval flows for purchase orders, expenses, payments or any Odoo model, with unlimited levels, delegation, escalation and audit.

View solution
Sales

Customer Credit Control

Live credit exposure from receivables and un-invoiced orders, with limits, overdue rules and finance approval for exceptions.

View solution

Let's talk

Need an Odoo solution tailored to your business?

Let's discuss your requirements, your current systems and what you want to achieve.