November 15, 2026 · 11 min read

3-Way Match for Contractors, Step by Step

Graphic title card for the article “3-Way Match for Contractors, Step by Step” with a stylised motif: purchase order, packing slip and invoice side by side, each with a check mark on the same line.
Graphic: HumanITy

A 3-way match means you compare three documents before you pay a supplier invoice: the purchase order (what you ordered, how many, at what price), the receiving record (the packing slip or delivery ticket that shows what actually arrived) and the invoice (what the supplier is billing). If quantity and price line up across all three, you approve the payment. If they don't, the difference goes on an exception list and gets resolved before any money leaves your account. Large companies run this inside their accounts payable software. A plumbing or HVAC shop can run it with a PO number, a signed packing slip and twenty minutes a week, and it catches the same things: backorders billed as delivered, returns without a credit, prices that don't match your account pricing, and fees nobody agreed to.

This article is written for trade businesses, with supply house invoices as the example. The same match works for anyone who buys material or services: contractors, roofers, property managers, restaurants. For the bigger picture of what AI employees can take on in a plumbing office, see AI for Plumbers: Quotes, Inbox and Receipts. For medical practices, see Medical Supply Inventory: Orders and Invoices.

2-way, 3-way and 4-way match

The number tells you how many documents you compare.

Match Documents What it catches
2-way purchase order and invoice wrong prices, items you never ordered
3-way purchase order, receiving record and invoice everything above, plus items billed but not delivered
4-way the three above plus an inspection record items delivered but rejected on inspection

For most small trade businesses the 3-way match is the right level. A 2-way match misses the most common problem with supply house invoices, which is a backorder billed as if it had shipped. A 4-way match only pays off when you formally inspect goods, for example equipment that has to pass a test before you accept it.

How to run a 3-way match in a small shop

You don't need software to start. You need three habits.

  1. Every order gets a PO number. Even a phone order to the counter. Write the number, the items, quantities and the price you were quoted, and give the number to the supply house so it shows up on their paperwork. If you order through a supplier's online shop, the order confirmation is your PO.
  2. Every delivery gets counted against the packing slip. Whoever receives the goods counts them, notes backorders and damage on the slip, signs it and puts it where the office will find it. A photo sent to a shared inbox works.
  3. Every invoice gets matched line by line. For each line: was it ordered, did it arrive, is the price the one on the PO? Then check the math: quantity times unit price, freight, tax and the total.

Anything that doesn't match goes on an exception list with the line, the reason and the amount. Then someone calls the supplier, and the invoice waits until there's a credit memo or a corrected invoice.

Mind the payment terms while you do this. Terms like "2/10 net 30" mean you can take 2 percent off if you pay within 10 days, otherwise the full amount is due in 30. On a 2,000 dollar invoice that's 40 dollars, so note the discount date when the invoice arrives and match in that order, not in the order of the pile.

Worked example: a supply house invoice

Say your supply house sends a monthly statement invoice covering four deliveries. The numbers below are an example with assumed prices.

Line Purchase order Packing slip Invoice Result
Water heater, 50 gal 2 at $689.00 2 received 2 at $689.00 match
PEX elbow, 1/2 in 100 75 received, 25 backordered 100 at $0.92 open: $23.00 for the backorder
Copper pipe, type L, 3/4 in, 10 ft 6 at $48.50 6 received 6 at $52.10 open: $21.60 price variance
Delivery fee not on the PO not listed $25.00 open: check the agreement
Returned faucet return agreed return slip of the 12th no credit open: $142.00 credit missing

In total, 211.60 dollars are open. The backorder and the missing credit only show up because the packing slip and the return slip are part of the match; checking the math on the invoice alone would not have found them. Add one more check that belongs on every list: an invoice that arrives twice, once by email and once on paper, with the same invoice number.

Tolerances: decide once, not on every invoice

Large accounts payable departments set tolerances, for example approving automatically when the invoice price is within a small margin of the PO. In a small business the better question is who decides what. Write it down once: which variances you call about, which you accept, whether you short-pay the open amount or wait for a corrected invoice, and who talks to the supplier. Then the person or the AI employee doing the match only has to report; the decision follows your rule. Where the price on your PO should come from is in Plumbing Price Book: Where Prices Come From.

Template to copy

