Automate purchase approvals around one exact request revision. Give each request a stable ID, collect the facts an approver needs, freeze the approved snapshot, and create the order through an idempotent action. Then read the destination record back. If the vendor, scope, amount, terms, or budget changes, create a new revision and reopen the applicable decision.

What should a purchase approval authorize?

A purchase approval should authorize one defined request revision, not general spending with a vendor or in a category. The decision should show who approved which vendor, scope, amount, currency, timing, terms, budget context, and exceptions, under which authority.

Use separate states for separate decisions:

State / What it means / Minimum evidence / What it does not authorize
StateWhat it meansMinimum evidenceWhat it does not authorize
Request submittedSomeone has described a business need and proposed a purchaseRequest ID, requester, owner, need, proposed vendor or vendor criteria, expected amount, timing, and attachmentsApproval, an order, work starting, or payment
Ready for decisionThe current revision contains the fields and evidence required by the applicable routeRevision number, completeness checks, budget context, vendor state, and exceptionsA favorable decision
Request approvedAn authorized person accepted the exact current snapshotApprover, authority, revision hash or number, outcome, comments, and timeA changed request, supplier commitment, invoice, or payment
Commitment verifiedThe approved request produced the intended purchase order, agreement task, or buying instruction in the authoritative systemDestination ID and read-back comparison with the approved snapshotProof that goods or services were received
Received or acceptedThe responsible owner recorded what was delivered and any varianceReceipt or service acceptance tied to the request and orderInvoice approval or payment release
Invoice approvedThe exact invoice packet passed the required business and accounting reviewInvoice revision, match results, exceptions, and decisionsAuthority to release money

Do not compress these decisions into one approved field. Even when one owner handles several steps in a tiny company, the record should say whether that person approved the need, placed the order, accepted the work, approved the invoice, or released payment.

The guide to vendor onboarding covers the vendor record and payment profile. The guide to vendor invoice approval starts when a specific invoice arrives. Purchase approval owns the earlier boundary: whether the business may commit to this purchase on these terms.

What belongs in the purchase request packet?

The purchase packet should contain everything needed to decide and later reconstruct the approved commitment. It should preserve original evidence, derived fields, routing inputs, decisions, changes, and destination identifiers under one stable request ID.

Packet field / Preferred source / Stop condition
Packet fieldPreferred sourceStop condition
Business need and ownerRequest submitted by the person accountable for the outcomeNo owner, vague need, duplicate request, or unclear beneficiary
Vendor and vendor stateCurrent vendor record or proposed-vendor details linked to onboardingMissing required vendor state, possible duplicate, material mismatch, or unsupported vendor change
Scope and quantityQuote, proposal, statement of work, catalog line, or structured descriptionConflicting scope, unclear quantity, missing deliverable, or unsupported substitution
Amount and currencyCurrent quote, pricing schedule, estimate, or catalog valueMissing currency, expired source, arithmetic conflict, or amount outside the stated route
Budget contextBudget owner, project, client, department, cost category, and available context used by the businessNo accountable budget owner or unresolved out-of-budget exception
Timing and recurring termsNeeded-by date, service period, renewal behavior, cancellation notice, and delivery conditionsImpossible timing, hidden recurrence, or terms requiring a review that has not occurred
Evidence and exceptionsRequired quotes, comparison, security or legal review, sole-source reason, urgency reason, or policy exceptionRequired evidence missing, exception owner absent, or override unrecorded
Decision and authorityApprover, role, delegated limit, revision, outcome, comments, and timestampWrong approver, expired delegation, self-approval where policy forbids it, or revision changed after review
Destination recordsPurchase order, agreement, card request, procurement task, accounting commitment, and source linksDuplicate write, missing ID, incorrect mapping, or read-back mismatch

The packet does not need every possible field for every purchase. A monthly software subscription, a subcontractor engagement, office equipment, and a client-funded expense can follow different routes. Classification should select the fields and reviews that apply, while uncertain cases stop with a named owner.

Preserve the quoted or proposed source beside extracted values. OCR or AI may prepare the vendor name, line items, price, dates, or renewal terms, but the extraction is not the source. An approver should be able to inspect the original and see any uncertainty or conflict before deciding.

What should the automated workflow look like?

Use six controlled stages: request, validate, route, decide, commit, and verify. Each stage should produce a visible state and a reason the request can stop.

From purchase request to verified commitment

  1. Requestassign the stable request ID, capture the need and owner, attach source evidence, and search for duplicate or related requests.
  2. Validatebuild the applicable checklist, check required fields and exact calculations, identify the vendor state, and mark conflicts.
  3. Routeselect approvers from current policy using amount, category, budget, vendor, recurrence, access, location, and exception signals.
  4. Decidepresent the complete current revision, record approve, reject, return, or escalate, and freeze the approved snapshot.
  5. Commitcreate the purchase order or controlled buying task with an idempotency key and only the approved values.
  6. Verifyread the destination record back, compare it with the approved snapshot, store the destination ID, and expose any mismatch.
