7 Steps to Reconcile Receiving Discrepancies 2026
A purchase order says you ordered 1,000 brackets at $4.20 each. The packing slip says 960 shipped. The dock crew counts 940 in the boxes. The supplier invoice bills you for 1,000 at $4.35. Four numbers, four sources, and every one of them disagrees. Somebody in your plant has to decide what is true before that invoice gets paid — and in most factories that somebody is a buyer squinting at a paper packing slip three days after the truck left.
Receiving discrepancy reconciliation is the work of matching what arrived against what was ordered, line by line, so that quantity shortfalls, overages, wrong parts, and price variances are caught and resolved before they turn into overpayments, stockouts, or a year-end inventory that does not tie. It is unglamorous, high-volume, and quietly expensive. This guide lays out a seven-step method to reconcile receiving against purchase orders — the data you need at the dock, the tolerance rules that decide what is a real exception, the three-way match that protects the payment, and an honest read on where this should and should not be automated.
Three-way match catches up to 80% of overpayments before they post, according to APQC (2026). The rest of this playbook is about catching the other 20% and doing the first 80% without a person staring at paper.
TL;DR
Reconciling receiving discrepancies means comparing the receipt against the purchase order at the moment goods land, flagging any line that falls outside tolerance, and routing only the true exceptions to a human. Capture quantity and part data at the dock, apply quantity and price tolerances, run a three-way match against the supplier invoice, and auto-clear the lines that agree. Done well, your buyers touch exceptions only — not every receipt — and you stop paying for goods you never got.
Who this is for
This playbook is written for discrete and process manufacturers running 200 or more inbound receipts a month against purchase orders in an ERP — think a $5M–$250M revenue plant where a procurement or materials team owns receiving, and where short shipments and price creep are already costing real money. If you have a documented PO process, a barcode or part-number convention on inbound goods, and a supplier base that sends you packing slips and invoices, the steps below map cleanly onto your stack.
Red flags: Skip this if you receive fewer than ~50 POs a month, run a paper-only stack with no ERP receipt record, or do under $1M/yr where one buyer already knows every part by sight. At that scale, the exception volume does not justify the build, and a sharp human beats any rule engine.
When NOT to use US Tech Automations: If your real problem is upstream — suppliers shipping the wrong thing because your POs are vague, or part numbers that change every quarter — then no reconciliation layer will save you, and US Tech Automations would just flag the same chaos faster. Fix the master data and the PO discipline first. Automation reconciles a process that already works; it does not invent one. If 90% of your "discrepancies" are really your own data-entry errors, clean the inputs before you wire up matching, or you will automate a mess.
Glossary: the terms reconciliation hinges on
| Term | Plain definition |
|---|---|
| Purchase order (PO) | The buyer's authorized order: parts, quantities, agreed unit prices, delivery terms |
| Goods receipt | The system record created when material is physically received and counted |
| Packing slip | The supplier's document stating what they say they shipped |
| Three-way match | Comparing PO, goods receipt, and supplier invoice before paying |
| Quantity variance | Difference between quantity ordered and quantity received |
| Price variance | Difference between PO unit price and invoiced unit price (PPV) |
| Tolerance | The allowed deviation before a line is treated as an exception |
| Over/short/damaged (OS&D) | The classification codes for a discrepant receipt |
Step 1 — Capture clean receipt data at the dock
Reconciliation can only be as good as what the dock records. The most common failure is not a bad rule — it is a goods receipt entered as "1,000 received" because that is what the PO said, when only 940 actually came off the truck. If your receivers default to the ordered quantity, you have buried your discrepancies before reconciliation even begins.
Capture three things at the point of receipt: the actual counted quantity, the part number scanned (not typed), and the PO line it ties to. A barcode or RFID scan against the PO eliminates the transcription errors that masquerade as discrepancies later. Manual receipt entry carries a 1%–3% error rate per line, according to GS1 US (2025) — which on 5,000 lines a month is up to 150 phantom exceptions your team chases for nothing.
| Capture method | Error rate | Speed per line | Ties to PO automatically |
|---|---|---|---|
| Hand-keyed quantity | 1%–3% | ~45 sec | No |
| Barcode scan to PO | <0.1% | ~6 sec | Yes |
| RFID gate read | <0.05% | ~2 sec | Yes |
| Supplier ASN import | <0.2% | Instant | Yes |
An advance ship notice (ASN) feed is the strongest input: the supplier transmits the shipment manifest electronically before the truck arrives, so the receipt is pre-populated and the receiver only confirms or corrects. According to Gartner (2026), manufacturers with EDI ASN adoption above 70% of inbound volume cut receiving labor by a median of 31% versus paper-driven docks.
Step 2 — Define tolerances so noise is not treated as an exception
Not every mismatch is a problem. A PO for 1,000 fasteners that receives 1,004 because they ship in boxes of 251 is not a discrepancy worth a buyer's time. If you flag every nonzero variance, you train your team to ignore the alerts — which means the real exceptions drown.
Set tolerances per the economics of the line, not one global rule. A high-value casting needs a tight quantity tolerance; bulk consumables can run looser. Two dimensions matter: quantity tolerance and price tolerance.
| Line type | Quantity tolerance | Price tolerance | Auto-clear if within? |
|---|---|---|---|
| High-value component (>$500/unit) | 0% | $0 / 0% | No — always review |
| Standard production part | ±2% | ±1% or $0.05 | Yes |
| Bulk consumable / fastener | ±5% | ±3% | Yes |
| Catalog MRO item | ±10% | ±5% | Yes |
A ±2% quantity tolerance auto-clears roughly 60% of receipt lines, according to the Institute for Supply Management (2025), leaving only genuine exceptions for human review. The point of tolerance is not to be lenient — it is to spend attention where attention pays.
Step 3 — Run the match and classify every exception
With clean receipt data and tolerances defined, the match itself is mechanical: for each PO line, compare ordered vs. received quantity and PO price vs. invoiced price, then assign one of a small set of classification codes. The codes matter because each one routes to a different fix.
| Exception code | What it means | Typical owner | Typical resolution |
|---|---|---|---|
| SHORT | Received < ordered (beyond tolerance) | Buyer | Open backorder or short-pay invoice |
| OVER | Received > ordered (beyond tolerance) | Buyer | Accept, return, or negotiate |
| WRONG_PART | Part number does not match PO line | Receiving | Reject and reorder |
| PRICE_VAR | Invoice price ≠ PO price | AP / Buyer | Hold payment, get credit |
| DAMAGED | Goods received but flagged defective | Quality | Quarantine, file claim |
| NO_PO | Receipt has no matching PO | Buyer | Trace authorization |
Classification is where most homegrown spreadsheets fall down — they tell you a number is off but not what kind of off it is, so a human has to re-investigate each one. A reconciliation layer that emits the code does half the resolution work up front. US Tech Automations runs this match step as a scheduled job: it pulls open POs and the day's goods receipts, compares each line against its tolerance band, and writes a SHORT, OVER, PRICE_VAR, or WRONG_PART code to every line that breaks tolerance.
Step 4 — Protect the payment with a three-way match
Quantity reconciliation tells you what arrived. The three-way match tells you what you should pay for. It adds the third document — the supplier invoice — and refuses to release payment unless PO, receipt, and invoice agree within tolerance. This is the control that stops you from paying for the 60 brackets that never came off the truck.
The sequence is strict: the invoice is matched against the receipt (you only pay for what you received) and against the PO (you only pay the price you agreed). A line that passes both clears for payment automatically; a line that fails either is held and routed as a PRICE_VAR or SHORT exception.
Invoices auto-match at 70%–90% on a healthy three-way process, according to Ardent Partners (2025), meaning only one in five to one in ten invoices needs a human touch. The financial stakes are real: according to APQC (2026), organizations without an enforced three-way match overpay suppliers by a median of 1.2% of total spend through duplicate, price-creep, and phantom-receipt invoices. On $40M of annual material spend, that is roughly $480,000 leaking out the door.
US Tech Automations holds any invoice line that fails the receipt or price check, attaches the variance reason, and releases the rest of the invoice for payment so one bad line does not freeze a clean invoice.
Step 5 — Route exceptions to the right owner and escalate
A flagged exception that sits in a shared queue is no better than a paper packing slip in a buyer's inbox. The value of reconciliation is realized only when each exception lands on the desk of the person who can close it, with a clock running.
Route by code and owner: SHORT and OVER to the buyer who placed the PO, WRONG_PART and DAMAGED to receiving and quality, PRICE_VAR to accounts payable with the buyer copied. Then set an escalation timer — if a SHORT is not resolved in, say, 48 hours, it escalates to the procurement lead, because an unresolved short shipment is a stockout waiting to happen.
| Exception age | Action | Why |
|---|---|---|
| 0–24 hrs | Owner notified, working | Most resolvable same-day |
| 24–48 hrs | Reminder + supplier contact logged | Prevents silent aging |
| 48–72 hrs | Escalate to procurement lead | Stockout / payment-hold risk rising |
| 72+ hrs | Flag to materials manager | Systemic supplier or data issue |
According to Deloitte (2026), manufacturers that route discrepancies with automated escalation close exceptions in a median of 1.4 days versus 6.8 days for email-and-spreadsheet handling — a 79% reduction in cycle time. The reduction matters most for short shipments, where every aging day raises the odds of a line-down event.
Step 6 — Worked example: a tier-two automotive supplier's Tuesday receipts
Picture a tier-two automotive supplier receiving 312 PO lines on a Tuesday across 41 inbound shipments, running on NetSuite with EDI ASN feeds from 68% of its suppliers. The morning's receipts post and the reconciliation job fires. Of the 312 lines, 187 carry an ASN, so they pre-populate and confirm clean. The tolerance pass (±2% quantity, ±1% price) auto-clears 241 lines outright. That leaves 71 exceptions: 22 SHORT, 9 OVER, 6 WRONG_PART, 31 PRICE_VAR, and 3 DAMAGED. The largest single hit is a PRICE_VAR on stamped brackets invoiced at $4.35 against a PO price of $4.20 — a 3.6% creep on a 1,000-unit line, $150 on that line alone. In NetSuite, each receipt fires an itemReceipt.created event; the job listens for it, matches the line, writes the variance code, and routes the 31 PRICE_VAR lines to AP with the price delta attached. The buyer who would have spent the morning eyeballing 312 packing slips now works 71 coded exceptions, and the $150 bracket overcharge is caught and credited before the invoice ever clears for payment — instead of being discovered, if ever, at the quarterly spend review.
Step 7 — Close the loop and measure the leak you stopped
Reconciliation is not a one-time clean-up; it is a control that decays if you do not watch it. Track a small set of metrics monthly so you know whether the process is healthy and where suppliers are drifting.
| Metric | Healthy target | What a bad number signals |
|---|---|---|
| Auto-clear rate | 60%–80% of lines | Low = tolerances too tight or dirty data |
| Three-way match rate | 70%–90% of invoices | Low = price master out of date |
| Median exception age | <2 days | High = routing/ownership broken |
| Price variance recovered | Tracked $ / month | Zero = you are not catching PPV |
| Repeat-offender suppliers | Falling list | Rising = supplier scorecard needed |
According to McKinsey (2026), manufacturers that pair reconciliation with a supplier scorecard reduce recurring discrepancies by a median of 24% within two quarters, because chronic short-shippers and price-creepers get surfaced and managed rather than re-absorbed every month. The metric that pays the build back fastest is recovered price variance — it is cash you would otherwise have wired out.
Common mistakes that quietly break reconciliation
Defaulting the receipt to the ordered quantity. If receivers key what the PO says instead of counting, you have hidden your shortages at the source. Force a scan or a confirmed count.
One global tolerance for every part. A 5% tolerance is reckless on a $900 casting and pointless on a penny washer. Tolerance must follow line value.
Flagging without classifying. "This number is off" makes a human start from zero. Emit SHORT / OVER / PRICE_VAR / WRONG_PART so the fix is obvious.
Skipping the invoice leg. Quantity-only reconciliation still lets price creep through. The three-way match is the part that protects the payment.
No escalation clock. Exceptions that can age forever will. A 48-hour escalation timer is what turns a flag into a resolution.
Decision checklist: are you ready to automate this?
- You run 200+ inbound PO receipts a month
- Receipts are recorded in an ERP with PO line references
- Inbound goods carry a scannable part number or barcode
- Suppliers send packing slips and invoices you can match
- You have agreed unit prices on POs (not "price on receipt")
- At least some suppliers can send EDI ASNs
- A named owner exists for buyer, AP, and quality exceptions
If you checked five or more, a reconciliation layer like US Tech Automations will pay for itself on recovered price variance and avoided overpayments alone. If you checked three or fewer, fix the data and process gaps first — see how teams structure these end-to-end on the agentic-workflows platform and how the data-extraction agents pull packing-slip and invoice fields into the match. For the finance side of the three-way match, the finance and accounting agents handle the invoice-hold logic.
How this compares to the alternatives
| Approach | Setup effort | Catches price variance | Scales past 1,000 lines/mo | Audit trail |
|---|---|---|---|---|
| Manual spreadsheet match | Low | Rarely | No | Weak |
| ERP built-in matching | Medium | Partial | Yes | Moderate |
| Automated reconciliation layer | Medium | Yes | Yes | Strong |
| No formal process | None | No | No | None |
ERP-native matching handles the happy path but often stops at quantity and struggles to classify and route exceptions; a dedicated reconciliation layer adds the coding, escalation, and three-way enforcement on top. For related inventory-side controls, the method overlaps heavily with how teams reconcile cycle-count adjustments to inventory and how they route quality nonconformance reports for disposition when a DAMAGED code fires. If your discrepancies trace back to returns, see how manufacturers track RMA returns through inspection.
Key Takeaways
Reconciliation is matching what arrived against what was ordered — and refusing to pay until they agree.
Clean dock data is the whole foundation: scan or confirm counts, never default the receipt to the PO quantity.
Tolerances let you auto-clear the ~60% of lines that genuinely agree and focus humans on real exceptions.
The three-way match is the financial control — it stops overpayments that average 1.2% of spend without it.
Classify every exception (SHORT / OVER / PRICE_VAR / WRONG_PART) and route it to an owner with an escalation clock.
Measure auto-clear rate, match rate, exception age, and recovered variance monthly, or the control silently decays.
Reconciling receiving discrepancies is not a finance chore bolted onto procurement — it is the difference between paying for what you got and paying for what a supplier said they shipped. Get the dock data clean, set tolerances by line value, enforce the three-way match, and route exceptions with a clock, and you turn a buyer's three-day paper chase into a same-day exception queue. Ready to scope it against your own receipt volume? Compare build options on the pricing page.
Frequently Asked Questions
What is receiving discrepancy reconciliation?
It is the process of matching goods you receive against the purchase order that authorized them, so any difference in quantity, part, or price is caught and resolved before it causes an overpayment or stockout. The receipt is compared line by line to the PO, exceptions are classified, and only the true mismatches go to a person. A ±2% tolerance auto-clears about 60% of lines, according to the Institute for Supply Management (2025), which is what keeps the work manageable.
What is the difference between a two-way and three-way match?
A two-way match compares the purchase order to the supplier invoice — you confirm you are billed the price and quantity you ordered. A three-way match adds the goods receipt, so you also confirm you are only paying for what physically arrived. The third leg is the one that stops phantom-receipt overpayments, which run a median of 1.2% of spend when the receipt check is missing.
How do I set tolerances without letting real errors through?
Set tolerances by the economic value of the line, not one global number. High-value components get a 0% tolerance and always route to review; bulk consumables can run ±5% because the cost of chasing a four-unit variance exceeds the variance itself. A value-tiered tolerance band auto-clears the lines that genuinely agree so your team's attention lands only on exceptions that matter.
Can this work if my suppliers do not send EDI?
Yes, though EDI ASNs make it far cleaner. Without ASNs you rely on scanned receipts and matched invoices, which still supports a full three-way match — you just lose the pre-populated shipment manifest. According to Gartner (2026), docks above 70% ASN adoption cut receiving labor by a median of 31%, so it is worth pushing key suppliers onto EDI, but it is not a prerequisite to start.
How long does it take to stand up automated reconciliation?
For a plant already recording receipts in an ERP with PO references, a focused implementation typically runs a few weeks: connect the data, codify tolerances by line type, wire the three-way match, and set escalation routing. The longest pole is usually data hygiene — if part numbers and PO prices are inconsistent, fixing those takes longer than the matching logic itself.
What metrics tell me the process is working?
Watch four numbers monthly: auto-clear rate (target 60%–80%), three-way match rate (70%–90%), median exception age (under two days), and recovered price variance in dollars. Automated escalation typically drops median exception age below two days, so a stubbornly high age points to broken routing rather than a bad matching rule.
Does reconciliation replace my buyers or my ERP?
Neither. It sits on top of the ERP and hands your buyers a coded, prioritized exception queue instead of a stack of packing slips. The buyers still make the judgment calls — accept the overage, open the backorder, demand the credit — but they spend their time on the 20% of lines that are genuinely off rather than re-keying the 80% that agree.
About the Author

Helping businesses leverage automation for operational efficiency.
Related Articles
From our research desk: sealed building-permit data across 8 metros, updated monthly.