Every dollar of accounts payable risk concentrates in one question: does this bill match what we ordered and received? Matching answers it. The mechanics are simple in the clean case and surprisingly messy in the real one, which is where reasoning, not just rules, earns its place.

This page explains two way and three way matching on Acumatica, the cases that trip up rule based matching, and how an agent handles them.

Two Way Match
Three Way Match
Tolerances
Variance Detection
Partial Receipts
Exception Routing
Audit Trail

Two way versus three way, defined

Two way: Match the bill to the purchase order. Do price and quantity billed agree with what was ordered?
Three way: Add the receipt. Did we actually receive the goods or services we are being billed for?

Acumatica models purchase orders, purchase receipts, and bills as distinct objects, which is exactly what matching needs. The agent reads all three and compares them line by line.

Tolerances you control

Not every difference is a problem. Freight, rounding, and small price moves may be acceptable. The agent applies tolerances you define by vendor, amount, and category, so a two cent rounding difference passes while a ten percent price jump stops. You set the policy; the agent enforces it consistently.

Traditional bookkeeping alongside modern methodsPhoto by Kelly Sikkema on Unsplash

Why rule based matching is not enough

Native and rule based matching handles the clean case well and stalls on the messy one. Real invoices bring partial receipts, split shipments, unit of measure mismatches, substitute items, and consolidated billing. A rule either passes these incorrectly or dumps them all into a manual queue.

The AI difference. An agent reasons about the mismatch: it recognizes that three receipts add up to the billed quantity, or that the vendor billed in cases while the order was in units, and it explains its conclusion instead of just flagging a failure.

Flag at capture, not at payment

Reconciling transactions across a spreadsheetPhoto by Gorilla ROI on Unsplash

Timing is everything in AP control. When matching runs at capture, a variance is caught while there is still time to query the vendor and correct it. When it runs at the payment run, you either pay a wrong amount or scramble at the deadline. The agent matches as the bill arrives.

What happens to a failed match

Explain: State exactly which line failed and by how much, against which order and receipt.
Attach evidence: Include the purchase order, the receipt, and the vendor history.
Route: Send it to the right approver, so the decision is fast and informed.

Matching feeds everything downstream

A matched bill is a coded bill, an approvable bill, and a bill safe to pay. Matching is therefore the linchpin of touchless AP: raise the match rate and the touchless rate rises with it, because fewer bills need a human. Everything after matching gets easier.

How ChatFin matches on Acumatica

ChatFin performs two way and three way matching against Acumatica purchase orders and receipts within your tolerances, reasons through partial receipts and unit of measure differences, and routes only genuine exceptions to a person with full context. Clean matches flow toward approval automatically.

Rule based matching tells you a line did not match. A reasoning agent tells you why, and often that it actually does.

Frequently Asked Questions

Can AI do three way matching in Acumatica?

Yes. AI reads the bill, the purchase order, and the purchase receipt in Acumatica and matches them line by line within tolerances you set by vendor, amount, and category. Beyond native rule based matching, an agent reasons about partial receipts, split shipments, and unit of measure differences and explains its conclusions. ChatFin performs two way and three way matching and routes only real exceptions to a person.

How is AI matching better than Acumatica native matching?

Native matching is rule based and handles clean cases well but struggles with ambiguity such as partial receipts, consolidated billing, or unit of measure mismatches. An AI agent reasons about these cases rather than dumping them into a manual queue, and it explains why a line passed or failed. That raises the automatic match rate and reduces manual review.

When does matching happen, at capture or at payment?

The safe answer is at capture. Matching a bill as it arrives means a variance is caught while there is still time to query the vendor and correct it, rather than discovered at the payment run. ChatFin matches at capture and flags discrepancies immediately.

Match Every Bill Before You Pay It

ChatFin matches Acumatica bills to purchase orders and receipts within your tolerances, reasons through the messy cases, and surfaces only genuine exceptions for a person to resolve.

Deploy on your existing Acumatica instance without replacing it, without database credentials, and without waiting for a development project. ChatFin reads through the same governed API surface Acumatica already exposes and writes back only drafts that a human approves.

Book a Demo

Related Reading