Invoice approval BPMN diagram example
Invoice approval is a classic BPMN example of threshold-based routing — the path an invoice takes depends on its amount and whether approvers sign off.
The process in plain English
An employee submits an invoice. Finance validates it against the purchase order. Small invoices need one manager's approval; larger ones need finance-director sign-off too. Approved invoices are scheduled for payment; rejected ones go back to the submitter with a reason.
Steps and their BPMN elements
| Step | BPMN element | Lane |
|---|---|---|
| Invoice submitted | Start event | Employee |
| Validate against PO | User task | Finance |
| Amount over threshold? | Exclusive gateway | Finance |
| Manager approval | User task | Manager |
| Director approval (large only) | User task | Director |
| Approved? | Exclusive gateway | — |
| Schedule payment | Service task | Finance |
| Return with reason | User task | Finance |
| Invoice paid | End event | — |
| Invoice rejected | End event | — |
Key modelling points
- The amount-over-threshold gateway is the heart of the model — label the branches with the actual thresholds.
- A second approved? gateway handles the reject loop back to the submitter.
- Keep validation as a distinct user task; don't fold the decision into the gateway (a common mistake).
Generate your own invoice approval diagram
Tell BPMN Studio your approval thresholds and approvers, and get a valid BPMN 2.0 diagram to edit and export. More templates · gateways explained.
Frequently asked questions
How do you model an invoice approval process in BPMN?
Use a start event when an invoice is submitted, a validation user task, then an exclusive gateway that routes by amount — small invoices to a single approver, large invoices to a second-level or finance approval. Approved invoices go to a payment service task; rejected ones return to the submitter.