Approval Workflow
An approval workflow is a defined sequence of authorisations a document must obtain before it becomes binding or actionable.
Also called Authorisation · Sign-off · Approval matrix · Delegation of authority
Why it exists
Because some decisions commit money or accept risk on behalf of an organisation, and the organisation needs to say in advance who is allowed to make them.
What it means to the business
Approval workflow is where governance stops being a policy document and becomes something the software enforces. Its value is almost entirely in the exceptions — the 2% of transactions someone should look at twice — which is why designing it around the 98% produces a control that costs everybody time and catches nothing.
Draft. Being prepared. Not submitted, not binding.
State 1 of 5
Approval Workflow gates Purchase Order.
The commonest application: authorising spend before it is committed.
Open Purchase OrderThe person senior enough to approve is often too far from the work to judge it. They approve everything, the control becomes a rubber stamp, and its existence provides false assurance — worse than no control, because everyone believes it is working.
Rules that must hold
- An approver must be able to reject, not only approve. A step with no possible outcome but yes is a notification wearing a control's clothes.
- The approver must be a different person from the requester. Self-approval defeats the entire mechanism.
- Every decision is recorded with who, when and — for rejections — why. An approval you cannot attribute is not evidence of anything.
- A document in flight is not yet binding. It commits nothing until the last required approval lands.
What commonly goes wrong
It fails organisationally rather than technically. The workflow is configured correctly, and then the first urgent order is delayed by an absent approver, and someone finds the override. After that the override IS the process, the audit trail records approvals nobody read, and the failure is invisible until somebody tests it — usually an auditor, usually after something has already gone wrong.
Edge cases
- Emergency purchases where the goods are needed before anyone can approve, which needs a defined retrospective path rather than an undefined one.
- An approver who is also the requester on their own department's spend.
- Documents amended after approval — whether that voids the approval is a policy decision the system must encode, not infer.
- Approval thresholds in a foreign currency, where the limit is breached or not depending on the day's rate.
How ERPNext models it
| DocType | Note |
|---|---|
| Workflow | States and transitions per doctype. `allow_self_approval` should be off for anything financial. |
| Authorization Rule | Value-based thresholds — the mechanism for 'over this amount, a different person decides'. |
| Workflow Action | The audit trail: who acted, when, and the comment. This is the artefact an auditor actually asks for. |
Last reviewed 2026-08-14
Machine-readable versionWe implement this for a living — that’s where the mistakes above come from. See the service or request a discovery briefing