How to Catch Supplier Overcharges Before You Pay: A Field Guide
Catching supplier overcharges before payment comes down to checking every invoice line against the quote or contract that set the price — before the invoice gets approved, not after the job closes. The six places overcharges hide are price drift off the quoted number, negotiated discounts that quietly stop being applied, substitutions billed at different prices, quantity mismatches between what was signed for and what was billed, fees that were never quoted, and duplicate invoices for the same delivery. Industry data shows 39% of construction invoices contain at least one error, averaging 2.5% overbilling, so a weekly line-level check is one of the few office routines that reliably pays for its own time.
Why 'before you pay' is the whole game
An overcharge caught before payment is a phone call. The supply house pulls up the quote, sees the mismatch, and issues a corrected invoice — routine, no friction, done in a day. The same overcharge caught after payment is a credit-memo hunt: you're asking for money back instead of declining to overpay, the person who signed the delivery ticket is three jobs removed from remembering it, and the correction competes with everything else for the office's attention until someone quietly gives up on it.
And most overcharges are never caught at all, because they don't look like overcharges. Industry benchmarks put at least one error in 39% of construction invoices, with average overbilling around 2.5% of invoice value. A 2.5% skim doesn't produce an invoice that looks wrong. It produces an invoice that looks completely normal and is slightly higher than it should be, over and over, across every supplier and every job. The total passes the eyeball test every time. The only place the error is visible is at the line level, against the quote — which is why the check has to happen at the line level, before approval.
Price drift and the disappearing discount
The most common overcharge is the simplest: the invoice bills a different unit price than the quote. Weeks or months pass between bid and delivery, supplier costs move, and the escalation lands on your order without anyone calling to renegotiate. The quote said one number; the invoice says another; unless someone holds them side by side, the new number wins by default. Watch especially for unit-of-measure switches — quoted per foot, billed per case, or quoted per unit, billed per pallet. Both prices look plausible in isolation, and the difference only shows up if someone converts both sides to the same basis and does the math.
The quieter cousin is the disappearing discount. You negotiated contractor pricing — a percentage off list, a locked rate on commodity items, a rebate structure. That pricing lives in a field in the supplier's system, and fields get reset: a system migration, a new counter person keying the order under the wrong account, a price file update that overwrote your terms. Nothing announces it. Your invoices just quietly revert to list price, and because list price is still a normal-looking number, it sails through. If you haven't verified your negotiated pricing against a recent invoice lately, that's the first check worth running this week.
Substitutions and quantity drift
When the quoted item isn't on the shelf the day the order gets pulled, the supply house ships the closest match — different brand, different grade, different case pack — at whatever the substitute costs. It's rarely marked as a substitution on the invoice. It shows up as a line with a slightly different description and a price the quote never mentioned, and it's on you to notice that the item changed. Sometimes the substitute is better and costs more; sometimes it's cheaper and you were billed the original price anyway. Either way, you're paying a number nobody agreed to.
Quantity drift is the three-numbers problem: what was ordered, what was signed for on delivery, and what was billed are three different figures more often than anyone likes to admit. A partial delivery gets signed in full because the crew needed the truck unloaded and gone. A return gets processed at the counter but the credit never lands on a bill. An overage delivered 'to be safe' becomes a billed quantity. None of these change a single unit price, which is exactly why total-level review misses them — the invoice math is internally correct. It's just the wrong quantity being multiplied.
Unquoted fees and duplicate invoices
Some of what you're overpaying was never in the quote at all. Fuel surcharges, delivery fees billed line by line instead of rolled into pricing, restocking charges on returns, small-order fees, energy surcharges — these arrive as a matter of supplier policy, not agreement. Individually they're too small to fight. Across a year of orders they're real money, and the only defense is treating any invoice line with no counterpart on the quote as a question, not a cost. Suppliers waive or reverse these routinely when asked; they just don't volunteer it.
Duplicates are the bluntest overcharge and the most embarrassing to miss. The same delivery gets invoiced twice — once from the ticket, once from the statement, or once under the job account and once under the shop account — with invoice numbers just different enough to defeat a casual glance. Shops that pay from statements without matching statement lines to already-approved invoices are the ones that pay these. The fix is mechanical: no invoice gets approved twice against the same delivery ticket, and the statement gets checked against the approved list, not against memory.
The weekly workflow
None of this requires software. It requires a routine that survives busy weeks, which means it has to be short, scheduled, and specific. One block, same time every week, before the payment run:
- Gather the week's invoices and pull the quote or contract for each supplier alongside them. No quote on file for a supplier you buy from regularly? That's finding number one — request one and get pricing in writing.
- Check unit prices line by line against the quoted number, converting to the same unit of measure before comparing. Flag anything off by any amount — small drift is still drift, and it compounds.
- Verify your negotiated discount actually appears on at least one invoice per supplier per week. This is the two-minute check that catches the reset pricing field.
- Match items, not just prices — scan descriptions for substitutions, and confirm anything substituted was billed at or below the quoted price.
- Tie quantities to delivery tickets, and confirm any returns from the week show up as credits somewhere.
- Question every unquoted line — surcharges, fees, minimums. Ask, in writing, whether each one applies to your account. Keep the answers.
- Screen for duplicates — check each invoice against what's already approved for the same job and ticket before it joins the payment run.
Log every discrepancy in one place — supplier, invoice number, line, quoted versus billed, dollar amount — and send the disputes the same day, while the delivery is fresh. The log matters beyond recovery: after a month you'll know which suppliers drift and which don't, and that's negotiating material at renewal time.
Two rules keep the routine alive. First, the block is non-negotiable on the calendar — same day, same hour, before the payment run, because a check that floats is a check that dies. Second, one person owns it. Not "the office," a name. When the check belongs to everyone, every discrepancy that gets through belonged to no one, and the routine quietly stops the first month things get busy.
When to stop doing it by hand
The workflow above works, and for a shop with a light invoice week it's enough. But be honest about the failure mode: a line-by-line check on a 60-line supply-house invoice takes real hours, and it's the first task skipped the week the office gets slammed — which, at a 39% error rate, is exactly the week something expensive slips through. If the weekly block routinely runs long, or gets abandoned mid-stack, the process isn't working; it's just installed.
That's the point where automating the comparison makes sense. CheckIT Invoice runs the same check the workflow describes: drag in the invoice and the quote or contract, and it reads every line on both and flags every difference — off-quote prices, substituted items, quantities that don't match, charges that were never quoted — with a dispute email drafted for each flag. Contractors running verification this way report about 75% less manual review time than the by-hand check, and one — A&B Construction — found $1,200 the first morning. On annual material spend between $500K and $2M, early customers have recovered an estimated $50K–$150K annually; that range is extrapolated from early-customer data, and results vary by invoice volume and contract complexity.
Whether by hand or automated, start the same way: pick one active job this week and run every invoice on it against the quote. If it's clean, you've confirmed your suppliers in an afternoon. If it isn't, you've found the leak while it's still a phone call instead of a write-off.
Questions, answered.
Check every invoice line against the quote or contract before the invoice is approved, not after payment. Compare unit prices in the same unit of measure, confirm items weren't substituted at different prices, tie billed quantities to delivery tickets, question any line that has no counterpart on the quote, and screen for duplicate invoices against the same delivery. A scheduled weekly block before the payment run is the simplest way to make the check actually happen.
The six most common are price drift off the quoted number, negotiated discounts that quietly stop being applied after a system change, substitutions billed at prices the quote never mentioned, quantity mismatches between what was signed for and what was billed, unquoted fees like fuel surcharges and restocking charges, and duplicate invoices for the same delivery. Industry data shows 39% of construction invoices contain at least one error, averaging about 2.5% overbilling.
Industry benchmarks put average overbilling at 2.5% of invoice value, so a contractor with $500,000 in annual material spend is losing roughly $12,500 a year to errors that look like normal bills. Contractors moving $500K to $2M in annual spend who check every line against the quote have recovered an estimated $50K to $150K annually. That range is extrapolated from early-customer data, and results vary by invoice volume and contract complexity.
Dispute them, and do it in writing the same week the invoice arrives. Small discrepancies are the ones that compound: a few dollars of drift per line across hundreds of lines a month is real money, and suppliers correct documented mismatches routinely when they're raised promptly. Logging every discrepancy also tells you which suppliers drift consistently, which is useful information the next time pricing gets negotiated.
When the manual weekly check stops surviving busy weeks. If line-by-line review routinely runs over its scheduled block, or gets skipped when the office is slammed, errors are getting through during exactly the weeks volume is highest. Automated line-level verification runs the same quote-to-invoice comparison in minutes, and contractors using it report about 75% less manual review time than checking by hand.
The most useful thing to read is your own invoice, verified.
Send one job's invoices and the quote they should match — we'll report every difference inside 48 hours. Or run it yourself in the app in minutes.
Free audit: one job, 48 hours, no credit card. Plans from $455/mo.