Purchase Order Workflow: Requests to Approved POs Without the Email Chase
Purchase requests arrive by email, get approved in a thread nobody can find later, and become POs by re-keying. The workflow takes the request from a form or Slack, has an AI agent complete and normalise it (the right category, the preferred supplier, the budget line), checks budget and policy, routes approvals by amount and category with reminders, creates the PO in the ERP, sends it to the supplier and tracks receipt — with a full audit trail.
Written by Max Zeshut
Founder at Agentmelt · Last updated Sep 11, 2026
The problem
Maverick spend, lost approvals, POs created after the invoice arrives, and no visibility into committed spend until month-end.
What changes when it runs
Every purchase starts as a request with a budget check and ends as a PO the supplier received, with approvals recorded. Committed spend is visible in real time, preferred suppliers are used because the workflow suggests them, and invoices match POs because the PO existed first.
Trigger, then 8 steps
Trigger
Form / Slack request
A purchase-request form (or a Slack slash command) starts the workflow; email requests to procurement@ are parsed the same way.
Receive the request
WebhookWhat, why, quantity, estimated cost, needed-by date, requester and cost centre — from a form or a Slack message.
Normalise and complete
AI AgentMaps the free-text item to a category, suggests the preferred supplier from the catalogue, fills the budget line from the cost centre, and asks the requester for anything missing.
Check budget and policy
HTTP RequestRemaining budget for the line from the finance system; policy rules (three quotes above a threshold, contracted supplier required for a category, blocked categories).
Route approvals
SwitchApproval chain by amount and category: manager, budget owner, procurement, finance — each in Slack with the request summary; reminders and escalation after the SLA.
Create the PO
HTTP RequestApproved request becomes a PO in the ERP (NetSuite, Dynamics, SAP B1, Xero) with the approvals attached.
Send to the supplier
GmailPO emailed from procurement with terms and delivery details; supplier acknowledgement tracked.
Track receipt
Schedule TriggerExpected delivery dates monitored; the requester confirms receipt (or partial receipt) from a Slack prompt, which closes the PO for invoice matching.
Report committed spend
Google SheetsLive view of requested, approved, ordered and received spend by cost centre and category; approval cycle time by step.
Data it touches
- Purchase request form / Slack
- Supplier catalogue and contracts
- Budget system (ERP or FP&A tool)
- ERP purchasing module
- Approval policy matrix (finance-owned sheet)
Guardrails
- No PO is created without the approvals the policy matrix requires; the workflow enforces, it does not decide.
- Supplier suggestions come from the approved catalogue; new suppliers go through onboarding first.
- Budget checks use live data; over-budget requests are flagged, not blocked silently.
- Every step is logged with actor and timestamp for audit.
PO before invoice, every time
The reason invoice processing breaks down is that the PO did not exist when the invoice arrived, so there is nothing to match. Making the request-to-PO path faster than sending an email is what gets people to use it: a Slack command, an agent that fills in the boring fields, and approvals that arrive as buttons. Once the PO exists first, the invoice workflow matches automatically and month-end stops being a reconciliation of surprises.
Approvals as policy, not habit
The approval matrix — who approves what, above which amount, in which category — lives in a sheet finance owns. The workflow applies it exactly, every time, with reminders and escalation. That consistency is what auditors want and what removes the 'who approved this?' conversation.
Tools in the stack
| Tool | Role in this workflow |
|---|---|
| n8n | Intake, checks, approval routing, PO creation, tracking |
| Claude | Request normalisation and completion |
| NetSuite / Dynamics / Xero | PO and budget system |
| Slack | Requests, approvals, receipt confirmation |
Want this running without building it?
Automation workflow
$247/month
We set up, host and maintain this workflow on n8n and connect it to your tools. Setup included, cancel monthly, you keep the JSON.
Custom build
$4,000–7,000 one-time
Your systems, your rules, your edge cases. A one-off build on Claude and n8n, delivered with documentation and a walkthrough.
Covers one entity, one ERP and up to 500 requests a month. Multi-entity approval matrices, supplier portals or punch-out catalogues are a custom build.
Frequently asked questions
Can requesters use it without training?
Yes — the form or Slack command asks for what they know (what, why, roughly how much) and the agent completes the rest, asking one question at a time if something is missing.
Does it handle recurring purchases?
Blanket POs and scheduled releases are supported; the request references the blanket and skips the approval chain within its limits.
What about suppliers not in the catalogue?
The request is held while the supplier goes through your onboarding (details, banking verification, terms); the workflow creates that task and resumes when it completes.
Calculator
Put your own numbers in
Estimate the cost of the current process and what this workflow changes.
The pillar
AI Procurement Agent
Analyze spend, source suppliers, automate purchase orders, and manage vendors with AI.