ProcIndex Blog

3-Way Matching Explained: How AI Does It 50x Faster

What 3-way matching is, why it matters, and how AI agents perform matches in seconds that take humans 45 minutes.

TL;DR

3-way matching compares invoices, purchase orders, and goods receipts to ensure you only pay for what you ordered and received. Manual matching takes 30-45 minutes per invoice. AI agents do it in under 60 seconds with higher accuracy. The key: AI understands context, so it can match items even when descriptions don’t match exactly.


3-way matching is the foundation of accounts payable controls. Done right, it prevents:

  • Paying for goods you didn’t receive
  • Paying prices higher than agreed
  • Paying duplicate invoices
  • Paying for quantities you didn’t order

Done poorly—or skipped due to time pressure—it leads to overpayments, fraud exposure, and audit findings.

Most companies do it poorly. Not because they don’t care, but because they don’t have time to do it right.

What Gets Matched

A 3-way match compares three documents:

1. Purchase Order (PO)

What you agreed to buy:

  • Vendor
  • Items/services
  • Quantities
  • Unit prices
  • Total amount
  • Delivery date
  • Payment terms

2. Goods Receipt (GR)

What you actually received:

  • Vendor/carrier
  • Items received
  • Quantities received
  • Condition
  • Receipt date
  • Receiver signature

3. Invoice

What the vendor says you owe:

  • Vendor
  • Items billed
  • Quantities billed
  • Unit prices
  • Total amount
  • Invoice date
  • Payment terms

A successful match means all three documents agree: you ordered it, you received it, and the invoice reflects what you ordered and received.

Why Manual Matching Is Painful

Let’s walk through a manual match:

Step 1: Find the PO (5 minutes) Invoice references PO-39847. Open ERP, search for PO. Not found. Check invoice again—maybe it’s 39847A or PO39847 or 039847. Try variations until you find it.

Step 2: Find the receipt (5 minutes) PO shows multiple receipts. Which one matches this invoice? Check dates, quantities. Cross-reference receiver notes.

Step 3: Compare header info (5 minutes) Does the vendor name on the invoice match the PO? (Grainger vs. W.W. Grainger vs. Grainger Industrial Supply). Are payment terms the same?

Step 4: Compare line items (20 minutes) This is where it gets ugly:

  • PO line 1: “Widget Type A, 100 units @ $5.00”
  • Invoice line 1: “Type A Widgets (100) - $500.00”
  • Receipt line 1: “Widgets, A-Type, qty 100”

Are these the same? Probably. But you need to verify each line, check for missing items, identify any extras, and calculate variances.

Step 5: Handle discrepancies (10+ minutes) Invoice total is $5,127. PO total is $5,000. Why? Shipping? Price increase? Extra items? Dig through to find the variance, decide if it’s acceptable, document the decision.

Total time: 45+ minutes

Now multiply by 500 invoices per month.

How AI Agents Match

The same invoice takes an AI agent under 60 seconds:

Document Understanding The agent reads all three documents—not by looking for data in specific fields, but by understanding the content. It identifies key information regardless of format or layout.

Fuzzy Matching The agent knows that “Widget Type A,” “Type A Widget,” and “A-Type Widgets” are the same thing. It matches on meaning, not exact text.

Unit Conversion PO says “1 dozen @ $60.” Invoice says “12 each @ $5.” The agent recognizes this is equivalent.

Tolerance Rules Invoice is 2% over PO? Within tolerance, auto-approve. Invoice is 15% over? Flag for review with explanation.

Variance Explanation When there’s a discrepancy, the agent doesn’t just flag it—it explains it. “Invoice includes $127 shipping charge not on original PO. Shipping charges from this vendor typically range $100-150. Recommend: Approve.”

Match Outcomes

AI agents categorize matches into clear outcomes:

Perfect Match

All three documents agree exactly. Auto-approve.

Match Within Tolerance

Minor variances within configured thresholds. Auto-approve with notation.

Partial Match

Some line items match, others don’t. Common scenarios:

  • Partial shipment (received 80 of 100 units)
  • Back-order (remaining units coming)
  • Substitution (different item sent)

Agent matches what it can, flags discrepancies with context.

No Match

Can’t find corresponding PO or receipt. Agent attempts to:

  • Find similar POs (same vendor, similar amount, similar items)
  • Check for blanket POs that might apply
  • Identify as non-PO invoice requiring special approval

Duplicate

Invoice appears to be a duplicate of previously processed invoice. Agent provides comparison and asks for confirmation.

Edge Cases AI Handles

Blanket POs

Long-term contracts with periodic invoicing against a blanket PO. Agent:

  • Tracks cumulative invoiced amount
  • Monitors remaining balance
  • Alerts when approaching PO limit
  • Handles releases/call-offs

Multiple Receipts per PO

Large orders shipped in multiple deliveries. Agent:

  • Matches invoice to specific receipt(s)
  • Handles partial invoices against partial receipts
  • Tracks remaining open amounts

Multiple Invoices per Receipt

Single delivery invoiced separately (e.g., goods vs. freight). Agent:

  • Links related invoices
  • Ensures no double-payment
  • Tracks total cost against PO

Service POs

No physical receipt for services. Agent:

  • Matches to service completion confirmation
  • Checks for time/milestone billing terms
  • Validates against approved service hours

Returns and Credits

Goods returned, credit expected. Agent:

  • Links credit memo to original invoice
  • Applies credit to payment calculation
  • Tracks pending credits

The Accuracy Difference

Manual matching accuracy: 92-96%

  • Humans miss things, especially under time pressure
  • Similar invoices can slip through as different
  • Variances get approved without scrutiny

AI agent accuracy: 99%+

  • Consistent processing regardless of volume
  • Never gets tired or rushed
  • Flags anything unusual for review

The 4-7% accuracy difference matters. On $10M in annual payables, that’s $400K-700K in potential overpayments, duplicate payments, or fraud exposure.

Implementation

Adding AI matching to your process:

Week 1: Connect Systems

  • Link to ERP (PO and receipt data)
  • Link to invoice capture (incoming invoices)
  • Configure basic matching rules

Week 2: Configure Tolerances

  • Price tolerance (e.g., 2%)
  • Quantity tolerance (e.g., 5%)
  • Vendor-specific rules
  • Category-specific rules

Week 3: Shadow Mode

  • Agent matches all invoices
  • Humans verify matches
  • Refine rules based on results

Week 4: Go Live

  • Auto-approve matches within tolerance
  • Route exceptions to humans
  • Monitor and adjust

ProcIndex’s AP Agent handles 3-way matching automatically. See it in action