The checklist follows the three documents. Paste it into your templates or hand it over as a fixed rule, to an office assistant or an AI employee.

3-WAY MATCH CHECKLIST

Supplier:          [name]
Invoice no.:       [number]          Date: [date]
Purchase order:    [PO number / online order of [date]]
Packing slip(s):   [no.], [no.], [no.]
Received on:       [date]
Discount until:    [date]            Due: [date]


1. INVOICE BASICS
[ ] Supplier name and address, your business name correct
[ ] Invoice number and date present
[ ] PO number and packing slip numbers on the invoice
[ ] Invoice number not paid before (no duplicate)


2. PURCHASE ORDER AND PACKING SLIP
[ ] Every line was ordered
[ ] Every line was received, same quantity
[ ] Backorders not billed
[ ] Returns credited
[ ] Job or customer reference correct


3. PRICE AND MATH
[ ] Unit price = PO price or account pricing
[ ] Quantity x unit price = line total
[ ] Freight and small-order fees agreed
[ ] Sales tax correct
[ ] Total correct, discount calculated correctly


RESULT
[ ] Match: approved for payment by [name] on [date]
[ ] Open: [line], [reason], [amount]
    Called / emailed [contact] on [date]
    Credit memo no. [number] on [date]

If you also work with suppliers in Germany: e-invoices between German businesses are becoming mandatory in stages, and structured line items make matching easier. The dates are in German E-Invoicing Mandate: Dates, Exemptions.

Not just for plumbers

The three documents have different names in other trades, the match stays the same.

What an AI employee can prepare

For receipts I have Peter. He has been running in my business since August 19, 2026. He works in my bookkeeping interface in the browser, screens newly arrived receipts, assigns each one the correct receipt type, matches the credit card statement line by line against them and reports what doesn't add up. That's the same idea as a 3-way match: sources side by side, every line on its own. Checking invoices is part of his job: Peter matches each invoice against the purchase order and packing slip, line by line, and reports variances as open. To set it up, you describe the workflow once, test it on real invoices and approve it.

Three of his rules fit the match exactly:

  • Values only from the screen. Amounts, dates and receipt numbers always come from the screen, never from memory. If something doesn't match exactly, he reports it as open.
  • Open beats forced. In his second run, one line item was slightly off from the statement amount and stayed open on purpose. His own control calculation came out exact.
  • He doesn't book entries. Final approval stays with you and your accountant.

Frieda also runs in my own business. She sorts the inbox and pre-sorts receipts before they go into the accounting tool; in your shop those are the invoices your supply house sends by email. She doesn't book them and makes no tax judgment about an invoice.

What stays with you: the tolerance rule, the call to the supplier, the payment approval and everything that touches the books. Filing for matched invoices is covered in Digital Receipt Filing in Germany: GoBD Rules, capturing paper in Receipt Scanning Apps for German Businesses, and what AI can do in bookkeeping today in AI Bookkeeping: What Actually Works Today.

Frequently asked questions

What is a 3-way match?

A check before payment that compares the purchase order, the receiving record and the supplier invoice. Quantities and prices have to agree across all three before the invoice is approved.

What is the difference between a 2-way and a 3-way match?

A 2-way match compares only the purchase order and the invoice. The 3-way match adds the receiving record, so it also catches items billed but never delivered.

What counts as a receiving record in a small business?

The signed packing slip or delivery ticket, with backorders and damage noted on it. A photo of it in a shared inbox is enough, as long as the office can find it by PO number.

Can you automate a 3-way match?

Partly. Software and AI employees can read line items, match them against the PO and packing slip and put exceptions on a list. Which variances you dispute and what you pay stays your decision.

How to keep going

Take your supply house's last statement invoice, put the packing slips next to it and run it through the checklist once. Write down what stays open and your rule for variances. If you want to see which office work in your business an AI employee can prepare, book a strategy session: in 20 minutes we look at the one workflow in your business that depends on you the most. More industries are on AI by Industry.

Kevin Welter

Kevin Welter

Developer, IT architect, author of technical books (Kubernetes, cloud infrastructures) and speaker. Runs his business with an AI workforce of fifteen AI employees and shows solo business owners in his community how to hire their first AI employee.

More about AI employees

Your first AI employee up and running within an hour

Join the community

$5/month founding price, first 50 members