Skip to content
CheckMySupply.com
Invoice, PO and Credit Controls

Quote vs Invoice Mismatch: How to Catch It

The quote said one number and the invoice said another. Why supply-house quotes and invoices drift apart, and the two-minute check that catches it every time.

By 12 min read

A quote vs invoice mismatch is when the number your supply house quoted is not the number they billed. You catch it by pulling the quote up next to the invoice and comparing unit prices line by line, not totals, then confirming the quote was still valid on the ship date. That takes about two minutes per invoice. Most mismatches you find will be small, legitimate, and fixable with one email.

Totals fail you because a total can match while three lines underneath it are wrong in opposite directions. Unit prices work because a unit price is the thing the distributor’s system actually stores, actually overrides, and actually lets expire.

One thing to settle before you start: a mismatch is usually not somebody deciding to charge you more. It is a quote that lived in one part of the ERP and an order that got entered in another part, with nothing tying them together. Fix the tie and most of these stop happening.

Why quotes and invoices drift apart at a supply house

A quote is a snapshot. An invoice is what the system computed the moment material moved. Everything in between is where the two separate.

The quote expired

Nearly every distributor quote carries a validity window printed on the face of the document. When it lapses, the order reprices to current, which is correct behavior when the underlying cost has moved. And it has been moving. BLS’s index for copper and brass mill shapes went from 747.384 in January 2026 to 803.275 in June 2026 (preliminary), and plastics pipe went from 171.280 to 182.609 (preliminary) over the same months, about 6.6%. A branch honoring a February copper quote in June eats that spread out of its own margin.

So read the expiry as a real constraint, not a trick. The failure is not that quotes expire. It is that almost nobody tells you when yours did.

The quote was never referenced on the order

The most common cause, and it is pure process. Somebody calls in an order, or a foreman picks material up at will-call, and nobody says “this is against quote Q-2241.” The counter enters it as a normal order and it prices off your standard account pricing, a different set of numbers than your quoted job pricing. Distributor ERP systems keep counter sales, contract pricing, and job quoting as separate modules (Epicor’s electrical distribution suite ships them discretely), which is exactly how an order gets entered correctly and still priced wrong for the job.

The order shipped partial and the balance repriced

You quoted 40 fixtures. Twenty-two shipped in May at the quoted price, eighteen backordered and shipped in July. If the quote lapsed between shipments, the back half prices at current. Two invoices, same quote number, two unit prices, both correct under the terms. Keep those two documents together, because a partial and its completion invoice are also the pair most likely to bill the same backordered line twice, which is one of the mechanisms behind a duplicate supply-house invoice.

A SKU got substituted

The counter is out of the exact part, sends the equivalent, and the equivalent has its own price. Job quote pricing often rides on a special pricing agreement the distributor holds with one manufacturer for one part number. Those agreements are static and part-specific, so an “equal” often falls outside them and reverts to standard cost (SPAs are ship-and-debit arrangements tied to specific products and customers). Nobody did anything wrong. The special price simply did not follow the substitution.

The quantity changed at pickup

Quoted 500 feet, the crew took 600 because the run changed. Some houses hold the quoted unit price on the overage, some do not, and quantity-break pricing means a bigger pull can legitimately land in a different tier. Either answer is defensible. The problem is it gets decided at the counter and never written down.

Freight, small-order and fuel surcharges land later

Quotes are commonly written on material only. The delivery fee, the small-order minimum, and the fuel surcharge are computed at shipment, and they move. AGC’s reading of the producer price index in May 2026 showed diesel up 105.9% year over year and truck transportation up 17.3%, against contractors’ own bid prices up just 3.5%. Your supplier’s freight line is real, but you never agreed to it on the quote, which makes it fair to ask about.

Tax got handled differently

Quote written tax-exempt, invoice billed with tax because the resale certificate was not attached to that ship-to. Or the reverse. This one is common, boring, and always reversible.

A verbal counter price never got written down

The rep said “I’ll take care of you on that gear.” The system does not store goodwill. If the override never got keyed against the customer record, the invoice prices at standard and you both remember the conversation differently three weeks later. Same machinery as the gap between your contract price and the counter price, and the reason anything agreed by voice needs to come back in writing before material leaves.

Drift causes mapped to the check that catches each

Drift cause What it looks like on the invoice The check that catches it
Quote expired before ship date Every line up by a similar percentage Compare quote date plus validity window against invoice ship date
Quote never referenced on the order No quote number in the invoice header; standard account pricing throughout Look for the quote number field; if blank, price the invoice against the quote by hand
Partial shipment repriced Same quote number, two invoices, two unit prices for the same part Line up all invoices carrying that quote number and compare unit price across them
SKU substituted Part number on invoice differs from part number on quote, sometimes by one character Match manufacturer catalog numbers character by character, not descriptions
Quantity changed at pickup Extended price is off but unit price looks right, or unit price shifted a tier Confirm quantity against the packing slip, then confirm the tier the new quantity should price at
Freight or small-order fee added A line that has no counterpart on the quote at all Scan for invoice lines with no matching quote line
Tax handling changed Invoice total off by roughly the local rate Compare the tax line against the quote’s tax treatment and your exemption on file
Verbal price never keyed One or two lines at standard pricing while the rest match Any line at standard when the rest are at quote pricing is the tell

The two-minute check, concretely

Two pieces of paper, or two windows. No software required.

1. Match the quote number to the invoice. Find the quote number field in the invoice header. If it is populated and matches, you are auditing a real comparison. If it is blank, you have already found the problem: the order was entered without the quote attached, so everything downstream priced off your standard account rates.

