mail@mabbaz.com Abu Dhabi, UAE

ERP & Enterprise Applications · Framework

Approval Limits and Delegation of Authority Inside Your ERP

A finance manual describes intent. An ERP workflow engine enforces logic. Here is how to design a delegation of authority that survives the gap between the two.

Muhammad Abbas August 1, 2026 ~10 min read

Almost every approval matrix I inherit started life as a table in a finance policy document. It reads cleanly on paper: purchases up to a value go to a manager, above that to a director, above that to the board. Then someone tries to load it into an ERP workflow engine, and it falls apart within a week of go-live. The reason is simple. A policy document is written for humans who apply judgement. A workflow engine applies rules with no judgement at all. This guide is about designing a delegation of authority (DoA) that behaves the same in both worlds, and about the control logic that stops the failures I see over and over.

Why the finance-manual matrix dies in the engine

The finance manual assumes a reader who knows the context. It says "the department head approves up to 50,000" and trusts a human to know which department, which head, whether tax is included, and what to do when that head is on annual leave. The workflow engine knows none of this. It needs every one of those assumptions turned into an explicit, machine-readable rule, and where a rule is missing it does one of two things: it stops dead, or worse, it lets the document through.

The classic failures follow a pattern. The matrix has value bands but no rule for what "value" means, so the engine reads gross where the policy meant net. It names roles like "department head" but the ERP holds people, not roles, so a leaver still sits in the approval chain. It assumes one approval per document, but a requester adds a line after submission and no one re-checks it. And it never says what happens when the only approver in a band is also the person raising the request. A policy tolerates these gaps because a human fills them. An engine cannot.

The design test

If a rule in your DoA cannot be written as "when field X compares to value Y, route to Z," it is not a rule yet, it is an intention. The engine only executes rules. Every intention you leave unresolved becomes either a hard stop or a hole a determined requester will find.

So the design job is translation. Take the policy intent and express it as dimensions the engine can read: value band, spend category, legal entity, and a named fallback for every approver. Get those four right and most of the pain disappears. For the workflow mechanics that sit under this, see my companion piece on designing approval workflows; this article stays deliberately on control design, not platform buttons.

A delegation-of-authority table that works

Below is the shape of a DoA I would actually load. Notice what the finance manual usually omits: category overrides that cut across the value bands, an entity dimension so a shared services centre does not approve for a subsidiary it has no mandate over, and a named escalation path for absence and departures. Values are illustrative and pre-tax net.

Value band (net) Standard approver Capex override IT / subcontract override Entity rule Escalation path
0 to 5,000 Cost-centre owner Same Same + IT sign-off Own entity only Deputy owner → department head
5,001 to 25,000 Department head + Finance business partner + IT manager Own entity only Delegate on record → division head
25,001 to 100,000 Division head + Capex committee + IT director (subcontract: + Legal) Entity director co-approves Named delegate → CFO office
100,001 to 500,000 CFO + Capex committee + Board note + CIO / procurement director Entity director mandatory CEO office (time-boxed)
Above 500,000 CEO + Board Board resolution Board resolution Group + entity board No single delegate; quorum rule

Two columns earn their place here. The category overrides (capex, IT, subcontract, and separately MRO consumables which usually route on a lighter chain because they are low-value and high-frequency) mean the same 30,000 spend takes a different path depending on what it buys. And the escalation path is not a note in a manual; it is a named person or a named rule the engine can resolve when the primary approver is unavailable. "Route to their manager" is a rule. "Someone will sort it out" is not.

The four rules that stop the common failures

Bands and categories decide where a document goes. These four rules decide whether the routing can be trusted. Each one exists because I have watched its absence cause a real problem.

1. No self-approval, ever.

A requester must never appear as an approver on their own document, at any band, even when they hold the authority for that value. This sounds obvious and is violated constantly, because the person who raises a small purchase is often the person authorised to approve one. The engine must compare requester identity against every approver in the resolved chain and block a match outright, not just warn.

2. The cost-centre owner needs a second pair of eyes.

A subtler version of the same problem: the approver is not the requester, but is the owner of the cost centre the spend hits, and the requester reports to them. That is one person controlling both the request and the budget it draws down. Above the lowest band, force a second independent approver who does not own that cost centre. One signature over a budget you control is not a control.

3. Band checks read the net, not the gross.

The single most common band error. A 48,000 net order with tax reads as 50,400 gross. If the engine bands on gross, it escalates a purchase the policy intended to keep at department level, and users learn to distrust the matrix. If it bands on net when the policy meant gross, a 50,000 purchase slips under the line. Pick one, write it down, and make sure the field the engine reads is the pre-tax net value on every document type.

4. A changed line re-triggers approval.

Approval is granted against a specific document state. If a requester or buyer edits a line after approval, adds quantity, swaps an item, raises a price, the original approval no longer describes what is being bought. The rule: any change to value, quantity, item, or vendor after submission invalidates prior approvals on the affected bands and re-routes. Without this, approval becomes a one-time gate anyone can walk through and then move the goalposts behind. This is where approval design meets requisition and approval automation most directly.

The segregation-of-duties matrix

