Procurement & supply chain AI agents

Your supplier delays are sitting unread in an inbox.

Order acknowledgements, ship dates, delay notices and price changes arrive as free text from hundreds of suppliers. Somebody has to read each one and update the ERP by hand, so delays get found late, usually by the person who needed the part. We build agents that do the reading and the matching, and leave the approving to your buyers.

Founder replies within 24 hours. No spam, no obligation.

// the short answer

What a procurement and supply chain AI agent does

A procurement and supply chain AI agent reads inbound supplier email, pulls out the order number, promised ship date, quantity and price, compares each one against the open purchase order line in your ERP, and flags anything outside tolerance for a buyer to approve. It does the reading and the matching. A person still approves the write.

  • Reads the inbound message, whether it is email body text, a generated PDF or a scan

  • Extracts PO number, line, part number, quantity, unit price and promised date

  • Compares each field against the open purchase order line in your ERP

  • Routes anything outside your tolerance to a buyer instead of writing it

// what we build

Eight pipelines, each with a data source and a human checkpoint

An agent is not one thing. It is a set of narrow pipelines that each read something specific, produce something specific, and stop at a specific point where a person decides. Most teams start with two of these and add the rest once the exception queue is under control.

  • Supplier email triage and classification

    Every message is classified on arrival, so nothing waits for a human to open it before it is understood.

    • ReadsShared purchasing mailbox on Microsoft 365 via Graph API, or Google Workspace via the Gmail API
    • ProducesA label per message: acknowledgement, ship notice, delay, price change, quote, invoice query, document request, noise
    • Human checkpointBelow the confidence threshold, a message stays unlabelled and lands in the exception queue rather than being guessed
  • Order acknowledgement parsing

    Free-text and PDF acknowledgements become line-level structured data, in the shape an EDI 855 would have arrived in.

    • ReadsEmail bodies, PDF attachments, scans, and EDI 855 messages where a supplier does trade EDI
    • ProducesLines carrying PO number, PO line, supplier part, your part, quantity, unit price and promised date
    • Human checkpointExtracted fields are shown beside the current PO line, field by field, before anything is written
  • Promised-date extraction and ERP reconciliation

    The date the supplier committed to is compared against the date your ERP is showing your planners.

    • ReadsThe parsed acknowledgement plus the open PO line in NetSuite, Business Central, Prophet 21, Acumatica or SAP
    • ProducesA proposed change on the PO line, with the variance in days stated explicitly
    • Human checkpointTolerance rules decide. Inside tolerance applies with an audit entry, outside goes to the buyer who owns the PO
  • Delay detection and impact alerting

    A late part matters because of what it holds up, so the alert names the thing at risk.

    • ReadsNew promised dates compared against work order and sales order due dates pegged to the PO line
    • ProducesAn alert naming the exposed work order or customer order, the customer, and the date at risk
    • Human checkpointThe agent alerts. It never reschedules production, moves a customer promise date, or emails a customer
  • Supplier follow-up drafting

    The chase that normally depends on somebody remembering is generated when the acknowledgement window lapses.

    • ReadsOpen PO lines unacknowledged past your agreed window, and lines whose promised date has passed
    • ProducesA draft reply in the existing thread, carrying PO, line, part number, quantity and the date you were told
    • Human checkpointDrafts wait for a buyer. Nothing reaches a supplier without a person clicking send
  • Three-way match exception surfacing

    The mismatches that normally surface at the payment run are listed the day the invoice arrives.

    • ReadsPurchase order, goods receipt and supplier invoice, read from the ERP and the accounts payable mailbox
    • ProducesExceptions grouped by type: quantity variance, price variance, missing receipt, duplicate invoice, unmatched invoice
    • Human checkpointAccounts payable decides. The agent never approves, posts or pays an invoice
  • Requisition intake and routing

    Internal requests arriving as a sentence in an email become structured requisitions with a category and a route.

    • ReadsInternal email and form submissions, matched against your item master and supplier master
    • ProducesA structured requisition with a UNSPSC category, a suggested supplier, and a route based on approval limits
    • Human checkpointApproval happens where it already happens, in the ERP or in Coupa, Ariba, Jaggaer or Oracle procurement
  • Supplier onboarding document chasing

    The documents that expire quietly, then block a payment or an audit, are tracked and chased.

    • ReadsYour supplier master plus the checklist: tax forms, insurance certificates, quality certifications, resale certificates
    • ProducesA live checklist per supplier, an expiry calendar, and drafted reminders ahead of each expiry
    • Human checkpointBank detail changes are never applied. They are flagged for out-of-band verification by a person