A control pattern for a small service business, not a description of a specific client system.

Useful states include draft, submitted, duplicate review, missing evidence, vendor review, budget review, specialist review, approval pending, returned, rejected, approved revision, commit pending, write uncertain, commitment mismatch, commitment verified, change pending, and closed. A state should describe what is known, not merely which automation step ran.

Use one stable request ID across the form, evidence, approvals, order, receipt, invoice, and exception log. Derive the commitment idempotency key from that request ID, the approved revision, and the intended destination. If a timeout occurs after the target system created the order, a retry should find and verify the same order rather than create another one.

After writing, read the order or task back. Compare vendor ID, line descriptions, quantities, amount, currency, dates, terms, accounting or project references, and source request ID with the approved snapshot. A successful API response proves that the target accepted a request, not that it stored the correct commitment.

Which changes require a new approval?

Any change that can alter the decision or approval route should create a new request revision. The old approval remains part of the history, but it should not authorize a different vendor, scope, quantity, price, currency, recurring term, budget, delivery condition, or exception.

Define material changes from the business's own policy and transaction types. A corrected typo in an internal note may not affect approval. Replacing the vendor, increasing the amount, adding automatic renewal, shortening cancellation notice, changing the service period, or moving the cost to another project usually changes what the approver considered.

Use this change path:

  1. Copy the last revision into a new draft without altering the approved snapshot.
  2. Record each changed field, its source, actor, time, and reason.
  3. Recalculate the applicable route using current policy and current authority.
  4. Expire only the decisions affected by the change, but keep the commitment blocked until all required current decisions exist.
  5. Show approvers the previous and proposed values together.
  6. If the supplier already received an order, create a controlled amendment, cancellation, or exception task rather than editing history silently.
  7. Verify the final destination record against the newly approved revision.

Do not let a supplier's revised quote update an approved request automatically. The system can attach the new quote, compare values, and prepare the next revision. A person with the required authority still decides whether the new terms are acceptable.

What should rules, AI, and people each do?

Use deterministic rules for identifiers, completeness, calculations, approval routes, states, permissions, and retries. AI can prepare bounded extractions or summaries, while people remain responsible for the business need, tradeoffs, exceptions, commercial terms, and ambiguous authority.

Work / Best starting mechanism / Required control
WorkBest starting mechanismRequired control
Open or find a requestStable request ID plus duplicate checks on vendor, requester, scope, project, and timePossible duplicates stop before another commitment is created
Build the checklistRules from category, amount band, budget, vendor state, recurrence, access, location, and policyNamed policy owner and manual path for uncertain classification
Extract a quote or proposalStructured fields, OCR, or bounded AI extractionPreserve the source, show uncertainty, and block material conflicts
Calculate totalsDeterministic arithmetic using quantity, unit price, tax treatment supplied by the accounting owner, discounts, and currencyVisible formula, source values, and no invented conversion or tax conclusion
Summarize the requestOptional AI summary linked to each sourceApprover can inspect the originals and every exception
Select approversDeterministic matrix using current role, authority, category, and exceptionDated delegation, fallback, and no silent self-approval
Record the decisionExplicit human action on one visible revisionApprover, authority, result, comments, time, and immutable snapshot
Create the commitmentIdempotent write with only approved valuesLimited credentials, source request ID, and destination read-back
Match downstream recordsExact IDs and values first, then controlled variance rulesReceipt, invoice, and payment decisions remain separate

AI should not decide that a purchase is necessary, choose an approver outside policy, invent a budget code, accept changed terms, approve an exception, or release an order or payment. It may extract a quote, flag a discrepancy, or prepare a summary, but the output should remain linked to source evidence and visible uncertainty.

Limit each connection to its task. Intake can create a request without permission to issue an order. The approval component can record a decision without permission to change vendor bank data. The ordering component can create a held purchase order without permission to approve an invoice or payment. This separation makes failures easier to contain and investigate.

How does purchase approval connect to invoices and payment?

Connect the stages with stable identifiers and explicit states, not inherited approval. The approved request supplies the expected vendor, scope, quantity, amount, currency, timing, and terms, while receiving and invoice workflows record what happened later.

The GAO/CIGIE Financial Audit Manual, updated in May 2023, gives matching a purchase order, receiving report, and vendor invoice as an example of an approval control. The manual is written for federal financial audits, so it does not impose a purchasing design on an ordinary small business. The distinction is still useful: authorization, receipt, invoice review, and payment are different facts.