Approval limits control how much one person can commit. Segregation of duties (SoD) controls the combinations of steps one person can perform, so no single individual can run a transaction end to end unobserved. The value bands and the SoD matrix are two different controls and you need both. ISACA's control glossary frames SoD as splitting authorisation, custody, and recording; in a procure-to-pay flow that maps onto five roles.

Role held Requester Approver Buyer Receiver AP clerk
Requester-NeverCautionNeverNever
ApproverNever-NeverCautionNever
BuyerCautionNever-NeverNever
ReceiverNeverCautionNever-Never
AP clerkNeverNeverNeverNever-

Read it as: the person who receives goods must not be the person who pays for them; the buyer who chooses the vendor must not approve their own purchase order; the AP clerk who releases payment must not do anything else in the chain. The "Caution" cells are combinations that are tolerable in a small team with a compensating control (a review report, a second sign-off) but should never be granted casually. In the ERP, these are not just policy, they are role assignments; two conflicting roles on one user account is the finding an auditor circles first.

A worked abuse pattern: the split PO

Here is the pattern the value bands invite if you stop at them. Suppose the department-head band tops out at 50,000, above which a division head must approve. A buyer wants to place a 147,000 order but does not want it seen at division level. So they raise three purchase orders of 49,000 each, to the same vendor, in the same week, for the same project. Each PO sits comfortably under the 50,000 band and clears at department level. The control was real, and it was defeated by arithmetic.

No single approval rule catches this, because each document is individually compliant. This is why you need a detective control alongside the preventive bands. The detective control is an aggregation report: same vendor, same requester or cost centre, POs summing above a band threshold inside a rolling window (say 30 days), flagged for review. It does not block the transaction; it surfaces the pattern to someone who can ask why. Preventive controls stop what they are shaped to stop. Detective controls catch what slips between the shapes.

Caution: do not automate the split-PO block

It is tempting to make the engine hard-stop any set of POs that sum over a band. Resist it. Legitimate phased orders, partial deliveries, and separate genuine needs to one vendor will trip the same rule and grind procurement to a halt. Split-PO abuse is a review target, not an automatic reject. Let a human read the flag and judge intent.

Twelve scenarios to test before go-live

A DoA is only as good as its behaviour under edge cases, and you find those in user acceptance testing, not in production. Run this script against a copy of your real matrix before go-live. Each row should produce the expected outcome exactly; anything else is a design gap to close now, not after the auditors arrive.

# Scenario Expected result
1Requester raises a purchase they are also authorised to approveSelf-approval blocked, routes to next approver
248,000 net order, tax pushes gross to 50,400, band edge at 50,000Stays in the net band, does not escalate on gross
3Approved order, requester adds a line raising total by 20,000Prior approval invalidated, re-routes to new band
4Primary approver is on annual leaveRoutes to the named delegate on record automatically
5Approver has left the company, account disabledResolves to escalation path, never dead-ends
6Capex item at 30,000 that would clear on standard chainCapex override adds committee, does not skip it
7IT subcontract at 40,000IT and legal overrides both applied
8Shared services user approves spend for a subsidiary entityBlocked by entity rule, entity director required
9Cost-centre owner is the sole approver on their own budgetSecond independent approver enforced above band 1
10Three 49,000 POs, same vendor, same weekEach clears, aggregation report flags the set
11Buyer holds both buyer and approver rolesSoD conflict blocked at role assignment
12Order exactly on a band boundary (50,000 net)Routes per the documented inclusive/exclusive rule

Scenario 12 catches the boundary ambiguity that no one writes down: is 50,000 in the band below or the band above? The matrix must state it, and the engine must match. For where this sits in the wider procure-to-pay chain, see my walkthrough of the PR to PO to GRN workflow.

Bringing it together

A delegation of authority that works is not a bigger table than the one in the finance manual; it is a more honest one. It names what "value" means, it names the fallback when an approver is absent or gone, it separates the roles that must never combine, and it pairs preventive bands with detective reports for the abuse the bands invite. Test it against the twelve scenarios before go-live and you close the gaps in a sandbox rather than in an audit finding. The workflow engine will do exactly what you tell it. The whole discipline is telling it the right thing, completely, with nothing left to a reader's judgement.

If you want a reference for how one major platform models these approval hierarchies and conditional routing, Microsoft's Dynamics 365 Finance documentation is a solid, vendor-neutral read on workflow approvals, though the control design in this article applies to any ERP.

Independence note: I do not resell or take commission from any ERP vendor. The platforms named here are references for illustration, not recommendations, and the control design stands independent of any product.

Written by Muhammad Abbas

CMMS / CAFM Manager & Enterprise Integration Specialist · 22+ years across ERP, EAM, CAFM and enterprise integration.

Work with me
Designing your DoA?

Independent help translating an approval policy into ERP workflow that holds up to audit.

Start a Conversation

You may also like

Fixed Assets Management in Business Central

July 9, 2026

How to run the fixed assets lifecycle in Business Central: asset cards,...

Read more

Warehouse Robotics Explained

July 16, 2026

A clear map of warehouse robot families: mobile robots, picking arms and cobots,...

Read more

IoT Integration Explained

July 10, 2026

How IoT integration works: the layered architecture, device protocols, edge...

Read more
MAbbaz.com
© MAbbaz.com