Workflow Template
Purchase Order Approval Workflow
End-to-end purchase order process covering request submission with goods/services details, supplier, pricing, cost centre, business justification and supporting quotes; AI-based routing for delegated vs finance/procurement review; approval; PO issuance and completion.
Uncontrolled purchase order processes create budget leakage, approval bottlenecks, and zero audit trail. This workflow manages the full PO lifecycle — from structured request submission through AI-based approval routing, delegated manager or finance/procurement review, revision loops, and final PO issuance. Operations, finance, and procurement teams run it entirely inside assess.one.
Business Outcomes
- Reduce PO approval cycle time by eliminating manual routing and email chasing
- Enforce consistent spend controls with AI-driven delegated vs finance approval thresholds
- Maintain a complete audit trail from submission through approval to PO issuance
- Cut maverick spend by requiring business justification and supporting quotes at submission
- Give finance and procurement real-time visibility into pending and approved purchase commitments
Workflow Steps
Steps
- 1Create Purchase Order Recordcreate record
Registers the PO request as a new record in the system.
- 2Set Status: Submittedupdate record
Sets the PO record status to Submitted on creation.
- 3Send Submission Confirmationsend email
Notifies the requester that their PO request has been received.
- 4AI Approval Routingai decision
AI assesses the request to determine whether delegated manager approval or full finance/procurement review is required.
- 5Route Approval Path
Routes the PO to delegated manager approval, finance/procurement review, or human triage based on AI recommendation.
_ai_decision_ai_route_approval_needs_human_review: "true"→Manual Triage — Determine Approval Path_ai_decision_ai_route_approval_decision: "delegated_approval"→Set Status: Pending Delegated Approval_ai_decision_ai_route_approval_decision: "finance_procurement_review"→Set Status: Finance/Procurement ReviewDefault→Manual Triage — Determine Approval Path - 6Manual Triage — Determine Approval Pathcreate task
Procurement team manually reviews the request and determines the correct approval route.
- 7Persist Triage Outcomeupdate record
Saves the manually selected approval path to the PO record.
- 8Route Triage Outcome
Routes based on the manually selected approval path from triage.
triage_approval_path: "Delegated Manager Approval"→Set Status: Pending Delegated Approvaltriage_approval_path: "Finance/Procurement Review"→Set Status: Finance/Procurement Reviewtriage_approval_path: "Reject — Not Approved"→Set Status: RejectedDefault→Set Status: Pending Delegated Approval - 9Set Status: Pending Delegated Approvalupdate record
Updates the PO status to reflect it is awaiting delegated manager approval.
- 10Delegated Manager Approvalrequest approvalrequires approval
Requests approval from the delegated budget holder or cost centre manager.
- 11Route Delegated Approval Outcome
Routes the workflow based on the delegated manager's approval decision.
approval_status: "approved"→Set Status: Approvedapproval_status: "rejected"→Set Status: RejectedDefault→Set Status: Rejected - 12Set Status: Finance/Procurement Reviewupdate record
Updates the PO status to reflect it is under finance or procurement review.
- 13Finance/Procurement Reviewcreate task
Finance or procurement team reviews the PO for budget compliance, supplier terms, and policy adherence.
- 14Persist Finance Review Outcomeupdate record
Saves the finance/procurement review recommendation to the PO record.
- 15Route Finance Recommendation
Routes based on the finance/procurement reviewer's recommendation.
finance_recommendation: "Approve"→Finance/Procurement Formal Approvalfinance_recommendation: "Return for Revision"→Return to Requester for Revisionfinance_recommendation: "Reject"→Set Status: RejectedDefault→Finance/Procurement Formal Approval - 16Return to Requester for Revisioncreate task
Notifies the requester that their PO request requires revision before it can proceed.
- 17Persist Revised PO Detailsupdate record
Updates the PO record with the revised amount and resets status for re-review.
- 18Restart Finance Reviewrestart from step
Restarts the workflow from the finance/procurement review task after requester revision.
- 19Finance/Procurement Formal Approvalrequest approvalrequires approval
Finance or procurement authority formally approves or rejects the PO.
- 20Route Finance Approval Outcome
Routes the workflow based on the finance approver's decision.
approval_status: "approved"→Set Status: Approvedapproval_status: "rejected"→Set Status: RejectedDefault→Set Status: Rejected - 21Set Status: Approvedupdate record
Updates the PO record status to Approved.
- 22Issue Purchase Ordercreate task
Procurement team issues the formal PO to the supplier and records the PO number.
- 23Persist Issued PO Detailsupdate record
Saves the issued PO number and updates the record status to PO Issued.
- 24Notify Requester — PO Issuedsend email
Emails the requester to confirm the PO has been approved and issued.
- 25Confirm Goods/Services Receiptcreate task
Requester confirms receipt of the goods or services and records any delivery issues.
- 26Persist Receipt Statusupdate record
Saves the receipt status to the PO record.
- 27Route Receipt Outcome
Routes based on whether goods/services were received satisfactorily.
receipt_status: "Received in Full"→Set Status: Completedreceipt_status: "Partially Received"→Resolve Delivery Issuereceipt_status: "Received with Issues"→Resolve Delivery Issuereceipt_status: "Not Received"→Resolve Delivery IssueDefault→Set Status: Completed - 28Resolve Delivery Issuecreate task
Procurement team follows up with the supplier to resolve delivery shortfalls or issues.
- 29Persist Resolution Outcomeupdate record
Saves the delivery issue resolution to the PO record.
- 30Route Resolution Outcome
Routes based on how the delivery issue was resolved.
issue_resolution: "Resolved — Goods Delivered"→Set Status: Completedissue_resolution: "Resolved — Credit Issued"→Set Status: Completedissue_resolution: "PO to be Cancelled"→Set Status: Cancelledissue_resolution: "Escalated to Management"→Set Status: CompletedDefault→Set Status: Completed - 31Set Status: Rejectedupdate record
Updates the PO record status to Rejected and notifies the requester.
- 32Notify Requester — PO Rejectedsend email
Emails the requester to inform them their PO request has been rejected.
- 33Set Status: Cancelledupdate record
Updates the PO record status to Cancelled following unresolved delivery issues.
- 34Notify Requester — PO Cancelledsend email
Emails the requester to inform them the PO has been cancelled.
- 35Set Status: Completedupdate record
Marks the PO record as completed once goods/services are received satisfactorily.
Fields
- Requester Name*
- Requester Email*
- Department*
- Cost Centre / Budget Code*
- Request Type*
- Description of Goods/Services*
- +14 more fields
Forms
Purchase Order Request
14 fields
Data Views
All Purchase Orders
requester_name, department, supplier_name, request_type +5 more
Pending Approval
requester_name, supplier_name, total_amount, currency +3 more
Dashboard Widgets
Recommended integrations
Setup the following integrations to extend workflow capability.
Send email in the workflow
AWS SES
Similar Workflows
Similar Categories
FAQs
How long does it take to get this workflow live?
You publish the template in assess.one and it is live in minutes. There is no implementation project, no external software to install, and no developer involvement required. Your team can run the first real purchase order through the live process immediately after publishing.
How do I set up the AI approval routing step?
The AI routing step is configured directly inside assess.one. You define the criteria — such as spend thresholds, cost centre rules, or supplier type — and the AI routes each PO to either the delegated manager path or the finance/procurement review path automatically. No third-party AI tools or external configuration are needed.
What do I need to prepare before publishing this workflow?
You need to know your approval thresholds, the roles involved (requesters, delegated managers, finance/procurement reviewers), and any mandatory fields for submission such as cost centre codes or quote requirements. All of this is configured inside assess.one before you publish. Most teams have this ready in under an hour.
How do I customise the approval steps for our delegation of authority policy?
You edit the approval logic, role assignments, and routing conditions directly in the workflow builder inside assess.one. You can set spend limits that trigger delegated approval versus full finance review, assign specific individuals or teams to each approval role, and adjust those rules at any time without republishing from scratch.
Who needs access to run this workflow?
You assign roles inside assess.one — typically requesters, delegated managers, finance/procurement reviewers, and a workflow administrator. Each role only sees and acts on the steps relevant to them. Access is managed within the platform and does not require separate user accounts in external systems.
What happens when the AI routing step cannot determine the correct approval path?
The workflow includes a Manual Triage step that catches cases the AI cannot confidently route. A designated triage owner reviews the PO and manually assigns the correct approval path. The triage outcome is persisted in the record so the decision is documented and auditable.
How does the revision loop work when finance sends a PO back to the requester?
If finance identifies issues during review, the workflow routes the PO back to the requester with the reviewer's comments. The requester updates the relevant details, those changes are persisted in the record, and the PO automatically re-enters the finance review stage. No manual re-routing or email threads are needed.
How do I configure submission confirmation and approval notifications?
Email and Slack notifications are configured inside assess.one at each relevant step — submission confirmation, approval requests, revision requests, and PO issuance. You set the message content, recipients, and triggers directly in the platform without any third-party integration development.
Does this workflow support compliance and audit requirements?
Yes. Every step — submission, routing decision, approval or rejection, revision, and final issuance — is recorded with a timestamp and the acting user. The persisted triage and finance review outcomes mean every routing decision is documented. This gives you a complete, tamper-evident audit trail for internal controls or external audit purposes.
Can this workflow handle both small delegated purchases and large finance-approved orders in the same process?
That is exactly what it is designed to do. The AI routing and manual triage steps split each PO onto the appropriate path based on your defined rules. Low-value or pre-approved spend goes to the delegated manager for a fast approval, while higher-value or complex orders go through the full finance and procurement review and formal approval steps.
Ready to use this workflow?
Create a free account and customise this workflow for your business.
