FREE TOOL
Three-way match checker
A three-way match checks a supplier invoice against two other documents before it is paid: the purchase order (what you agreed to buy, at what price) and the receipt (what actually arrived). The invoice is paid only when the price matches the PO and the quantity matches what was received, within your tolerances. Paste or upload the three documents below and every line passes or holds, with what to pay now, what to hold and a dispute email ready to send. Teams that run on Morsa do not paste anything: Morsa posts the receipt from a photo of the packing slip, matches every invoice as it arrives and drafts the dispute for AP to approve.
Updated October 21, 2026
What is a three-way match?
Three-way matching is the accounts payable control that compares three documents line by line before a supplier invoice is approved: the purchase order, the receipt (a goods received note, receiver or signed packing slip) and the invoice. Price is checked invoice against PO. Quantity is checked invoice against receipt, so you never pay for goods that did not arrive. Microsoft’s Dynamics 365 documentation defines it the same way: two-way matching compares invoice price to PO price, and three-way matching also compares invoice quantity to the product receipts.
In the example loaded in the checker, PO 4458 orders 12,000 lb of 1.2 mm coil at $0.52 a pound. The receipt shows all 12,000 lb arrived. The invoice bills $0.56 a pound, the price from before a September 1 change. The price is 7.7% over the PO, outside a 2% tolerance, so the line holds: billed $6,720.00, should be $6,240.00, $480.00 over. The skids on the same invoice match and can be paid.
Two-way vs three-way vs four-way match
| Match | Documents | What it checks | Use it for |
|---|---|---|---|
| Two-way | PO and invoice | Invoice price and quantity against the PO | Services, subscriptions, low-value or trusted suppliers, where nothing is physically received |
| Three-way | PO, receipt and invoice | Price against the PO, quantity against what was received | Stock, raw material and any goods you receive at a dock |
| Four-way | PO, receipt, inspection report and invoice | As three-way, plus quantity that passed inspection | Material with incoming inspection: castings, machined parts, regulated or certified goods |
| Invoice totals | PO and invoice totals | Only the invoice total against the expected total | A fast first screen; it misses an overcharge offset by a short charge |
Pick the match level per supplier or per item category; most ERPs let you set it at both levels.
How the three-way match process works
Buyer raises the PO: part, quantity, unit of measure, unit price, freight terms and payment terms.
Receiving logs the delivery: count what arrived against the packing slip and post a receipt in the ERP. Short, over and damaged quantities are written down here, not later.
AP receives the invoice and finds its PO number. No PO number is the first exception.
Lines are paired: by part number, then by description when the supplier uses its own part numbers. Split documents add up first: two receivers of 60 and 40, or an invoice that bills one PO line on two lines, count as 100 against that PO line.
Each line is compared: invoice unit price against PO price, invoice quantity against received quantity, and the invoice’s own arithmetic (quantity x price = amount).
Tolerances decide: a line inside every limit passes; anything outside holds.
Clean invoices are approved and scheduled for payment on their terms; held invoices go back to the buyer or the supplier with the exact variance.
The fix is recorded: a credit memo, a corrected invoice or an approved price change on the PO, so the next invoice matches.
Setting match tolerances
A tolerance is how far an invoice may differ from the PO or receipt and still pass. Without one, every rounding cent stops a payment; with too wide a one, real overcharges slip through. Most AP policies set a percent and a dollar cap and use the lesser of the two, so a small percent on a large line still cannot hide a large dollar overcharge. Microsoft’s own example: a PO for 1,000 batteries at 1.00 each, received in full, invoiced at 1.10 with a 5% price tolerance. A price of 1.05 would pass; 1.10 does not.
| Check | Common setting | Example that passes | Example that holds |
|---|---|---|---|
| Unit price over PO | Lesser of 2% or $50 a line | $10.00 on the PO, billed $10.15 on 100 units: 1.5%, $15 | Billed $10.60 on 100 units: 6%, $60 |
| Quantity billed over received | 0 units for stock; a few percent for bulk by weight | Coil received 12,000 lb, billed 12,000 lb | Billed 13,000 lb, received 12,000 lb |
| Received over ordered | 0 to 10% (some mills ship over by agreement) | Ordered 1,000, received 1,050 with a 10% over-ship allowance | Ordered 1,000, received 1,200 |
| Invoice total | Lesser of 1% or $100 | Rounding of a few cents across lines | Freight added that the PO does not allow |
| Billed under PO price or quantity | Always passes | Billed 600 of 1,000 received: the rest is billed later | None |
These are starting points, not a standard. Set tighter limits for high-value material and looser ones for commodity lines priced by weight.
Common exceptions and how AP resolves them
| Exception | Usual cause | What AP does |
|---|---|---|
| Price higher than the PO | Old price list, a price increase the buyer has not accepted, or a missed contract price | Hold the line and ask the supplier for a credit or corrected invoice; or the buyer updates the PO if the increase was agreed |
| Billed more than received | Supplier billed the ordered quantity, a short shipment, or a receipt not yet posted | Check receiving first; then short-pay or ask for a corrected invoice |
| Partial receipt | The rest is back-ordered | Pay for what arrived; leave the PO line open |
| Unit of measure differs | PO in cases, invoice in each; PO in pounds, invoice in hundredweight | Convert and compare; fix the UOM on the PO or the supplier’s item master |
| Line not on the PO | Extra freight, fuel surcharge, tooling or a substitute part | Ask the buyer to approve or reject; never pay without a PO change |
| Duplicate invoice | Resent by email and post, or re-issued with a new number | Match on supplier, amount, PO and date before paying |
| Invoice arithmetic wrong | Quantity x price does not equal the line amount | Return it; pay the correct figure only after a corrected invoice |
Who does the three-way match
In most plants and distributors it is split: the buyer owns the PO and any price change, receiving owns the quantity, and accounts payable runs the match and holds the invoice. The match fails most often at the handoffs, when receiving has not posted the receipt or the buyer agreed a new price by email and never changed the PO. That is why held invoices usually need a conversation, not a calculation.
How to use the checker
Choose 3-way, or 2-way when there is no receipt.
Paste each document’s lines from your ERP or a spreadsheet with a header row (part, description, qty, unit, unit price, amount), or upload a CSV. Freight and tax rows are read as charges.
Have only the email or the PDF? Paste the text, or drop the PDF or a photo, and the lines are read into the box for you to check.
Set your tolerances. Blank means that limit is not used.
Read the result: each line passes, holds with the reason, or is open (ordered, not yet billed). Pay the passing lines, copy the dispute email for the rest, and download the match as Excel or CSV for the file.
The modern way: Morsa does the match as invoices arrive
Manual matching means a receiving clerk keying the packing slip, an AP clerk printing three documents and a buyer digging through email to find the price they agreed. Morsa, the AI that operates the factory, does that work itself. A receiver posts a phone photo of the packing slip and Morsa enters the receipt in the ERP and files the mill cert. When the invoice lands in the AP inbox, Morsa matches it against the PO and the receipt, catches the line billed at last month’s price, and drafts the dispute. AP approves it in one tap and it goes out from AP’s own mailbox, in their words. Clean invoices go straight to approval with the match attached.
It is the same check this page runs, on every invoice, in the systems you already use: Business Central, NetSuite, Epicor, SAP Business One, Prophet 21 and others, with email, Teams or WhatsApp for approvals. No new software for AP to learn.
Frequently asked questions
What is 3-way matching in accounts payable?
It is the check AP runs before paying a supplier invoice: the invoice price must match the purchase order and the invoice quantity must match the receipt, within tolerance. If either is off, the invoice is held until the supplier or the buyer resolves it.
What are the three documents in a three-way match?
The purchase order, the receiving document (goods received note, receiver or signed packing slip) and the supplier’s invoice.
What is the difference between a 2-way and a 3-way match?
A 2-way match compares only the invoice and the PO, so it confirms the price and the ordered quantity. A 3-way match adds the receipt, so you only pay for what actually arrived.
What is a good tolerance for three-way matching?
Many AP teams use the lesser of a small percent and a dollar cap per line, for example 2% or $50 on price, zero units over received on counted stock, and the lesser of 1% or $100 on the invoice total. Set your own by supplier and item category.
What happens when an invoice fails the match?
AP holds the invoice (or only the failing lines, if your policy allows partial payment), tells the buyer or the supplier exactly which line is off and by how much, and pays once a corrected invoice, a credit memo or a PO change arrives.
Can three-way matching be automated?
Yes. Most ERPs match automatically once the PO and receipt are posted and the invoice is entered. The manual work that remains is getting the receipt and invoice into the system and chasing the exceptions; Morsa does both.
Is anything I paste stored?
Tables are matched in your browser and never uploaded. A pasted document or a PDF or photo you add is read into lines and not stored.
Related tools
WHERE MORSA FITS
Catch the invoice billed at last month’s price.
Morsa posts receipts from packing-slip photos, matches every invoice against the PO and the receipt, and sends the dispute from AP’s own mailbox once they approve. It works in email, Teams, WhatsApp or whatever you already run on, on top of your ERP.

