Key takeaways
- Three way match automation is software, or an AI agent, that checks each invoice against its purchase order and goods receipt on quantity, price and total, and routes anything outside tolerance to a person.
- Sources split the work: Gosign says its agent validates 'fully deterministically', while Omni says the AI reads all three documents and extracts the fields, so a good build uses AI to read and rules to decide.
- Tolerance advice conflicts: Omni says 'typically 1 to 3 percent', Peakflo suggests an initial price tolerance of plus or minus 2%, while Microsoft's Dynamics 365 examples use +8% and +15%.
- Stampli says 'business judgment is still needed' when records disagree, and Spendflo says release 'remains a decision for authorised staff', so approval stays human.
- Pilot one supplier group in Q1 2027, set the tolerance per spend category, and review a sample of auto-approved matches every week.
Three way match automation is software, or an AI agent, that checks each supplier invoice against its purchase order and goods receipt on quantity, price and total, approves clean matches and sends the rest to a person. In 2027 the interesting part is no longer the comparison. It is how the agent finds the records, which checks stay rule-based and who decides. This post walks through seven steps, with every vendor claim read in November 2026.
For the full picture of the invoice-to-pay flow, start with our intelligent invoice processing guide. For the wider category, see AP automation.
What is three-way match automation?
It is the automated version of a control AP teams have used for decades. Corpay states the point plainly: "Pay only for goods or services the company actually ordered, received, and agreed to pay for." Three documents carry that proof: the purchase order (what was ordered), the goods receipt (what arrived) and the invoice (what the supplier bills).
Stampli places the step in the flow: "PO matching sits after invoice capture and coding, and before final approval or payment readiness." So the match is one gate in a longer chain. Our touchless invoice processing post covers the whole chain, our AI invoice processing explainer covers the extraction end, and BufferSol's intelligent invoice processing case study lists three-way matching as one of its four core features.
- 011 FindLocate the PO and receipts for the invoice
- 022 ReadExtract and line up the fields from all three
- 033 CheckTest quantity, price and total by rule
- 044 TolerateApply the tolerance for that spend category
- 055 PassApprove clean matches and queue them
- 066 FlagExplain each exception and route it
- 077 DecideA person releases or rules, and it is logged
BufferSol Technologies · buffersoltech.com
1. How does the agent find the PO and receipt behind an invoice?
It looks them up, first by reference and then by search. Omni Online Strategies says the system matches each invoice "to the corresponding PO and goods receipt using the PO number and vendor ID from the invoice." When the invoice carries no PO number, Spendflo says its agent "finds the PO and the receipts linked to the invoice, or searches by supplier and item if no link exists."
That fallback matters more than it sounds. Many invoices arrive with a missing or mistyped PO number, and a rule-only matcher stops there. A BufferSol-style build tries the reference first, then supplier plus item plus date window, and records which route found the match. If it finds more than one candidate PO, it does not guess; it flags the invoice. Our ap automation vs custom agent post explains why that lookup logic is where custom builds earn their keep.
2. How does it read and line up the three documents?
This is the one step where AI does real work. Omni says "The AI reads all three documents, extracts the relevant fields" and then performs the comparison, listing quantity, unit price, total amount and line item descriptions. Spendflo says the agent "pairs each invoice line with its PO line and receipt record."
Pairing lines is harder than comparing totals, because suppliers reorder lines, merge them or add freight. Kognitos shows line-level logic in its own example text: "Match each invoice line to the PO and goods receipt." The reading and pairing is where an AI model helps. Our invoice scanning post covers extraction, and the automated invoice processing software comparison lists vendors.
3. Which checks should stay rule-based, and which need AI?
Reading needs AI. Deciding should not. Gosign says its agent works "fully deterministically against purchasing rules, with zero AI share", adding "Every step is a field check or a numerical comparison." Omni takes the opposite framing, with the AI performing the comparison. Few pages say where the line sits.
BufferSol view: use a model to read the documents, pair the lines and write the explanation of a mismatch, and use plain rules for every pass or fail decision. A rule gives the same answer twice, which an auditor can check. Gosign makes the audit point directly: "During a tax audit, it is fully traceable whether every invoice was correctly verified." Our AI agent evaluation post shows how to test the AI-read part against a labelled sample.
| Step | Best done by | Why |
|---|---|---|
| Find the PO and receipts | Rules, then search | Reference first, fuzzy search only as a fallback |
| Read and pair lines | AI model | Layouts and line order vary by supplier |
| Pass or fail on quantity, price, total | Rules | Same answer every time, easy to audit |
| Explain the mismatch | AI model | Plain-language note for the buyer |
| Release payment | Person | Authority sits with staff |
| Gosign | Omni | |
|---|---|---|
| Who compares | Rules only, 'zero AI share' | The AI reads all three documents and performs the comparison |
| Tolerance | Configurable, by product group and vendor | Configured, typically 1 to 3 percent |
| Exceptions | Routed to the responsible buyer | Flagged and routed to the appropriate approver |
Source: Gosign and Omni Online Strategies pages, read November 2026; vendor descriptions, not benchmarks.
BufferSol Technologies · buffersoltech.com
4. What tolerance should the agent apply?
There is no agreed number, so make the tolerance a setting you own. The sources disagree, and that is useful to know before you set yours.
| Source | What it says | Date or note |
|---|---|---|
| Omni | Tolerance "typically 1 to 3 percent" | No date shown |
| Peakflo | "Initial tolerance: ±2% (minimize exceptions)"; quantity "±5% or ±2 units (whichever is greater)" | April 24, 2026 |
| Peakflo | "Manufacturing: Tighter tolerances (±2-3%)" | Same page |
| Tipalti | "a 2% price variance may auto-approve for one category of spend" and route to review in another | Updated November 13, 2026 |
| Microsoft Learn | Examples use +8% net unit price and +15% price totals tolerances | Page dated June 2026 |
According to Tipalti (updated November 2026), the same variance can pass in one category and need review in another, so set tolerance per spend category, not one number for the company. Gosign agrees in structure, with a "Threshold rule per product group and vendor." Microsoft's own examples are labelled as examples, not recommendations, so treat the +8% and +15% figures as illustrations of how settings work.
5. What does the agent do with a clean match?
It approves and queues the invoice, and writes down why. Omni says a clean match means "all fields agree, invoice auto-approved and queued for payment." Gosign adds that "Discrepancies within tolerance are approved automatically."
A clean match is not the same as an authorised payment. Stampli separates the two: "Approval confirms that the business authorizes the invoice to move forward." In practice, keep one human gate for payment release (see step 7) and let the agent post matched invoices to the ERP as ready to pay. Our invoice approval workflow post shows how to route that release, and our small business AP software post shows what lighter teams use.
6. How does the agent handle exceptions?
It names the exact mismatch and sends it to the person who can fix it. Spendflo says "For each failure it states what was ordered, received and billed." Gosign says the buyer gets "the exact difference and the reference to the agreed price." Kognitos says variances over policy "are flagged and routed to your AP team via Slack or Microsoft Teams".
Different exceptions need different owners. Stampli says review goes to "AP, procurement, the requester, or another business owner." This table, built from the cases the sources name, is our routing suggestion.
| Exception | Example from a source | Suggested owner |
|---|---|---|
| Unit of measure | Peakflo: "Units don't match (10 vs. 120)" | AP, after checking the PO unit |
| Partial receipt | Corpay: "GRN reflects a partial delivery; the invoice covers the whole quantity" | Requester or warehouse |
| Invoice before receipt | Peakflo: "Hold payment until receipt entered" | Agent holds and rechecks |
| Price above PO | Gosign: outside tolerance goes to the buyer | Buyer |
| Duplicate or unknown PO | Tipalti: "duplicate invoices, and invoices referencing nonexistent POs are caught before payment" | AP lead |
The timing case is the one pages explain least. When an invoice beats the receipt, the right move is a hold with a recheck, not a rejection. A custom agent can watch for the receipt to post, release the hold on its own if the match then passes, and ping the requester if it does not after a set number of days. That is BufferSol view, and our workflow exception handling post and bank reconciliation post cover the same match-and-hold pattern.
7. Where does a person decide, and what gets logged?
A person rules on mismatches and releases payment, and every step leaves a record. Spendflo says "An AP analyst rules on any mismatch" and "Release remains a decision for authorised staff." Stampli says "Automation can identify matches and exceptions, but business judgment is still needed when records disagree."
Gosign says "The approval matrix implements the four-eyes principle required in many internal control systems", and its agent documents "which purchase order and goods receipt were assigned". Log at least: the invoice, the PO and receipt IDs matched, which route found them, each check result, the tolerance applied, the decision and who made it. Our human-in-the-loop post explains where to place approval points.
What does a worked check look like?
Microsoft's documentation gives numbers we can test. In one example, five machines are ordered at 8,000.00 each, the invoice bills 8,100.00 each, and the net unit price tolerance is +8%. As a BufferSol calculation, 8,100 against 8,000 is a 1.25% increase, inside the +8% tolerance, and the example reports the line as "Passed" for quantity, price and price total.
The second Microsoft example shows failure. A wireless mouse ordered at 40.00 is invoiced at 41.00 against a +2% unit price tolerance. As a BufferSol calculation, that is a 2.5% increase, over the limit. The same example marks the receipt quantity match "Failed" because the product receipt was never posted, so the invoice cannot clear. The page also says approval can be required "before the invoice can be posted with price matching errors and quantity matching errors." This is the pattern an agent copies: pass what is inside tolerance, hold what is not, and ask a named person.
When is two-way matching enough?
When the receipt is not a useful control. Corpay says "Two-way matching makes sense when the goods receipt isn't a meaningful control point", and calls three-way "the practical sweet spot for most mid-market and enterprise AP teams handling physical goods." Peakflo notes that "Goods receipt is not recorded, as with many services."
Microsoft's example shows a mixed policy: two-way for most invoices and three-way for selected items and vendors. Odoo takes a stricter line: its documentation says the policy "ensures vendor bills are only paid once all (or some) products in a purchase order (PO) have been received", and that it "is only intended to work with the Bill Control policy set to Received quantities." Copy the mixed approach. Run the agent in three-way mode for physical goods and risky vendors, and two-way for services, and make the mode a setting per supplier group. Our best accounts payable software comparison shows which tools offer this.
What does a failed match cost your AP team?
Less than a wrong payment, but more than most teams expect. Omni says manual matching for a clean invoice takes "8 to 15 minutes". As a BufferSol calculation using that range, 200 invoices a week at 8 to 15 minutes is roughly 27 to 50 hours of matching. Omni's own page puts it at 26 to 50 hours, and the range is the page's, not ours.
Kognitos claims a 22% exception rate in manual matching and a price of $3 per invoice, down from $15 or more. These are vendor-reported figures with no method shown, so use them as claims, not benchmarks. Gosign also states outcomes of a 95% straight-through rate and a drop from 3 days to 2 hours, and the page gives no method, sample size or independent check. Count your own exceptions for four weeks and price them with your loaded hourly rate before you set a budget.
What does the agent not do?
It does not fix a bad PO, chase a receipt nobody entered or decide a commercial dispute. It cannot match what the ERP does not hold: Gosign lists "Electronic goods receipt posting" as a prerequisite, so a business that records receipts on paper has a data problem before it has an automation problem.
What the pages do not show: none of the eight vendor pages explains how the agent authenticates to your ERP, what permissions it holds or how it writes a hold back. Gosign lists an ERP with a procurement module as a prerequisite but names no specific ERP integration. Kognitos lists "Native connectors for SAP, Oracle NetSuite, Microsoft Dynamics 365, Epicor, and Sage", but a connector list is not a permissions model. Those answers belong in your build scope.
What should you ask every vendor in writing?
Ask the questions the marketing pages skip. Put these in the request for proposal and keep the answers.
- Which ERP objects does the agent read, and which does it write? Name the PO, receipt and invoice fields.
- What permissions does it hold? Ask for a least-privilege role, not an admin login.
- Is the pass or fail decision rule-based? Compare Gosign's "zero AI share" with the AI-read comparison on Omni.
- Who can change a tolerance, and is each change logged?
- What happens when the receipt is late? Ask for the hold-and-recheck rule.
- Can we export the full match log? Our AI vendor security questionnaire lists the data questions, and our AP automation vs custom agent post covers cost and ownership.
Vendor claims on speed and accuracy are self-reported, as Kognitos and Gosign show. Ask for a trial on your own invoices. Kognitos lists a free 30-day pilot of up to 1,000 invoices, as of November 2026.
What changes for three-way matching in 2027?
No source we opened forecasts how matching will change in 2027, so this section is BufferSol view, written as reasoning, not fact.
We expect the reading step to become routine, since Omni and Spendflo already describe AI reading and pairing lines. We expect buyers to ask which decisions are rules and which are models, because Gosign now sells determinism as a feature. And we expect the weak points to be receipts and master data, not matching logic. Plan the 2027 budget around a pilot on one supplier group, not a company-wide switch, and see our will AI replace accountants post for where judgment stays human.
When should you build your own three-way match agent?
Build when your rules, ERP or approval routes do not fit a packaged tool. Stay with a packaged matcher when your ERP already has a matching policy that you use, as in Microsoft's Dynamics 365 examples, and the exceptions are few.
Build when:
- Your tolerances vary by category, supplier or amount and a single setting cannot hold them.
- Your exceptions need different owners across AP, buying and warehouse.
- Your systems are mixed, with receipts in one tool and POs in another.
- You want the log in your own hands, with rules you can read and change.
BufferSol's autonomous workflows service builds these agents. For adjacent options, see our invoice reconciliation post and the small business AP software post.
What would a 30-day pilot deliver?
In 30 days you get a working matching agent on your real invoices, with a person releasing every payment. The plan:
- You bring: read access to POs, receipts and invoices, your current tolerances, a list of supplier groups, and a month of past exceptions with their outcomes.
- We build, in about two weeks: a prototype that finds the PO and receipt, pairs lines, applies tolerance by category, and writes a plain-language reason for each exception, tested on your past invoices.
- We launch, in the final stretch: a live pilot on one supplier group, with a match log and a weekly review of a sample of auto-approved invoices.
Success is measured, as in our expense audit post, by invoices matched without touching, wrong auto-approvals found in review, exceptions routed to the right owner on the first try and hours of matching saved. The closest ready-made version is our invoice processing automation, made for finance teams that key most invoices by hand. Related pages: purchasing and replenishment, supplier follow-up and month-end reconciliation, plus the pages for manufacturers and distributors.
Is this right for you?
Check how many of these describe your team:
- Staff compare invoices with POs and receipts by hand, line by line.
- Exceptions sit in email with no clear owner.
- Your ERP holds POs and electronic receipts the agent can read.
- You can write down your tolerances, even if they differ by category.
- You want a weekly sample review before the agent runs without a person.
If few do, fix receipt entry and tolerance rules first, then pilot.
Facts checked November 2026. Vendor pages are marketing copy and their speed, accuracy and cost figures (Kognitos, Gosign, Omni) are self-reported; the ERP examples come from Microsoft Learn. Facts we did not re-check: the IOFM, APQC and Gartner figures that Omni cites, and any independent match-rate benchmark; we found none.
If your AP team matches invoices by hand, ask BufferSol for a scoped estimate for a three-way match agent on your ERP now, so the 2027 budget includes it and the pilot can start in Q1 2027.
Frequently asked questions
What is three-way match automation?
Three way match automation is software that compares a supplier invoice with the purchase order and the goods receipt without manual keying. Corpay says the point is to 'pay only for goods or services the company actually ordered, received, and agreed to pay for.' An AI agent adds reading of messy invoices, an explanation of each mismatch and routing to the right person.
How does an AI agent match an invoice to a PO and receipt?
It finds the records first, then compares them line by line. Omni says the system matches by 'the PO number and vendor ID from the invoice', and Spendflo says its agent 'searches by supplier and item if no link exists.' The agent then tests quantity, price and total against your tolerance rules and writes the result back to the ERP.
What tolerance should a three-way match use?
There is no single right number. Omni says tolerance is 'typically 1 to 3 percent', Peakflo suggests an initial price tolerance of plus or minus 2%, and Tipalti says a 2% price variance may auto-approve in one spend category and go to review in another. Start tight, then measure how many exceptions were harmless before you loosen it.
Can AI fully replace a person in three-way matching?
No. Stampli says automation can find matches and exceptions but 'business judgment is still needed when records disagree', and Spendflo says a person rules on any mismatch and releases payment. An AI agent can auto-approve clean matches inside tolerance. A person should own exceptions, rule changes and payment release.
When is two-way matching enough instead of three-way?
Two-way matching compares the invoice with the PO only. Corpay says it 'makes sense when the goods receipt isn't a meaningful control point', and Peakflo notes that a goods receipt is often not recorded for services. Corpay calls three-way 'the practical sweet spot' for physical goods, so use it where receipt confirmation protects you.
Sources
- Three-Way Matching Agent - Finance Agent Catalog, Gosign GmbH
- How to Automate 3-Way Matching for Purchase Orders Invoices and Receipts, Omni Online Strategies
- 3-Way Match Automation, Zero Bots, Zero Developers, Kognitos
- Three-Way Matching in Accounts Payable: Complete Implementation Guide 2026, Peakflo
- How Automated 3-Way Matching Improves Accuracy and Compliance in Indirect Spend, Tipalti
- What Is Three-Way Matching? A Definitional Guide for AP Teams, Corpay
- Automated Purchase Order Matching in Accounts Payable, Stampli
- AI Three-Way Match Agent, Spendflo
- 3-Way Matching in Odoo 19 Vendor Bills, Odoo
- Three-way matching policies - Finance | Dynamics 365, Microsoft Learn
Cite this article
BufferSol Editorial Team (2026). Three Way Match Automation in 2027: 7 Steps an AI Agent Takes. BufferSol Technologies. https://buffersoltech.com/blog/three-way-match-automation-2027
BufferSol Editorial Team
AI & software engineering team
Senior engineers, AI specialists and product leads at BufferSol Technologies who design, build and run AI agents, autonomous workflows and custom software for companies in the US, UK and Europe.
Reviewed by Sufyan K., Senior Writer, BufferSol Technologies.