// manual vs agent-assisted

The same purchase order, two paths

This compares structure, not savings. We are not going to invent a percentage for your team. What changes is when information becomes visible, and who has to be the one to notice it.

What happensManual pathAgent-assisted path
An acknowledgement arrivesIt sits in a shared mailbox until somebody opens itIt is classified on arrival and parsed into PO, line, quantity, price and date
The promised date differs from the POFound only if a buyer happens to compare the two by eyeCompared automatically, with the variance measured against a tolerance rule
The change reaches the ERPRe-keyed by hand, when there is timeWritten back under approval, with the source message linked in the audit trail
A delay becomes visibleOn the day the part fails to arriveOn the day the acknowledgement is read, which is usually far earlier
Who finds out firstUsually the person who needed the partThe buyer who owns the PO, plus whoever owns the affected order
An unacknowledged POChased if somebody remembers itA chase draft is queued as soon as the acknowledgement window lapses
An invoice mismatchSurfaces at the payment runSurfaces when the invoice arrives, matched against PO and receipt
CoverageWhatever the team gets through that weekEvery message, every day, including the quiet suppliers
The failure modeMissed messages and silently stale datesA wrong extraction, which is exactly why nothing writes without a checkpoint

// where the data comes from

Six intake channels, one internal shape

Supplier information arrives in more than one form, and the ones that arrive as prose are the ones causing the problem. Everything is normalised into the same internal record before it is compared to anything.

  • Shared purchasing mailbox

    Microsoft 365 through the Graph API, or Google Workspace through the Gmail API, reading the shared mailbox rather than personal inboxes.

  • Attachments

    Generated PDFs, scans, spreadsheets and photographed printouts, each with its own extraction path and confidence score.

  • EDI messages

    X12 855 acknowledgements, 856 ship notices and 865 seller-initiated change acknowledgements, normalised into the same internal shape as parsed email.

  • Supplier portals

    Where a supplier only publishes status on their own portal, we pull it on a schedule instead of asking a buyer to log in.

  • ERP purchase order data

    Open PO headers and lines, receipts, item master and supplier master, read live so comparisons run against current state.

  • Source-to-pay platforms

    SAP Ariba, Coupa, Jaggaer and Oracle Fusion Cloud Procurement, where requisitions and approvals already live.

// the part that matters most

How write-back, approval and rollback actually work

Every competitor page promises frictionless automation. The honest version is that writing to a live ERP is the risky part, and the design of the approval model is most of the engineering. Here is the model we build to, and we will not skip it because a project is in a hurry.

  • A propose-only phase first: the agent parses live mail and writes nothing, so agreement with your buyers is measured before anything is automated
  • A field allowlist. Promised date, acknowledged quantity, acknowledged price, supplier reference. Payment terms, bank details, cost accounting and the item master sit outside it
  • Tolerance rules per field, and per supplier where one warrants its own: date variance in days, quantity variance in units or percent, price variance in percent
  • Confidence thresholds that override tolerance. Low extraction confidence means no write, even when the variance looks routine
  • An approval view putting the source message, the extracted fields and the current PO line side by side, approvable line by line or in bulk
  • An audit trail on every write: source message identifier, extracted value, confidence, previous value, new value, run identifier, approver
  • A revert path by run identifier, using stored previous values. Because writes are field-scoped, a revert cannot disturb data the agent never touched
  • A kill switch that drops the agent back to propose-only immediately, without a deployment and without losing the queue

// before you scope it

Not sure which pipeline is worth building first?

Tell us how supplier acknowledgements reach your team today and which ERP holds the promised date. We will tell you which of the eight pipelines pays first, and which we would not build for you at all.

