When accuracy is bad, the investigation almost always starts at picking, because that's where the customer feels it.
I've traced a lot of variances back to where they started, and the pattern holds. Picking errors are real, and they're usually singles: one unit on one order. Receiving errors come in case quantities and sit undiscovered for weeks. An item received as 24 instead of 20 is four units wrong until someone counts that location, and every report built on it in the meantime is wrong too.
The count you skipped
Every warehouse under pressure has some version of this shortcut. The truck's late, the driver's waiting, so someone signs the packing slip and plans to count the pallets later. Later doesn't always come.
I understand why it happens. I just don't accept that it's free. It's a loan, and you pay the interest in cycle count variances that take an hour each to chase three months later. Two ways out, neither needing software:
Separate the receipt from the count. Signing for freight and counting it don't have to be the same moment. Take the freight into a staging location the system knows about and let the driver go. Count against the packing slip within the shift. The stock's on the books somewhere findable, and nobody's standing over you.
Count what varies. Not every line needs a piece count. A sealed case from a vendor with a clean history can be counted as cases. A vendor with a history of short shipments gets full counts on every line until that changes. Build the list from your own variance history, review it twice a year, and tell the vendors on it that they're on it. That conversation fixes more than the counting does.
For the worst vendors, receive blind. If the receiver can see the expected quantity, the expected quantity is what gets entered. Anyone who counts to 19 and sees 20 on the screen assumes they lost count. Blind receiving has the receiver enter what they counted and lets the system compare. It's a little slower, and it catches short shipments you're paying for today.
Where the location gets lost
A correct count that lands somewhere unrecorded is still an error, and a nastier one, because the total's right and the stock can't be found.
It goes like this: the pick face is full, so the pallet goes into the first open reserve slot, to be recorded after lunch. The system says the stock's in the building. Picking goes to the face, finds it short, and reports a stockout on inventory you own.
The habits that prevent it are dull. One transaction moves stock and records both where it left and where it landed. Nothing gets set down without a label, and if pallets regularly sit on a patch of floor, give that patch a location code. The person who moves it records it when they move it, not a runner with a clipboard at the end of the shift. With scanners this is close to free. Without them it's a paper move ticket in a box by the office, entered daily. Not elegant, but it works.
Be careful with directed put-away early on. Vendors demo it well, and at scale it's useful. In the first months it's only as good as your cube data, and if that's rough it sends drivers to bins that won't take the pallet. After two or three of those, drivers stop trusting it, and that's hard to undo. I'd rather see simple fixed homes that are correct than clever put-away that's wrong. Turn the smarter rules on in month four, once real use has proven the cube data.
Returns are receiving too
Returns come in through a different door and get handled by a different person, often under a process somebody improvised. The common failure is stock going back on the shelf before it's received, so the shelf has more than the system. The rarer and more expensive one is a credit issued for stock that never arrived.
Give returns their own location and receive them properly. Then make the restock, quarantine or scrap decision an explicit step with a transaction behind it. Returns volume is small in most smaller warehouses, so this takes little time and closes off a kind of variance that's otherwise almost impossible to trace.
Two numbers to watch
Receiving variance rate: lines where the received quantity differed from the count, divided by lines received, tracked by vendor and by receiver. By vendor, it tells you who to talk to and gives you the data to do it. By receiver, it tells you whether it's training or process. If everyone's rate is similar, the process is the problem. If one person's is triple everyone else's, that's twenty minutes of coaching.
Dock-to-stock time: hours from freight arrival to put-away complete. Long dwell in staging is where stock goes invisible, and it creeps up quietly until someone starts watching it.
Watch both for a quarter. Most of the accuracy problem you've been chasing at the pick face will turn out to have started at the dock door.
