Matching a vendor invoice means checking the bill line by line against two other records before you pay it: the purchase order, which says what you ordered and at what cost, and the receiving record, which says what came off the truck. You pay for what you received at the cost you agreed to, you hold or dispute the rest, and you do it before the bill is vouchered, because once a bill is entered and paid, getting money back from a vendor takes a phone call, a credit memo, and a memory of what happened three weeks ago. The good news is that the typing part is shrinking, since AI can now read a vendor invoice from a PDF or a photo and flag where it differs from the order, which leaves a person to make the call on the lines that matter.

Receiving tells you what arrived, the invoice tells you what you owe

These are two different documents written by two different people, and they come apart in predictable ways. Your receiving clerk counts what came off the pallet. The vendor's billing department prints what its system says it shipped, at whatever price was in its system that morning, plus whatever freight and fees its terms allow. Most of the time the two agree. When they don't, the invoice is almost never wrong in your favor.

This guide picks up after the truck is received. If you want the dock side first, our purchase order process guide walks through receiving by scan, receiving without a purchase order, and what to do when 10 of 40 bags of feed come off the truck torn, so we won't repeat it here. What follows is the part that happens at the back-office desk, usually on a Tuesday, usually with a cold cup of coffee.

Eight things to check on every vendor invoice

Every line on an invoice is a claim, and each one can be checked against something you already have. Here's the list, in the order most bookkeepers work through it:

Check What goes wrong What to compare it against
Vendor and invoice number The same invoice entered twice, once from the mailed copy and once from the email Bills already entered for that vendor
Invoice date and terms A discount window you didn't know was running The terms on the vendor record
Quantity billed A backordered or short line billed in full The receiving record
Unit of measure Billed by the case when you ordered by the each, or the reverse The purchase order line
Unit cost A price increase that never appeared on your order The cost on the purchase order and the vendor's last price file
Substitutions A different item shipped and billed at a different price The receiving record and the shelf
Freight and fees Fuel surcharges, small-order fees, or freight on an order that met the prepaid minimum Your freight terms with that vendor
Totals and tax Arithmetic that doesn't add up, or sales tax on goods you buy for resale Your own math and your resale certificate on file

Two of these deserve a second look. The unit of measure check catches the most expensive mistakes for the least effort, because when a case holds six boxes, a line billed as 8 cases instead of 8 boxes is six times the money on one line. Our units of measure guide explains how to set up one product so the case and the each never get confused. The freight check matters because freight is the line nobody ordered, so nothing on the purchase order flags it. Once you agree it's real, put it on the order so it spreads into item cost, as our landed cost guide shows.

A worked match: three lines and a fuel surcharge

Here's an illustrative delivery to a hardware and paint store, with small, realistic numbers. The purchase order went out at these costs, freight prepaid because the order cleared the vendor's minimum:

Line Ordered Received Cost on PO Billed qty Billed cost Billed amount
Exterior primer, gallon 12 12 $22.10 12 $23.40 $280.80
Deck screws, 1 lb box 8 6 $9.75 8 $9.75 $78.00
Painter's tape, roll 24 24 $3.20 24 $3.20 $76.80
Fuel surcharge $18.00
Invoice total $453.60

Now match it. The primer arrived in full but is billed at $23.40 against the $22.10 on your order, which is $15.60 you never agreed to. The screws came in 2 boxes short because they were backordered, yet all 8 are billed, which is $19.50 for product sitting in the vendor's warehouse. The tape matches. And the $18.00 fuel surcharge landed on an order your terms say ships freight prepaid.

Amount
Invoice total $453.60
Primer at the agreed $22.10 (12 x $22.10) $265.20
Screws received (6 x $9.75) $58.50
Tape (24 x $3.20) $76.80
Matched amount to pay now $400.50
Held for the vendor to explain $53.10

The $53.10 isn't automatically yours to keep, and each line gets its own decision. The primer increase might be real: if the vendor sent a price file last week that nobody loaded, the new cost is legitimate and the fix is on your side, updating the item cost and checking whether the shelf price still holds your margin. The screws get paid when the last 2 boxes arrive and are received against their own invoice. The fuel surcharge is a phone call to the vendor, with your freight terms in hand.

That's one invoice. A store that buys from a dozen vendors sees this kind of drift on a few bills every month, and none of it shows up anywhere if the bills are keyed straight from the paper and paid by due date.

Tolerances: decide what's worth a phone call

Not every difference earns a call. A few cents of rounding on a long invoice will happen, and nobody should spend twenty minutes on hold over it. Set a tolerance, a dollar amount or a small percent per invoice, below which a difference is accepted and noted, and above which the bill waits for a person. Write it down and apply it the same way to every vendor, because a tolerance that changes with the mood of whoever is entering bills is the same as no tolerance at all.

Keep the tolerance per invoice rather than per line, and look at it vendor by vendor once a quarter. A vendor whose invoices land a couple of dollars over the order every single week is staying under the tolerance, not making rounding errors, and those couple of dollars add up to a nice dinner for somebody who isn't you.