// the hard part

Supplier data is messy, and pretending otherwise is how these projects fail

The extraction is not the hard part. Deciding what to do when the message is ambiguous is the hard part, and a page that does not talk about it has not built one of these.

  • The same supplier writes dates three ways, because three different people answer the mailbox
  • Week numbers and phrases like end of month are not dates. They are stored as a flagged range, never as false precision
  • Part numbers get mistyped, so matching runs against your item master and open PO lines rather than the string in the email
  • One acknowledgement covers a split shipment with two dates on one line, which has to become two commitments, not an average
  • Scans and photographed printouts vary in quality, so poor documents are queued for a human instead of guessed at
  • Units, currencies and date order differ on imports, and the Incoterms on the order change what a transit time even means
  • An agent that writes a bad date into an ERP is worse than no agent, because planners treat a date in the system as confirmed

// systems we connect

The ERP and procurement systems we read from and write to

The ERP is authoritative for purchase orders, receipts and promised dates. The source-to-pay platform is usually authoritative for requisitions and approvals. We map which system owns which field before anything is built, because two systems both believing they own a date is how the current problem started.

ERP and accounting systems

  • Oracle NetSuite
  • SAP S/4HANA
  • SAP Business One
  • Microsoft Dynamics 365 Business Central
  • Acumatica
  • Epicor Prophet 21
  • Epicor Kinetic
  • Infor CloudSuite
  • QuickBooks Enterprise
  • Odoo

Procurement and mail platforms

  • SAP Ariba
  • Coupa
  • Jaggaer
  • Oracle Fusion Cloud Procurement
  • Microsoft 365 and Graph API mailboxes
  • Google Workspace and the Gmail API

Where an ERP offers no supported write path, the agent stays in propose-only mode and delivers a review queue. We would rather say that up front than discover it in week six.

// standards and formats

The standards a purchasing team actually runs on

Your large accounts trade EDI. Your long tail sends email. An agent has to be fluent in both, and has to produce the same internal record either way.

  • EDI 850

    Purchase Order. The record every later message is reconciled back to.

  • EDI 855

    Purchase Order Acknowledgment. The structured version of what most suppliers send you as prose.

  • EDI 856

    Ship Notice/Manifest, the advance ship notice. What is actually on the truck, before it arrives.

  • EDI 860 and 865

    Purchase Order Change Request, buyer initiated, and its seller-initiated counterpart, the Purchase Order Change Acknowledgment/Request. The 860 goes out from you. The 865 comes back.

  • EDI 810

    Invoice. One of the three documents in a three-way match, with the order and the goods receipt.

  • EDI 997

    Functional Acknowledgment. Confirms a transmission was received and accepted syntactically, which is not the same as agreed.

  • AS2

    A secure HTTP transport widely used between EDI trading partners, defined in RFC 4130 as Applicability Statement 2.

  • cXML and PunchOut

    The protocol for exchanging business documents between procurement applications and suppliers, including the PunchOut session.

  • SAP OCI

    Open Catalog Interface, the punchout route used by SAP SRM and SAP Ariba Catalog for supplier catalogues.

  • GS1 identifiers

    GTIN for trade items and SSCC for logistic units, matching receipts to shipments without free-text descriptions.

  • UNSPSC

    Commodity classification codes, so a requisition is categorised consistently and routing rules work.

  • Incoterms

    The eleven three-letter trade terms deciding who carries cost and risk in transit, and so what a promised date means.

References: ASC X12 publishes the transaction set catalogue that defines the 850, 855, 856, 860, 865, 810 and 997 documents named above. cXML describes itself as a protocol for consistent communication of business documents between procurement applications, e-commerce hubs and suppliers, and covers the PunchOut feature. Incoterms 2020 is the International Chamber of Commerce set of eleven three-letter trade terms used in contracts for the sale and purchase of goods.

// how we build it

From a mailbox sample to approval-gated write-back

01
Sample the real mailbox

We measure the actual mix of message types across a real sample of supplier email, not an imagined inbox.

02
Agree the limits before the code

Field allowlist, tolerances, thresholds and escalation rules are written down with your buyers first, because they are the product.

