3-Way Matching

Automated 3-Way Matching Against ERP

Match invoices against POs and GRNs from your ERP instance automatically. Handles the messy real-world cases — telecom invoices, marketing line items, partial receipts — without manual workarounds.

This page is part of FinMark.ai's Accounts Payable Automation platform. Read the full overview for context, capabilities, and how the pieces fit together.

What it is

What 3-way matching actually does

3-way matching compares three documents before an invoice gets paid: the purchase order (what was ordered), the goods receipt note (what was received), and the vendor invoice (what they are billing you for). All three need to agree within tolerance. If they do, the invoice can move forward. If they do not, the discrepancy is surfaced for review.

Manual 3-way matching is one of the most expensive things an AP team does. It is also one of the most important controls — it is how you catch overcharges, short shipments, vendor billing errors, and outright fraud. Automating it does not remove the control; it makes the control work at scale.

ERP integration

Matching against your live ERP data

FinMark.ai pulls purchase orders and goods receipt notes directly from your ERP instance. When an invoice arrives, the matching engine has access to your live PO and GRN data without any manual upload or sync delay. The match runs automatically, the result is logged, and the invoice moves forward — or gets flagged for review.

The integration is bidirectional. POs and GRNs flow in. Approved invoices flow back into ERP with all the relevant fields populated, ready to post.

Real-world cases

How we handle the cases that break generic matching

Standard 3-way matching assumes one invoice line per PO line. Reality is messier. Telecom invoices have one PO line that says "Telephone" and a hundred invoice lines for calls, SMS, data, and bundles. Marketing invoices come with line items that do not map cleanly to specific PO lines at all. Partial deliveries leave you with quantity mismatches that are correct but flagged anyway by naive matching engines.

FinMark.ai handles two special cases that come up constantly in production. Lump-sum matching: a single PO line plus N invoice lines passes if the totals match within tolerance — this is how telecom invoices flow through. Ratio-based matching: when invoice lines do not map cleanly, amounts are split proportionally across the relevant PO lines. Both are real production patterns at a major enterprise group, not theoretical edge cases.

Tolerances

Configurable tolerances per company and vendor

Tolerances are configurable per company, per vendor, and per category. Trusted long-term vendors can have looser tolerances. New or risk-flagged vendors can have tighter ones. High-value invoices can require tighter matching. The point is that human attention focuses only on the variances that actually warrant it, not on every minor mismatch.

Frequently Asked Questions

3-way matching compares the purchase order, the goods receipt, and the vendor invoice before approving payment. All three need to agree within tolerance. It catches overcharges, short shipments, billing errors, and vendor fraud.

Yes. POs and GRNs sync directly from your ERP instance. The matching engine has access to your live data without any manual upload.

Lump-sum matching handles this directly. A single PO line plus N invoice lines passes if the totals match within tolerance. This is a real production pattern at a major enterprise group.

Yes. Tolerances are configurable per company, per vendor, and per category. You decide how tight or loose each one is.

Yes — for true 3-way matching you need POs and GRNs in ERP. For services and recurring charges where you do not have POs, 2-way matching against the invoice and an approver decision is supported.

Ready to see 3-Way Matching in action?

Get a 30-minute demo of the full Accounts Payable Automation platform — including 3-way matching — walked through live with your data.