Supplier Order Acknowledgment Reconciliation: Catching Changes Before the Goods Ship
EverSwift Labs · 4 November 2026
In short: A supplier's order acknowledgment is the last cheap moment to catch a change. After that, the goods ship, and the invoice arrives with the change already baked in. SwiftConfirm reads every acknowledgment your suppliers send, compares it with your own purchase order in code, line by line, and hands back only what changed: prices, quantities, dates, parts, units, charges and terms. You accept or dispute each change, SwiftConfirm drafts the email to the supplier, and your ERP gets an update file for what you accepted. It also lists the POs nothing came back for.
Key takeaways
- Check acknowledgments, not just invoices. A three-way match at the invoice finds the price rise after the goods have shipped.
- The reader is never shown your PO. A reader told what to expect can find it, so the comparison happens in code.
- Every line ends as ordered or changed, and every change is accepted or disputed by a person.
- Silence is a failure too. A PO with no acknowledgment after three business days gets a chase email.
- Updates go back to your ERP keyed by its own line keys, so nothing is re-keyed.
What is purchase order acknowledgment reconciliation?
When you send a supplier a purchase order, they reply with an order acknowledgment (also called an order confirmation or sales order confirmation) saying what they will actually ship, at what price, and when. It often differs from what you ordered: a price rise, a short quantity, a backorder, a later date, a substitute part, a different unit of measure, a new freight or handling charge, or changed payment terms.
Reconciliation means comparing every acknowledgment against your PO, line by line, and deciding on each difference before the goods ship. Most purchasing desks do it by eye, or not at all, because a busy desk receives dozens of confirmations a day, in every format suppliers can produce.
Why the acknowledgment, not the invoice
Accounts payable's three-way match (PO, receipt, invoice) is designed to stop you paying for what you didn't get. It is not designed to stop you receiving what you didn't order. By the time the invoice shows a price rise or a substitute, the goods are on your dock, your customer's job is waiting on the backordered line, and the dispute costs a phone call, a return or a credit note.
At the acknowledgment, a change is still an email away from being reversed.
How SwiftConfirm checks an acknowledgment
1. Your open POs are the baseline
You upload your ERP's own open-PO export. SwiftConfirm keeps each line with your ERP's line key, so whatever it later sends back to your ERP updates the right line, not a guess at it. An upload replaces the set, and each PO keeps the day it was first seen.
2. The supplier's document is read without your PO
The acknowledgment, whether a PDF, a scan or an email body, is transcribed by a language model on Google Cloud's Vertex AI. The model is never shown your PO. If it were, it could "see" the quantities it expects and paper over a change. SwiftConfirm then finds your PO by the number the document prints.
3. Every line is compared in code
SwiftConfirm's own code compares the two documents and names what changed, line by line:
| Change | Example |
|---|---|
| Price | Unit price up from 12.40 to 13.15 |
| Quantity | 40 ordered, 32 confirmed |
| Backorder | 8 of 40 confirmed for a later date |
| Date | Promised 12 May, confirmed 26 May |
| Part | A substitute item number |
| Unit | Ordered by the case, confirmed by the each |
| Missing or added line | A line you ordered isn't there, or one you didn't order is |
| Charges and terms | A new freight or handling charge; changed payment terms |
Every other line is marked as ordered, so a person reads only what changed. Anything the reader could not read with certainty is held as a doubt, to be checked against the paper. It is never cleared by assumption.
4. You decide each change
Each change is accepted or disputed, from the keyboard. A disputed change goes into an email to the supplier, written in your voice with dates spelled out so nobody misreads 04/05. SwiftConfirm drafts it and never sends it. You send it from your own mailbox. When you mark it sent, the trail records what it said, so a notice that is later edited reads as not sent.
5. Accepted changes go back to your ERP
What you accept becomes a PO update file, keyed by your ERP's own line keys:
- NetSuite: a file for the CSV Import Assistant.
- Sage 100: a file for Visual Integrator.
- Acumatica: a file for an import scenario.
- SwiftConfirm's own changes file: every line with its decision, for any other system.
The POs nothing came back for
The most expensive acknowledgment is the one that never arrives: you assume the order is confirmed as sent, and you find out otherwise on the delivery date. SwiftConfirm lists every open PO with no acknowledgment after three business days, and drafts one chase email per supplier covering all of their silent POs.
Revisions and duplicates
Suppliers resend. When a second acknowledgment arrives for the same PO, SwiftConfirm reports what it changed against the earlier one, and still checks the new one on its own against your PO. A document that arrives twice is caught as a duplicate.
How to run it on your desk
- Export your open POs from your ERP and upload them on the Purchase orders screen.
- Send acknowledgments in. Upload them, or forward supplier emails to your workspace's private address. Each attachment becomes a document.
- Review the changes. Only what differs from your PO needs reading. Accept or dispute each change.
- Send the disputes from your own mailbox, using the drafted email.
- Export the PO update file for what you accepted and import it into your ERP.
- Chase the silent POs each morning with the drafted chase emails.
How we measured it
We test the checker on a fixed set of real-format acknowledgments whose correct answers we wrote down first, on both model chains, twice. On that set: 13 of 13 changes caught, 14 of 14 unchanged lines cleared as ordered, 0 silent errors and 0 false alarms. The first runs caught the checker's own false alarm ("Freight: Prepaid" was read as a new charge), which is exactly why the test set exists.
These are test results on documents we chose, not an accuracy rate on your suppliers' paper. We'll publish one only when it has been measured on real acknowledgments.
How SwiftConfirm compares with the ERP vendors' own agents
- Microsoft Dynamics 365 Supply Chain Management has a Procurement Agent for supplier communications. It reads vendors' emails and PDFs, proposes quantity, price, unit, date and cancellation changes, and follows up on unconfirmed and late POs. It is the same job, defined the same way, and Microsoft lists it as a production-ready preview inside Supply Chain Management.
- Microsoft Business Central's Payables Agent reads vendor invoices, not acknowledgments.
- NetSuite: when we searched in October 2026, we found no comparable first-party feature.
If you run Dynamics 365 Supply Chain Management, try Microsoft's agent first. If you run Business Central, NetSuite, Sage 100 or Acumatica, SwiftConfirm does this job for you.
Pricing
SwiftConfirm is offered as a pilot: $399 a month, month to month, for one purchasing desk. A new workspace includes 25 documents free within its first 14 days, counted only when a read succeeds. A supplier's file is deleted 90 days after it arrives; what was read, your decisions and the trail stay. See SwiftConfirm.
Frequently asked questions
What is a purchase order acknowledgment?
The supplier's reply to your PO, saying what they will ship, at what price and when. It is also called an order confirmation. It is the first place a supplier's changes appear in writing.
What changes does SwiftConfirm catch?
Price changes, short quantities, backorders, date changes, substitute parts, changed units, missing and added lines, new charges, and changed terms. Lines that match your PO are marked as ordered.
Does SwiftConfirm email my suppliers?
No. It drafts the dispute and the chase emails in your voice; you send them from your own mailbox. Nothing is ever sent to a supplier by SwiftConfirm.
Why isn't the AI shown my purchase order?
Because a reader told what to expect tends to find it. The model transcribes the supplier's document blind, and the comparison with your PO happens in code, where a difference can't be talked away.
Which ERPs does it work with?
It reads your open POs from your ERP's export and writes PO update files for NetSuite, Sage 100 and Acumatica, plus a generic changes file for any other system.
How is this different from three-way matching?
Three-way matching happens at the invoice, after the goods have shipped. SwiftConfirm works at the acknowledgment, when a change can still be refused.
Sources
- SwiftConfirm, read 4 November 2026
- Microsoft, Procurement Agent: supplier communications (Supply Chain Management), read 18 October 2026
- Microsoft, Payables Agent (Business Central), read 18 October 2026
Built this way
- SwiftConfirm
Every supplier acknowledgment checked against your PO, line by line — before the goods ship, not after the invoice.
More playbooks like this.
Long-form breakdowns of how the work actually gets done. Occasional, not weekly.
