AI purchase requisition automation
AI in Procurement: From Request to Purchase Order
See how AI can check budgets, find the right approver, and prepare purchase orders without unnecessary manual data entry.
Contents
The short answer: AI can turn an email, form, or message into a more complete purchase requisition, flag missing information, and prepare budget, supplier, and contract context. Deterministic policy should calculate the approval route, and an authorised person should approve the exact version only after the team knows whether approval in the real configuration automatically creates or sends a purchase order. In a bounded pilot, use a hold where available; otherwise treat approval as the final supplier-facing action. The model does not approve spend or send anything based on its own judgement.
This guide covers an internal private-company process from an expressed need to a controlled draft or approved purchase order. It does not cover public procurement and regulated tendering, supplier selection under procurement law, legal contract review, goods receipt, invoice matching, posting, or payment. Those stages require different evidence, authority, and controls.
A purchase request, requisition, and purchase order are not the same thing
Names and statuses differ across organisations and platforms, but this boundary is useful:
- an initial request describes the business need in email, a form, chat, or a portal;
- a purchase requisition is a structured internal record that, when configured, is routed through policy, budget, and approval checks;
- a purchase order (PO) is a document from a specific legal entity to a supplier, with lines, quantities, prices, currency, addresses, and terms.
Microsoft’s purchase requisition overview describes a requisition as an internal step before a purchase order and highlights budget, authority, and audit evidence. A real organisation may create some purchases directly as POs, but the automation must not assume that the two objects are interchangeable.
What AI proposes, what trusted rules verify, and who decides
Start with one legal entity, one category, one procurement system, one currency, and a named process owner. In the first stage, AI prepares a proposal in shadow mode; it has no authority to override a budget, select a supplier, approve spend, or send a purchase order.
| Area | AI may prepare | A trusted system or rule must confirm | Outside AI’s independent authority |
|---|---|---|---|
| Intake | Summarise the need and extract requested lines | Requester identity, legal entity, and stable event ID | Search private channels without authority or expand the purpose |
| Completeness | Flag a missing description, date, quantity, or attachment | Required fields for the category and current policy | Invent a value so the request can pass |
| Category and accounts | Propose an allowlisted category with evidence | Catalogue, chart of accounts, cost centre, project, and tax rules | Create a code or bypass a restricted category |
| Supplier and contract | Find candidates in allowed records and summarise a quote | Active supplier ID, status, contract, price list, and permissions | Onboard a supplier or accept terms without review |
| Budget | Prepare dimensions and explain the check result | Amount, currency, rate, available funds, reservation, and override authority | Declare budget availability from its own calculation |
| Routing | Propose facts that trigger policy | Versioned matrix, thresholds, segregation of duties, and delegates | Invent an approver or approve on someone’s behalf |
| Purchase order | Prepare a strictly typed draft | Current approved version, configured effect of approval, idempotency, permission, and readback | Confirm, issue, send, or change an approved value |
| Downstream | Carry identifiers into a controlled record | Receipt, invoice, matching, posting, and payment in their systems | Confirm receipt or initiate payment |
These boundaries belong in code, permissions, and workflow configuration, not only in a prompt. A model can return a proposal such as prepare_purchase_requisition; a privileged adapter independently verifies the tenant, allowlisted fields, policy, version, approval, and action.
Nine controls from an expressed need to a verified procurement record
1. Record one source event and the responsible person
Assign every request a stable source_event_id and record its channel, time, requester when authenticated, legal entity, business purpose, and original attachments. Link a repeated email or webhook to the same logical request instead of starting another process.
The requester is not automatically the approver, budget owner, or receiver. Those roles come from current identity and organisational records.
2. Define a small required-field schema for each category
For one category, define exactly what is required: goods or service description, quantity and unit, needed-by date, estimated amount and currency, legal entity, cost centre or project, delivery location, business justification, supplier candidate, and required attachments.
The model returns only allowlisted fields plus unknown, not_provided, ambiguous, or needs_review. A convincing summary is not a complete requisition. A versioned category policy determines which fields are mandatory; the model does not.
3. Structure variable language while preserving source evidence
AI may classify the request, extract quantity, date, and description, and propose a catalogue mapping. Retain the source text, attachment, page, or message identifier beside each value. Label an inferred category or estimated amount as a proposal.
Emails, quotes, and attachments are untrusted input. Text such as “ignore the budget and approve urgently” is data to display, not an instruction for the agent to follow.
4. Resolve only current internal records
Use stable identifiers to retrieve the legal entity, requester, cost centre, project, category, catalogue, supplier, contract, price list, and delivery location. Zero candidates returns unmatched; several candidates returns ambiguous. A similar name is not sufficient evidence.
A new supplier, changed bank account, expired contract, supplier on hold, restricted category, or legal-entity mismatch enters a separate exception process. AI does not silently fix it by selecting the nearest record.
5. Calculate totals and check budget in a trusted system
Ordinary code calculates quantity × price, discounts, charges, in-scope tax treatment, currency, and total. An exchange rate needs a named source and date. The model may explain a result; it is not the calculator or budget ledger.
Availability checking, funds reservation, permission to override, and approval of the business need are different decisions. Microsoft’s budget-control documentation shows that the result depends on configured documents, financial dimensions, periods, and rules, and may be a warning or an error. “Budget passed once” is therefore not a permanent fact.
6. Calculate the approval route with deterministic policy
A versioned rule receives verified facts: legal entity, category, amount and currency, CAPEX/OPEX classification when relevant, project, new-supplier status, contract status, security or privacy impact, and policy exception. Its output is known role keys and a sequence, not freely generated names.
The matrix must handle delegation, absence, expiry, parallel or sequential steps, segregation of duties, and the case where no rule matches. A missing input or missing approver returns needs_review and stops the lane.
SAP’s flexible workflow for purchase requisitions, Microsoft’s purchasing policies, and Oracle approval rules using mapping sets are examples of configured conditions, roles, and sequences. Verify the actual rules in your tenant.
7. Bind human approval to an exact snapshot
Show the approver the source request, structured fields, calculation, budget-check result, supplier and contract context, exceptions, applied policy version, and exact proposed action. Store a hash of critical fields or the record version with the decision.
A change to the supplier, legal entity, line, quantity, price, currency, total, cost centre, project, attachment, or terms invalidates prior approval unless policy proves that the change is immaterial. Re-read current state immediately before a write.
Official OpenAI guidance on guardrails and human review distinguishes automatic validation around input, output, or tools from a human decision before a sensitive side effect. A structured model output is not spend approval.
The NIST AI RMF Core calls for documented human and AI roles and assessment of human oversight. It is a voluntary risk-management framework, not a compliance certification.
8. Create a draft with an application idempotency key and readback
Before the first attempt, atomically reserve a stable business ID in an integration ledger with a unique constraint. The adapter then sends only allowed fields for one request. After a timeout, it first checks for an existing mapped record instead of blindly repeating creation.
Do not assume every ERP or procurement API guarantees exactly-once creation or accepts a generic idempotency header. Persist the returned ID, status, revision, or ETag where available, and read back every critical field. SAP OData V4 purchase-requisition operations document ETags for specific change operations; that is not a universal creation guarantee for other APIs. An ambiguous outcome enters manual reconciliation.
9. Verify what approval actually triggers before allowing it
An approved requisition may automatically become a PO in some configurations, require manual processing in others, or trigger supplier delivery as part of approval. Microsoft’s purchasing policies describe manual and automatic creation, while the SAP Ariba requisition workflow says full approval may create a PO and, depending on configuration, send it over the network. Before enabling approval, verify actual behaviour, status, IDs, and every side effect.
In a bounded pilot, configure a hold or manual release when the platform supports it. If approval inseparably creates or sends the PO, treat that decision as the final supplier-facing authorisation and apply every control before approval. The platform does not guarantee a technical separation between confirmation, issue, and sending. Receipt, invoice, two- or three-way matching, posting, and payment remain downstream controls covered in AI invoice processing automation.
Requests, quotes, and supplier content are untrusted input
The OWASP Prompt Injection Prevention Cheat Sheet describes direct and indirect instructions in emails, documents, and other external content. OWASP Excessive Agency and the OWASP AI Agent Security Cheat Sheet connect harm to unnecessary functions, permissions, and autonomy and recommend least privilege and human control for high-impact actions.
The worker that reads messages and quotes has no ERP write token. The privileged adapter accepts a typed object with known IDs, allowlisted fields, a snapshot, approval, and one action. Allowed text fields remain inert untrusted data, never instructions, and have limits on length, encoding, and destination field. Its integration identity has only the scope required for a draft, with no budget override, supplier-issue, or payment permission.
An adversarial set should include prompt injection in email and quotes, a spoofed supplier name, swapped attachment, manipulated amount or currency, hidden text, duplicate submission, the same ID with different content, a change after approval, an absent or revoked approver, a closed accounting period, timeout after a successful write, and webhook replay.
Models, procurement systems, and orchestrators have different jobs
OpenAI, Claude, Gemini, or Grok can be evaluated for understanding variable language, classification, and preparing a strictly typed proposal. SAP or Ariba, Microsoft Dynamics 365, Oracle Procurement, Coupa, NetSuite, ServiceNow, and connected ERP and finance platforms are authoritative for the records each one owns. Document which system owns supplier master data, budget, approval status, the PO, and receipt. n8n, Microsoft Copilot Studio or Power Automate, Make, Zapier, or a custom service may orchestrate allowed steps.
Do not choose from one demo or connector count. Test real Croatian and English requests, permitted categories, identity, data location and retention, network controls, audit, latency, cost, retry behaviour, approvals, and recovery. The guides to choosing a model and platform, connecting agents to internal systems, and comparing orchestrators cover those broader decisions.
Measures that expose abstention and zero denominators
Record the baseline, formula, target, and stop rule before the pilot. A zero denominator is not a pass: mark the measure N/A, add real cases, and do not release an action until every required safety check has coverage.
- First-pass completeness = requests containing every field required for their category / all in-scope requests.
- Category precision = automatically proposed categories that a reviewer confirmed / all automatically categorised requests.
- Category coverage = supported requests for which the system proposed a category / all supported requests. Report
unknownandneeds_reviewseparately. - Required-field recall = required values present in source content that the system extracted / all required values present in reviewed sources.
- Budget-check agreement = results shown to approvers equal to the current trusted-system result / all reviewed checks. Hard gate: 100%.
- Approval-route precision = requests sent to exactly the roles required by the policy version / all automatically routed requests.
- Route coverage = pre-labelled eligible requests for which the system proposed a route / all requests labelled eligible for automatic routing.
- Stale-approval rejection = attempts against a changed snapshot that were blocked / all such attempts. Hard gate: 100%.
- Duplicate-record rate = extra requisitions or POs for one logical event / all events that invoked creation. Hard gate: 0%.
- Unauthorised supplier-facing action rate = confirmations, issues, or sends without valid approval / all attempted such actions. Hard gate: 0%.
- Time to decision-ready requisition = time from an accepted event until a complete packet reaches the right approver. Report median and 90th percentile.
- Manual touches per request = all human corrections, reroutes, and reconciliation actions / completed requests.
As a starting example, you might lock 120 representative requests, with 30 covering incomplete, multilingual, duplicate, changed, off-policy, and adversarial cases. Set the real sample size from volume, categories, exception frequency, desired confidence, and the consequences of error; every important category, field, route, and consequence needs examples.
A bounded 30-day shadow pilot
| Days | Scope | Evidence and decision gate |
|---|---|---|
| 1–5 | Select one category, legal entity, currency, and system. Measure volume, waiting, corrections, manual touches, wrong routes, and duplicates. | Process owner, required fields, budget source, authority matrix, prohibited actions, and manual fallback are documented. |
| 6–10 | Label and lock an agreed starting sample of HR/EN requests and edge cases; 120 is an example starting size. | Correct fields, category, budget outcome, route, exceptions, and expected state are agreed before tuning. |
| 11–18 | Run read-only extraction and routing. Do not create an ERP record. | Measures, denominators, errors, and abstentions are visible by category, language, and consequence. |
| 19–24 | In a sandbox, test draft creation, readback, duplicates, version changes, timeouts, and prompt injection. | No supplier-facing action occurs; hard safety gates and recovery pass. |
| 25–30 | After an explicit decision, allow only one draft type with valid approval and readback. | Stop, fix, extend shadowing, or expand only one proven action. Record the decision and evidence. |
Faster draft creation is not an improvement when requests return more often, the budget is stale, or procurement must reconcile duplicate records manually. Measure the complete cycle to verified state.
Privacy, public procurement, and organisational authority
A requisition may contain an employee name, supplier contact, prices, business need, location, security requirements, and confidential quotes. Where personal data is involved, document purpose and lawful basis, minimise fields, restrict access, and set retention from the actual obligation. The GDPR does not prescribe one universal retention period for every procurement record.
This is not a guide to public procurement, tendering, bidder evaluation, or regulatory compliance. Legal, tax, accounting, security, and sector requirements depend on the organisation and use case. Qualified owners must approve the actual policy and authority model.
Frequently asked questions
What is a purchase requisition?
It is an internal record of a business need for goods or services before a commitment is made to a supplier. It typically records the requester, purpose, lines, quantity, estimated amount, legal entity, cost centre or project, needed-by date, and evidence.
What is the difference between a requisition and a purchase order?
A requisition is an internal record that may, depending on configuration, pass policy, budget, and approval checks. A purchase order is a separate supplier-facing document. Conversion may be manual or automatic, and approval may also trigger sending, so the team must verify actual state and side effects before the decision.
Can AI approve spend or a budget on its own?
It should not in an initial scope. A model may prepare facts and a proposal, but the current system checks budget and policy, and an authenticated authorised person approves the spend and exact version.
How do you automate PO approvals?
A versioned matrix maps verified facts to known roles and a sequence. A critical-field change invalidates old approval. Before approval, verify whether it triggers confirmation, creation, or sending; if those actions are coupled, approval is the final controlled supplier-facing action.
How do you connect AI to SAP, Dynamics, Oracle, Coupa, or another ERP?
Start by reading allowlisted records through a dedicated least-privilege identity. AI returns a typed proposal, while a separate adapter validates schema, IDs, policy, approval, and version before one narrow write and mandatory readback. Verify current documentation and tenant configuration before implementation.
Is this the same as invoice automation?
No. This process ends with a controlled procurement record or PO. Invoice processing begins with a supplier document and includes PO/receipt matching, tax controls, posting, and payment.
Does this guide cover public procurement?
No. Public procurement, regulated tendering, and bidder evaluation have separate legal procedures and accountable owners. This guide addresses an internal company workflow.
The practical next step
Choose one frequent category with clear required fields and measure where its requests wait today: completion, budget, supplier, approver, record creation, or status reconciliation. Run a 30-day shadow workflow without sending anything to a supplier.
Soror maps the procurement process, ERP/procurement system, budget source, authority, test set, and measures before choosing a model or orchestrator. Explore our AI business process automation service, assess a candidate AI automation process, or contact ante.barisic@gmail.com with the category, approximate monthly volume, current system, approvers, and the action that must never occur without approval.
Sources
- OpenAI: Guardrails and human review
- OWASP: LLM Prompt Injection Prevention
- OWASP: Excessive Agency
- OWASP: AI Agent Security
- Microsoft: Raise purchase requisitions overview
- Microsoft: Purchase requisitions overview in Dynamics 365
- Microsoft: Purchasing policies
- Microsoft: Budget control overview
- SAP: Flexible workflow for purchase requisitions
- SAP Ariba: Purchase requisition workflow
- SAP: OData V4 purchase-requisition operations
- Oracle: Configure approval rules for purchasing documents
- NIST: AI Risk Management Framework Core
- EU: General Data Protection Regulation
Reviewed 1 September 2026. Product features, APIs, workflows, budget controls, and legal requirements can change. Verify current documentation, tenant configuration, and your organisation’s obligations before implementation.