November 19, last year — the Monday before Black Friday week. Night shift, 10:30 PM. I'm in the office watching wave progress when the packing area goes quiet. Not because we're done. Pick exceptions have jammed the whole flow. My shift lead runs over: "Feng, we've got 200-plus orders stuck in Zone A. The system says the stock is there. The shelves say otherwise."

I walk over and find Xiao Li, one of our pickers, standing in front of a rack with his scanner, "NOT FOUND" flashing on the screen, three more pickers queued up behind him. The hold bins at the packing station are already stacked waist-high. That night we only made cutoff by pulling stock from Zone B and splitting orders.

Here's the honest truth, folks — anyone who's run a warehouse knows this scene: the system shows inventory, the shelf shows nothing. It happens a few times a year, every year. Today I'll lay out exactly how our warehouse handles it now. Because exceptions aren't scary. What's scary is nobody knowing what to do next.

Two Real Stories: Where Pick Exceptions Come From

Back to that night. After we made cutoff — it was past midnight — I had the shift team trace every one of those 200-plus exceptions, one by one. Turns out a putaway driver had stashed 40 cartons at the end of a Zone C aisle the week before. He was in a hurry, skipped the location confirmation in the system. So the system still showed that stock in Zone A, while it sat in Zone C for a whole week. Pickers went to Zone A per their tasks and searched every shelf. Nothing.

That wasn't the pickers' fault. The scanners were fine. The people were fine. The putaway step just never got closed out.

The second story is from March this year. A long-time supplier switched label printers, and the new batch of barcodes came out blurry — unscannable no matter what. Xiao Zhang, a picker with six years under his belt, was confident he "knew this product with his eyes closed" and passed it on visual inspection. Two wrong cartons went out. The customer complained the moment they opened the boxes, and the whole pallet came back for re-inspection. The rework and freight on that one order would have paid for calmly handling dozens of exceptions.

After that, we added an iron rule: if the barcode won't scan, nobody ships on gut feeling. Gut feeling is worthless when it's right and expensive when it's wrong.

When I reviewed our exception logs later, the pattern was clear: the large majority of pick exceptions don't start in picking at all. They start upstream — in putaway, in receiving confirmation. The picker is just the last person to discover the problem. If you really want fewer exceptions, don't just stare at the picking step. Look further back.

Our Pick Exception Escalation Matrix: L1, L2, L3

After that November night, I sat down with the shift leads and wrote "what to do when the stock isn't there" into a single chart. It's now taped to every packing station. One sheet of A4 paper. Everyone can see it.

Level Who handles it Response time What to do When to escalate
L1 Self-rescue on the floor The picker Within 3 minutes Check adjacent locations, then check the system inventory snapshot, tag the tote "HOLD" and skip it No lead within 3 minutes — escalate immediately, no stubborn searching
L2 Shift-lead call Shift lead Within 15 minutes Cross-zone transfer, substitute approval, contact upstream A whole wave is affected, or hold orders exceed 20
L3 Manager fallback Me plus planning Within 30 minutes Split orders, modify orders, rush replenishment, talk to the customer or sales Can't resolve before cutoff, or a complaint is already involved

Picker checking the terminal at an empty pick slot

Here's the counterintuitive part: when you can't find the stock, the fastest move is to skip it first.

Our old rule was "if you can't find it, wait where you are for the shift lead." So one person got stuck, a line of people waited behind them, and the wave slipped later and later. Now it's reversed: 3 minutes, no find, slap on a hold tag, keep picking the rest. The wave doesn't stop. Hold orders get handled together by the shift lead at the end. After the change, our wave on-time rate actually went up.

Honestly, exception handling isn't about "fixing it in one shot." It's about "don't let one exception kill the whole wave."

And the math has to be clear. One forced shipment of wrong product — rework at packing, reship freight, a customer complaint — costs more than calmly handling a dozen exceptions. Fifteen minutes stopped on the floor isn't scary. Shipping the wrong product to hit a deadline is. So that L1 rule, "escalate immediately after 3 minutes with no lead," is enforced as discipline. Hiding an exception or forcing it through gets you a sit-down conversation, every time.

One more thing: L2 shift leads keep a "common substitutes list," agreed with sales in advance — which products customers accept as functional replacements, swappable on the spot with a clear note on the order. We refresh it quarterly. It saves a mountain of ad-hoc approvals.

Our hold tags are red stickers, slapped on the tote handle — you can spot them from across the floor. Before every shift ends, the shift lead has to clear that day's red tags to zero: either find the stock and complete the pick, or walk it through the escalation chain. Nothing carries over. We've kept that habit for over half a year now, and hold orders haven't survived a single night since.

Fallback Plans: When the Stock Truly Isn't There

You've run all three levels and the stock still isn't there. What then? We have fallback plays, in order:

First, L2 checks whether a substitute can cover it. If it's on the list and the customer has accepted it before, swap it, note it clearly on the paperwork. No hiding.

Second, split the order. Ship what's available now, generate a separate backorder for the missing lines, and make the status crystal clear in the system — don't leave customer service guessing in the dark. Splitting is an L3 decision, not the shift lead's — splitting is a promise, and someone has to own it.

Third, if rush replenishment can't work and there's no substitute, L3 calls the customer or sales directly. My script is one sentence: "We can't ship this order complete today — the missing part goes out first thing tomorrow morning, freight on us." Saying it yourself is always ten times better than letting the customer discover it.

The order of these three can't change. Solve it internally first; only go external when you must. But the external step can't be skipped or delayed — if it's not resolved an hour before cutoff, the call gets made. Wait until the customer comes asking, and it's a different conversation entirely.

Three Reminders for Fellow Ops Managers

First, post the escalation chart on the floor, not just in a chat group. We started by sending it in the group chat. Nobody read it. After we taped it to the packing stations, new hires could follow it on day two.

Second, review exceptions weekly: which category is biggest, where's the root. If the same category shows up two weeks running, the process has a hole — and plugging the hole matters more than handling the exceptions.

Third, never punish people for reporting exceptions. We used to — whoever reported the most got chewed out. So everyone hid them, and exceptions piled up. Now it's reversed: fast, accurate reporting gets called out by name in shift meetings. Hidden exceptions are basically gone, and total exceptions went down too — because we fixed the roots.

Folks, pick exception handling comes down to people plus process. Make the process clear, don't punish the messenger, and the rest is execution.

By Chen Feng, Warehouse Operations Manager