03
Run in propose-only

The agent parses live mail and proposes changes while writing nothing, so agreement with your buyers is a measured number.

04
Enable the narrowest write-back that pays

Write-back starts on one field set, with the audit trail and revert path proven before scope widens.

05
Add one pipeline at a time

Delay alerting, follow-up drafting, three-way match and requisition intake are added individually, each with its own checkpoint.

// when not to build this

Five situations where we would tell you not to

A procurement agent is worth building when the reading volume is real and somebody will own the exceptions. If neither is true, it becomes an expensive way to generate a second inbox.

  • Your open purchase order volume is small enough that a calendar reminder and a spreadsheet genuinely cover it
  • Nearly every supplier already sends a clean EDI 855, in which case fix the mapping rather than layering an agent on it
  • Purchasing email lives in personal inboxes rather than a shared mailbox, which has to be fixed before anything can read it
  • Your ERP offers no supported write path, which limits the agent to alerting and a review queue
  • Nobody has the time or the authority to work an exception queue, because an unattended queue is just a second inbox

// what you get

What is handed over at the end

You own the agent, including the rules that decide what it is allowed to do. That matters more here than on most builds, because the rules are the safety model.

  • Source code and infrastructure running in your own accounts, not on a platform you rent from us
  • Extraction rules and prompts as versioned files your engineers can read and change
  • Tolerance and threshold configuration your buyers can edit without a developer
  • The field allowlist documented, with the reasoning for every field left out of it
  • The audit trail schema, plus the queries your finance team will be asked for during an audit
  • A runbook for the exception queue, written for the buyer who owns it rather than for an engineer
  • The propose-only switch and the kill switch, both documented and tested
  • Recorded walkthroughs for buyers and accounts payable, so a new starter does not need us

Related: AI agent development, AI workflow automation, B2B e-commerce, and e-commerce for manufacturers.

PROCUREMENT AI AGENT FAQ

Questions purchasing and supply chain teams ask first

The questions that come up on every scoping call, answered here instead of saved for the pitch.

The basics

What is a procurement AI agent?

Software that reads the supplier email your purchasing team receives, pulls out the order number, promised ship date, quantity and price, compares each against the matching open purchase order line in your ERP, and puts anything that disagrees in front of a buyer. It reads and matches. A person approves.

How is this different from the alerts our ERP already has?

Your ERP can only alert on what is inside it. The promised date lives in an email nobody has opened, so the ERP confidently shows a date that stopped being true a week ago. The agent works the inbox first and the ERP second, which is the order the information arrives in.

Do we need EDI for this to work?

No, and that is usually the point. Teams already receiving an EDI 855 acknowledgement from every supplier do not need an agent, they need better mapping. This exists for the long tail of suppliers who will never trade EDI and keep sending free-text email and PDF attachments.

Our suppliers send acknowledgements as PDF attachments. Does that work?

Yes, that is the normal case. The agent reads the PDF, whether generated or scanned, and extracts line-level fields. Scan quality varies, so low-confidence extractions route to an exception queue for a human rather than being written into the ERP as if they were certain.

Can it handle a supplier who never acknowledges anything?

It handles the silence directly. When a PO passes your acknowledgement window with nothing back, the agent drafts a chase naming the PO, line, part number and the date you expected. The draft waits for a buyer to send it, and the missing reply is tracked as its own exception type.

Safety & approval

Will it change dates in our ERP without asking?

Only inside limits you set, and only on fields you explicitly allow. Everything else goes to a buyer. Most teams start in propose-only mode where the agent writes nothing at all, then enable write-back on a narrow field set once they have seen how often it agrees with their buyers.

What happens when the agent reads a date wrong?

Two things catch it. Extraction confidence below your threshold means no write happens regardless of anything else, and a variance outside your tolerance rule routes the line to a person. If a wrong value does get through, every write stores the previous value and the run identifier, so the batch can be reverted.

What is a tolerance rule?

A number deciding whether a difference is routine or worth a human. A promised date three days later than the PO might be inside tolerance and apply automatically. Three weeks later goes to the buyer. You set separate tolerances for date, quantity and price, and can set them per supplier.