2. Compare unit prices, line by line, never totals. Put your finger on the quoted unit price and the invoiced unit price for the same part. Totals lie because a quantity change on one line can mask a price change on another. Unit price is the field the system stores and overrides, so it is where errors live. Line-item description mismatch is a named failure mode in three-way matching, which is the same check scaled up to a whole shop, for exactly this reason (Tipalti’s breakdown of match failure modes lists it alongside quantity mismatch and price-over-tolerance).

3. Confirm quantities and part numbers. Quantity against the packing slip, not against what you meant to order. Part numbers character by character. “L1530P” and “L1530R” are different connectors at different prices, and the invoice description reads the same either way.

4. Confirm the quote was still valid on the ship date. Not the order date, the ship date. This is the check people skip, and the one that turns an argument into a two-line email. If the quote had lapsed, the invoice is likely correct and your real conversation is about getting it extended next time.

5. Flag any invoice line with no quote line at all. Freight, small-order fee, fuel surcharge, core charge, environmental fee. Not automatically wrong, but each deserves a yes or no from you rather than silence.

A worked line-by-line comparison

Say you quoted a commercial water heater changeout and the invoice lands three weeks later. Set them side by side:

Part Qty quoted Quoted unit Qty invoiced Invoiced unit Read
75 gal commercial gas water heater 1 $1,842.00 1 $1,842.00 Matches. Move on.
3/4 in copper 90 elbow, bag of 10 4 $14.20 4 $17.80 Unit price up 25%. Check quote validity date first.
3/4 in ball valve, full port 6 $22.40 6 $22.40 Matches.
3/4 in copper type L, 10 ft 12 $31.15 14 $31.15 Unit price correct, quantity up 2. Verify against packing slip.
Expansion tank, 4.4 gal 1 $86.00 1 $94.75 Different part number on the invoice. Substitution, not a price change.
Delivery not quoted not quoted 1 $65.00 No quote line. Ask whether it was included in the quoted price.

Six lines, four different situations, and only one is a price problem in the ordinary sense. The elbow line is the one to chase, and the first thing you check is whether the quote had expired. If it had, the invoice is right and your ask is a longer validity window next time. If it had not, that is a straightforward credit request. The elbow trail here (an increase with no phone call) is also the ordinary shape of material price creep, and quote comparison is the fastest way to see it because you have a written baseline.

The example the site uses on the homepage, $1,240 quoted against $1,395 invoiced on a water heater job, is an anonymized composite assembled from real scans rather than a single verified transaction. Treat it as an illustration of the shape of the problem, not as a statistic.

What to do when they do not match

Move fast and stay boring. The standard AP response to a match failure is to hold payment on the disputed portion and request a corrected invoice or a credit memo (Bill’s three-way match walkthrough describes exactly this). You do not need an AP department to do it.

Pay the undisputed part. Do not hold a $4,200 invoice over a $38 line. That turns a clerical fix into a credit-hold problem, and your will-call access is worth more than the argument.

Send the quote number, the line, and both numbers. One email, attachments included: “Invoice 388102, line 2, quoted at $14.20 on quote Q-2241 dated May 4, billed at $17.80. Can you confirm whether the quote was still valid on the June 18 ship date?” That last clause matters. It gives the rep an honorable exit if the quote had lapsed, and it makes you the customer who checks rather than the customer who accuses. The full wording, plus the four other situations that produce most credit requests, is in this credit request email template.

Ask, do not assert. Half the time the answer is a legitimate one you did not have: the quote expired, the part was substituted, the tier changed at the higher quantity. Learning that makes the next quote better.

Do it inside the current month. Published institutional credit-memo practice treats balances open past 45 days as needing chasing and past 90 days as escalation (one published policy), and distributor branches run on similar instincts. Fresh invoices get fixed. Old ones get “sorry, that’s already posted.”

Keep the paper. Quote, PO, packing slip, invoice, in one place. That is the same documentation set contractors are advised to retain for escalation and change-order claims (Procore’s escalation clause reference).

Preventing the drift structurally

Catching mismatches one at a time works. Making them stop is better, and it comes down to a few habits.

Reference the quote number on every PO and every will-call pickup. This single change removes the most common cause outright. Write it on the PO, say it at the counter, put it in the subject line of the order email. A quote the branch cannot see is a quote that will not price.

Get every quote in writing with an expiry date on the face. Many branches provide formal quotations through their quotation and takeoff services if you ask (Ferguson publishes branch quotation services, for example). A verbal number is not a quote, it is a memory. Then look at the validity window before you build a bid around it. If the window is shorter than your buyout timeline, have that conversation now rather than in June.

Never let material leave on a verbal price. If the rep gives you a number at the counter, ask for it emailed or written on the ticket before the truck moves. Once material is out the door the leverage flips: the goods are consumed, the price is whatever the system computed, and you are asking for a favor instead of a correction.

Set a tolerance so you only chase what matters. Common AP practice passes invoices within roughly 2% to 3% of the PO automatically, or applies full matching only above a dollar cutoff (the same Tipalti reference describes both patterns), and tolerance can be set by value threshold or by discrepancy percentage (Stampli’s overview of matching tolerances). Pick a number for your shop and stick to it. A shop that chases every $2 variance stops chasing anything within a month.

The checklist

Run this on every invoice that has a quote behind it:

  • Quote number present on the invoice header, and it matches
  • Unit prices compared line by line, not totals
  • Part numbers matched character by character against the quote
  • Quantities matched against the packing slip
  • Quote still valid on the ship date, not the order date
  • Every invoice line without a quote line explained
  • Tax treatment matches the quote
  • Anything wrong flagged in writing this month

Two minutes an invoice. At ten quoted jobs a month that is twenty minutes, less time than one phone call about a credit you did not catch.

Sources