Short or damaged receipts: catch PO discrepancies before they become phantom inventory

When a supplier shipment arrives at the dock, the receiving team has one job: confirm that what shows up matches what was ordered, in the right quantity and condition. But under real warehouse pressure — other trucks waiting, pickers waiting, managers asking when it will be put away — that confirmation step gets compressed. A receipt gets closed, the PO gets marked as received, and the discrepancy quietly disappears.

It doesn't stay quiet for long.

The short answer

A short or damaged receipt that closes without a discrepancy note creates phantom inventory — your Shopify store and ShipStation think the stock is on hand, pickers go to the bin and find nothing, and the supplier credit you were owed is already past the claim window. The fix is straightforward: require a count-and-condition sign-off before any receipt closes, record every variance as its own line, and open a supplier claim the same day you find the gap.

Why it happens

Rushed receiving

The dock is a bottleneck. Inbound freight arrives in batches, forklift time is shared, and the receiving team is measured on throughput, not accuracy. When a partial truck is blocking the bay and the next delivery is already waiting, the instinct is to accept the shipment, close the receipt, and deal with questions later. "Later" rarely comes.

No count-and-condition checkpoint

Many teams rely on the packing slip rather than a physical count. If the packing slip says 144 units and the team scans the outer carton once, 144 units go into the system — even if three cartons were missing or one arrived crushed. Without a line-by-line count against the PO before the receipt closes, short and damaged quantities are invisible to the inventory system.

Discrepancies tracked somewhere they die

Even when someone notices a shortage, the most common response is to write it on a notepad, drop it in a shared spreadsheet, or send a Slack message to the buyer. That spreadsheet doesn't connect to your inventory system, nobody owns the row, and three weeks later the supplier's claim window has closed. The note exists; the credit was never collected; and the phantom units are already being promised to customers.

The invoice gets checked, not the carton count

ShipBob's breakdown of phantom inventory causes makes the pattern concrete: vendors sometimes invoice for a full order while delivering fewer units, and if the receiving team checks the invoice against the PO rather than physically counting every item off the truck, the shortage goes straight into the records as live stock. Over multiple deliveries, small shortfalls accumulate into a gap big enough to tank a high-volume SKU.

What it costs

Phantom inventory

The moment a short receipt closes clean, your system believes it has stock that isn't there. Shopify shows "In Stock." ShipStation routes a pick. A picker goes to the bin, finds nothing, and the order stalls. At best this costs a manual exception-resolution cycle. At worst it costs an oversell, a customer apology, and an expedited reshipment you weren't planning to pay for.

This failure mode compounds. A short receipt on Monday phantom-inflates a SKU by 24 units. On Wednesday, 10 orders pick against those units. By Friday you've got 10 stuck orders, a reorder you need urgently, and a support queue filling up — all tracing back to one receipt that closed two minutes too soon.

Uncollected supplier credits

Every carrier and supplier has a claim window — often 5 to 15 business days from delivery for shortages, sometimes as little as 24 to 48 hours for visible damage. Miss the window and the credit is gone. A shortfall of even a few hundred dollars per shipment, across a dozen suppliers, adds up to real margin loss over a quarter. And because the receipt looks clean in the system, nobody knows there was ever a claim to file.

Warehouse receiving best practices from CyberStockroom put it plainly: a mismatch discovered at the dock can be communicated immediately to procurement to claim a credit or replacement, rather than going unnoticed — which prevents inventory errors and strengthens supplier accountability. The formal process is called OS&D: Over, Short, and Damaged. Filing an OS&D report promptly is what makes claims possible.

How to fix it, step by step

  1. Count and condition before you close. No receipt gets closed until a receiving associate has counted every unit against the PO line by line and noted the condition of outer cartons. "Assumed received" is not a status. If the count doesn't match, the receipt stays open.

  2. Record the discrepancy as its own line or record. Don't annotate a note in the margin of the receipt. Create a separate discrepancy record — short X units of SKU Y, or Z units received damaged — attached to the PO. This is the document you'll send to the supplier and the carrier. It's also the audit trail if the claim is disputed.

  3. Open the supplier claim the same day. As soon as the discrepancy record is created, purchasing or operations opens a formal claim with the supplier and/or carrier. Don't wait for the next weekly review. Note the claim number in the discrepancy record and set a follow-up date inside the claim window.

  4. Receive only what you actually have. Close the receipt at the actual quantity received, not the PO quantity. If 120 units arrived against a 144-unit PO, receive 120. Your inventory system should reflect 120. The remaining 24 stay on an open PO until they ship or a credit is issued — not as phantom stock waiting to fail a pick.

  5. Reconcile received-vs-PO on a cadence. Weekly (or at the close of every receiving day for high-volume operations), run a report comparing what was ordered against what was received and confirmed. Any PO that closed without a match needs a follow-up: was a credit issued? Is a second shipment in transit? This is where the spreadsheet graveyard becomes a real process.

How to stop losing these silently

The structural problem is that a closed receipt looks identical whether it closed accurately or not. Your Shopify count goes up either way. Your ShipStation allocation logic runs either way. You don't find out a receipt was wrong until a picker fails on a bin that the system says is full.

That's where StuckOrders fits into the receiving workflow. StuckOrders watches your Shopify and ShipStation data read-only — including receiving CSVs — and surfaces exceptions that look like inventory that can't be fulfilled: picks that fail, orders that stall at a stage they should have cleared, and counts that don't reconcile. Each exception gets an owner, an age, and a next action, so a receiving discrepancy that would have spent three weeks in a spreadsheet row becomes a claim-ready exception with its receiving evidence attached — visible, owned, and actionable before the supplier's window closes.

It is not a WMS, OMS, or ERP. It doesn't replace your receiving process. It catches the cases where your receiving process didn't catch the gap — and makes them visible while you can still do something about them.

You can get a free 30-day stuck-order audit to see how many of these slipped through in the last month before you connect anything.

Related