How do we roll back a bad batch?

Every write records the source message, extracted value, confidence score, previous value, new value, run identifier and approver. Reverting replays the previous values for one run. Because writes are restricted to an allowlist of fields, a rollback cannot disturb anything the agent was never permitted to touch.

Will it approve invoices or release payments?

No. The agent surfaces three-way match exceptions, meaning it shows where the purchase order, the goods receipt and the supplier invoice disagree, grouped by type. Approving, posting and paying stay with your accounts payable team inside your existing controls.

What about supplier bank detail change requests?

The agent flags them and never applies them. Bank detail changes arriving by email are a known fraud route, so they are a red-flag class: the message is labelled, the buyer and finance are notified, and the change waits for verification by a person using a phone number you already hold.

Does it send emails to our suppliers on its own?

Not by default. Follow-ups are drafted into the buyer thread with the PO, line, part number and original date already filled in, and a person sends them. Some teams later allow automatic sending for one narrow template, usually a first chase, after watching the drafts for a while.

Supplier data

What happens when a supplier says something vague like end of month?

It becomes a range with an explicit ambiguity flag, not a precise date. Inventing precision is the failure mode that destroys trust in the field, because planners assume a date in the ERP means someone confirmed one. A flagged range tells the truth about what the supplier actually said.

How does it know which purchase order an email belongs to?

It matches several signals together: the PO number in the subject or body, your part numbers, the supplier domain, quantity and value, and the set of POs currently open with that supplier. When the match is not confident it asks, because a correct date on the wrong line is worse than none.

Can it tell us which customer order a delay affects?

Yes, where the link exists in your system. If a purchase order line is pegged to a work order or sales order, the alert names the exposed order, the customer and the date at risk instead of just saying a part is late. It alerts. It does not reschedule production.

Can it handle price change notices?

Yes. Price changes are classified as their own message type, the old and new unit prices are extracted, and the variance is measured against your price tolerance and the agreed contract price where you hold one. Price movement almost always routes to a buyer, because a commercial conversation is attached.

Systems & standards

Which ERPs can you write back to?

Oracle NetSuite, SAP S/4HANA and SAP Business One, Microsoft Dynamics 365 Business Central, Acumatica, Epicor Prophet 21 and Epicor Kinetic, and Infor CloudSuite. Where a supported API exists we use it. Where it does not, the agent stays in propose-only mode and delivers a review queue instead.

Can it work inside Coupa, Ariba or Jaggaer instead of the ERP?

Yes, and often alongside them. Requisition intake and approval routing usually belong in the source-to-pay platform, while promised dates and receipts belong in the ERP. We map which system is authoritative for each field first, because two systems both owning a date is how the current mess started.

Working together

How long before it does anything useful?

The first useful output is usually classification and a review queue, which can run against live mail early because it writes nothing. Write-back comes later and deliberately, after a propose-only period long enough to measure agreement with your buyers. We give a firm timeline once we have sampled your mailbox.

What do you need from us to start?

A representative sample of real supplier email, read access to your ERP for purchase orders and receipts, your item and supplier master, your acknowledgement window and escalation rules, and one named buyer who will own the exception queue. That last one matters more than any technical item on the list.

When is this the wrong thing to build?

When your open PO volume is small enough that a calendar reminder covers it, when nearly all suppliers already send a clean EDI 855, when purchasing email sits in personal inboxes instead of a shared mailbox, or when nobody can work an exception queue. We say so on the call, not after.

Who owns the code and the rules?

You do. The extraction rules, prompts, tolerance settings, field allowlist and infrastructure are yours, versioned in your repositories and running in your accounts. Tolerances and thresholds are configuration your team edits without calling us. There is no runtime you keep renting from us to keep the agent working.

GET STARTED

Scope a procurement agent

Tell us how supplier acknowledgements reach your team, which ERP holds the promised date, and what the agent must never be allowed to touch. You get a straight read and a fixed proposal before any work starts.

See AI agent development

Propose-only first. Field allowlist, tolerance rules and a full audit trail on every write. You own the code.

Free quote
Founder replies in 24h