Where the business uses a three-way match, compare:

  • the approved commitment, including order revision and authorized variances;
  • the actual receipt or service acceptance, including partial delivery and rejected work;
  • the exact invoice revision, including vendor, line items, quantity, price, currency, dates, and tax fields handled by the accounting owner.

A match can prepare a clean invoice for review. It should not release payment on its own unless the business has separately defined and tested that authority. Changed bank details, duplicate invoices, credits, partial receipts, disputed work, and post-approval price changes require their own states and owners.

The IRS recordkeeping guidance says supporting documents for business purchases and expenses should identify relevant details such as the payee, amount, proof of payment, date, and description. A connected request, order, receipt, invoice, and payment trail can make those records easier to reconstruct, but the business and its advisers still determine what it must retain for a particular transaction.

How do you test the first purchase approval workflow?

Replay representative closed purchases in draft mode before the workflow can send an order or create an active commitment. Test normal requests, changed revisions, bypass attempts, unavailable people, duplicate events, and partial system failures.

  1. Select a small set of completed purchases with known requests, approval messages, orders or agreements, receipts, invoices, and at least one changed or exceptional case.
  2. Record the expected checklist, route, approver authority, decision, commitment values, destination ID, and downstream states by hand.
  3. Submit the same need twice through two channels. Confirm that both events find one request or create a visible duplicate-review state.
  4. Omit a vendor, currency, scope detail, budget owner, recurring term, or required source. Confirm that a populated form cannot advance without the applicable evidence.
  5. Approve a request, then change the vendor, price, quantity, currency, project, date, or recurrence. Confirm that a new revision opens and the old approval cannot create the changed order.
  6. Expire a delegation, remove an approver, and create an out-of-policy exception. Confirm that the request reaches a valid fallback instead of advancing or stalling invisibly.
  7. Send approval events twice and out of order. Confirm that one decision is recorded against the intended revision and stale events cannot overwrite it.
  8. Interrupt the commitment write after the destination creates the order. On retry, the workflow should find and verify the same record instead of creating another one.
  9. Change a destination mapping so the wrong currency, vendor, amount, or project is stored. Confirm that read-back detects the mismatch and leaves the commitment unverified.
  10. Test partial delivery, a revised invoice, a credit, and changed payment instructions. Confirm that purchase approval does not become receipt, invoice, or payment approval.
  11. Revoke or amend an approved request after the supplier was contacted. Confirm that the workflow creates a controlled follow-up rather than deleting or rewriting history.
  12. Change a route, role, connector, or destination field and rerun the meaningful failure cases as regression tests.

Track measures that reveal the workflow without promising a result: request age, returned requests by reason, post-approval changes, expired decisions, bypassed commitments, duplicate attempts, write failures, read-back mismatches, unlinked invoices, and unresolved queues. Establish a baseline before claiming faster approvals, fewer errors, or tighter spending control.

When to avoid it

Do not automate purchase commitments when the business cannot name the request owner, approval authority, authoritative ordering system, material-change rules, or downstream receipt and invoice owners. Keep order creation manual while those responsibilities are unclear. Start with one numbered request register, one-page routing rules, and a visible decision history before connecting supplier-facing actions.

What to remember

  • Approve one exact request revision, not a loose message or general vendor relationship.
  • Keep the request, commitment, receipt, invoice approval, and payment release as separate states.
  • Preserve original sources and link every extracted value, exception, and decision to them.
  • Create a new revision when a material field changes, then recalculate the route.
  • Use stable IDs and idempotent writes so retries do not create duplicate orders.
  • Read the destination record back and compare it with the approved snapshot.
  • Give AI bounded preparation work, not authority over business need, exceptions, orders, or money.
  • Test stale events, changed revisions, unavailable approvers, partial writes, and downstream mismatches before launch.

The guide to connecting small-business software without duplicate data entry explains source ownership, stable matching keys, and controlled synchronization. Use the workflow maintenance guide to assign alerts, review queues, update approval roles, and retest recovery after policies or tools change.

If you want to build this workflow, bring one recent purchase request, its approval messages, the resulting order or agreement, the invoice, and one changed or exceptional case to a free 30-minute call. I can help you define the packet, revision rules, authority boundaries, stop conditions, and smallest reliable pilot before any automation can commit spend.

Frequently asked questions

Written by Antoine mazu. Antoine helps small service businesses understand and improve their workflows with solutions tailored to their needs, with or without AI. He combines product thinking with hands-on technical execution from Bayonne, France.

Sources accessed October 16, 2026: OneBusiness ERP, How to Automate Purchase Approvals in ERP, Amazon Business, Purchase approval strategies that boost visibility across teams, Becision, How to Set Up a Purchase Approval Process for a Small Business, Crow Canyon, SharePoint Purchase Request and Approval Workflow, Workhint, Purchase Approval Workflow for Finance Operations, IRS, What kind of records should I keep, and GAO/CIGIE Financial Audit Manual.