Three-way match is a purchasing control that compares what you ordered, what arrived, and what the vendor billed. For contractors, it is most useful when material costs, subcontracted work, freight, and partial deliveries can otherwise blur together.
The goal is not to slow every payment. The goal is to catch surprises before money leaves the business.
The three records being matched
A three-way match compares three records:
- The purchase order: what the contractor committed to buy
- The receiving record: what actually arrived or was accepted
- The vendor bill: what the supplier or subcontractor charged
When those three records agree, the bill is usually safe to approve. When they do not agree, someone should review the variance before payment.
Why contractors need a different lens
Three-way match is common in larger accounting departments, but contractors have a few field-specific complications.
Materials may arrive in partial shipments. A vendor may substitute an item. Freight might be added after the PO was issued. A project manager may approve a change in the field before the office sees the invoice. A subcontractor may bill a progress amount instead of a simple item receipt.
Because of that, contractors often need advisory matching instead of rigid blocking. A variance should be visible, but a manager still needs room to approve legitimate differences.
What to check on the purchase order
The purchase order is the commitment record. It should show the vendor, project, expected delivery, terms, ship-to address, and line items.
Important line-item details include description, SKU or part number when available, quantity, unit, unit cost, tax treatment, shipping, and total. The cleaner the PO, the easier it is to review the bill later.
For project-based contractors, the PO should also connect to the project so committed cost can be reviewed before the vendor bill arrives.
What to check during receiving
Receiving should record what physically arrived. If the supplier ships only part of the order, the receiving record should show the partial quantity instead of pretending the PO is complete.
Useful receiving details include quantity received, date received, packing slip number, and notes for damaged, missing, or substituted items. This is the record that prevents the office from paying for material that has not arrived.
Partial receiving is normal. A three-way match process should support it cleanly.
What to check on the vendor bill
The vendor bill should be compared against the PO and receiving record before payment. Look for:
- Bill total compared with PO total
- Quantities billed compared with quantities received
- Unit cost changes
- Freight or adjustment lines
- Tax differences
- Duplicate bill numbers
Some differences are valid. The point is to make them visible so the right person approves them.
Match clean, over, and under
A practical contractor workflow often sorts match results into simple categories:
- Match clean: bill, PO, and receiving records agree closely enough to approve
- Over PO: the vendor billed more than the committed amount
- Under PO: the vendor billed less than the committed amount
- Not fully received: the bill includes quantities that have not arrived
The language should be clear enough for a project manager or owner to act without decoding accounting jargon.
Keep the process advisory when field reality demands it
Hard blocking every mismatch can create its own problems. Freight changes, supplier substitutions, and agreed price adjustments happen. A rigid system may force workarounds that are harder to audit than the original variance.
For many contractors, the better approach is advisory: flag the mismatch, show the reason, and require the reviewer to make a decision. That keeps control in place without stopping legitimate payments.
Soft CTA
If payment collection and job cost visibility are part of your purchasing review, see how invoice payment fees can affect margin on the payments guide.