Procure-to-pay process
A procure-to-pay process flowchart shows how an organisation buys goods or services and pays for them. A requisition is approved by the budget holder, or also by finance above a spend threshold. A purchase order goes to the supplier, the goods are received and recorded, and the supplier’s invoice is matched against the order and the receipt before it is scheduled for a payment run. The same page serves anyone looking for a procurement process flowchart or a purchase order process.
Finance and procurement teams draw this to agree approval rules, to show auditors how spending is controlled, and to find where invoices get stuck. The three-way match compares the purchase order, the goods receipt and the invoice, so the business only pays for what it ordered, at the agreed price, and actually received. A mismatch is investigated and resolved with a credit note, a corrected invoice or an approved variance, never paid as it stands.
Mermaid source
---
title: Procure-to-pay process
---
flowchart LR
need([Team needs goods or services]) --> req[Raise a purchase requisition]
req --> threshold{Above the spend threshold?}
threshold -->|No| holder[Budget holder approves]
threshold -->|Yes| finance[Budget holder and finance approve]
holder --> approved{Approved?}
finance --> approved
approved -->|No| revise[Requester revises or cancels]
revise --> req
approved -->|Yes| po[Issue the purchase order]
po --> confirm{Supplier confirms?}
confirm -->|Price or date changed| amend[Amend the purchase order]
amend --> confirm
confirm -->|Yes| receipt[Record the goods receipt]
receipt --> invoice[Supplier invoice arrives]
invoice --> match{Three-way match?}
match -->|Matches| run[Schedule in the payment run]
match -->|Mismatch| exception[Investigate the exception]
exception --> cause{Resolution}
cause -->|Credit note or corrected invoice| invoice
cause -->|Variance approved| run
run --> paid([Supplier paid, remittance sent])Stock Mermaid vs Line9 on this procure-to-pay process
Run the same source through the stock Mermaid engine and it often will not look as good. In some cases, Mermaid is able to deliver a usable graph, but not always. On this one:
Stock Mermaid draws this process as a single strip about nine times wider than it is tall, so to fit into a page or screen it has to be scaled down and the labels become very small. Line9 lays out the same source in a more compact shape, with the approval, amendment and exception loops kept close to the steps they return to, so it can be shown at a size where every label is readable.
For a fuller product comparison — layout, export, CLI, and pricing — see Line9 vs mermaid.live.
Render your own
Paste any Mermaid flowchart into the free online editor — no account needed. Prefer the terminal? Install the line9 CLI (free for personal use).
Related diagrams
- User authentication flow (with MFA)
- GitHub pull request workflow
- CI/CD pipeline (with rollback)
- AI coding agent workflow
- Incident response runbook
- Database migration rollout
- Feature-flag canary rollout
- Webhook delivery, retry, and dead-letter flow
- Decision tree
- Payment flow
- Content approval workflow (with legal review)
- Support ticket lifecycle
- Peer-review process
- Recruitment process
- Kubernetes cluster architecture
- E-commerce order processing
- RAG application architecture
- Data flow diagram
- Network topology diagram
- System context diagram
- Event-driven architecture
- User flow diagram
- CONSORT flow diagram
- HACCP flow diagram
More scenarios on the Mermaid examples hub.