When the invoice is wrong

You have three good options, and the right one depends on the vendor and the size of the gap.

  1. Ask for a corrected invoice or a credit memo. Email or call the vendor with the invoice number, the lines that differ, and what your purchase order and receiving record say. Attach the photo of the damaged pallet or the signed delivery receipt if the gap is about damage. Most distributors fix clean errors quickly once they see the order number.
  2. Short-pay with a debit memo. If your vendor accepts it, pay the matched amount and write a debit memo for the difference, with the invoice number, each line, the amount, and the reason. This keeps the undisputed part of the bill on time and puts the dispute in writing.
  3. Hold the bill until it's resolved. For a large or messy gap, hold the whole bill, but know what that costs, because a held bill can blow through an early payment discount window. A 2/10 net 30 discount is worth about 37% a year, as our vendor payment terms guide works out, so paying the agreed part on time and disputing the rest usually beats holding everything.

Whatever you choose, record the invoice number on the purchase order and note the reason on the bill. Six months from now, when the vendor's credit department calls about an unpaid $53.10, the note is the difference between a two-minute answer and a lost afternoon.

Stores that don't write purchase orders

Plenty of stores buy without a purchase order for at least some vendors: the rep writes the order on the floor, the owner phones in a fill-in, and the first paper the store sees is the packing slip. Matching still works, with one less document. Check the invoice against the receiving record, so you only pay for what arrived, and check each cost against the last price you paid that vendor for the same item, so a quiet increase still gets caught. The purchase order process guide has the habit that closes the rest of the gap: write the purchase order from the packing slip on the day the goods arrive.

Reading invoices with AI

The slowest part of matching has always been the typing. Someone sits with a stack of paper and PDF invoices and keys the vendor, invoice number, dates, every line, and the total into the system before any comparison can start. Distributors that send invoices electronically, over EDI as an 810 document, skip that step entirely, and our EDI guide covers how that works. The regional vendor who emails a PDF, or hands the driver a carbon copy, still lands on someone's desk.

AI changes that part. You give it a PDF or a photo of the invoice, and it reads the vendor, invoice number, invoice and due dates, line items, quantities, costs, and total, then lines those up against the matching order or shipment and flags the differences in cost, quantity, or fees. On the worked example above, that's the primer cost, the two short boxes of screws, and the surcharge, set out before anyone has typed a number.

Know what it does and what it doesn't. Reading a bill is not approving it, and a smudged photo of a crumpled invoice will read worse than a clean PDF, so a person still reviews each flag and decides. And the AI can only compare the invoice to what your system knows. It can't tell whether two boxes of screws came off the truck. Only the receiving record can, which is why receiving carefully at the dock still matters.

Questions to ask your payables every week

Once invoices and receipts live in the same system, the useful questions are the ones that sweep across all of them at once. These four, asked every Monday, catch most of what slips through:

  • Which invoices from each vendor are unpaid, and which have a discount date this week?
  • Which shipments cost more than the order said?
  • Which orders are received but not yet vouchered, so a bill is sitting in a drawer somewhere?
  • Which vendors billed freight or fees on orders that should have shipped prepaid?

How Rundoo handles it

Rundoo is the AI-first POS for independent supply stores, and receiving and invoices live in the same system. When a delivery comes in, staff can scan the items and receive the order right in the Staff app on an iPhone or Android, and receiving updates stock and cost at once. For distributors with connected receiving, such as Orgill, House-Hasson, and Blish-Mize, the shipment notification loads into Rundoo with line items and quantities in place, so receiving means selecting the shipment and confirming what showed up. With Wallace, the invoice and shipment details load automatically. Purchase orders move through ordered, received, and vouchered statuses, the order details panel carries the invoice number, invoice date, and due date, and freight or other fees can be added at receiving or vouchering and spread across the lines by quantity or by subtotal. AI price-change alerts watch your vendor costs and flag an increase before it reaches the register.

Dooey, the AI on every screen, works on both sides of the match. On invoices already in Rundoo, Dooey reports on vendor receipts and their invoice details, including invoice numbers, invoice and due dates, product cost subtotals, additional fees, cost adjustments, totals, and whether a shipment has been vouchered or marked paid, filtered by vendor, location, or date range. That answers questions like "which invoices from this vendor are unpaid" or "which shipments cost more than the order said" in plain English. For a paper or PDF invoice, attach the file and Dooey reads the vendor, invoice number, dates, line items, quantities, costs, and total, compares them against the matching order or shipment in Rundoo, and flags the differences in cost, quantity, or fees for you to review before you voucher. Vouchered purchase orders post as vendor bills to QuickBooks in a nightly purchase journal, hitting Inventory and Accounts Payable, and Rundoo can push ACH payments to vendors when it's time to pay. There's more on the pricing and purchasing page.