A picker in a Riyadh distribution center walks to bin location C-14 for a case of frozen chicken thighs. Ordered quantity: 12 cases. Cases physically on the shelf: zero. In a well-instrumented operation this takes ninety seconds to record and the wave moves on. In most B2B distribution operations across Egypt and Saudi Arabia, it takes nothing — the picker writes "N/A" on a paper list or skips the line, and the shortage is not recorded anywhere the buyer, finance, or the operations team can see it until the delivery has already left the dock.

An out-of-stock SKU is not the exception. Not recording it is.

Item-Not-Found — INF — is the term for a specific failure: a picker reaches the assigned pick face for a SKU and the quantity is not physically there to fulfil the line as ordered. It is not the same failure as a stockout recorded in the ERP, because ATP data can say a SKU is available while the physical case is missing, misplaced, or already allocated to a wave that has not synced back to stock. It is also not the same as a short pick, where part of the ordered quantity is present and part is not — a related but separately handled exception.

The distinction matters because each condition needs a different system response, and treating them as one blurry category of "stuff was missing" is how an operation ends up with several informal exception lists that nobody consistently checks.

Full INF
The SKU is ordered; the quantity found at the pick face is zero. The line has to be adjusted to zero or filled by substitution, not left as originally entered.
Short pick
Some quantity is present, less than ordered. The line is adjusted to the actual picked quantity, and the shortfall needs its own reason code — not the same one as a full INF.
Unreconciled ATP gap
The physical shortage is captured at the pick face but never written back into stock records, so the ERP still shows the SKU as available and the same exception recurs on the next order.

Where the exception is captured decides what it costs

The same missing case produces a completely different cost depending on the point in the order lifecycle where someone first notices it.

Best case Captured at the pick face
The picker logs the INF the moment the bin is empty, with a reason code. The line is adjusted, the order value is revised, and the buyer's portal reflects the change before the vehicle leaves the dock. Cost: a smaller invoice and a notification the buyer has already seen.
Expensive Caught at consolidation
Nobody flagged the shortage at the shelf. It surfaces when the order is staged and a line does not match the manifest. Someone has to trace which SKU is missing and decide, under time pressure, whether to hold the vehicle, substitute, or ship short. Cost: a staging delay and a driver waiting on a decision that should have been made an hour earlier.
Worst case Discovered at the buyer's dock
The order ships as if it were complete. The buyer's receiving team counts the crates and finds a line missing. They call. The invoice — generated against the order as placed, not as actually fulfilled — now needs a credit note raised after the fact, on a delivery the buyer has already disputed.

A distribution center that is not tracking INF at the pick face is not managing a handful of exceptions. It is managing exceptions that cost almost nothing if captured at the shelf, and cost a credit note cycle and a dispute if they are not caught until the dock.


One missing case starts a chain, not a single correction

Take a Jeddah food-service distributor supplying a hotel group with a Thursday delivery window. The order runs 40 lines across chilled, frozen, and ambient SKUs. One line — a case of imported tomato paste — is not at its assigned pick face when the picker arrives; a shrinkage discrepancy from the previous day's cycle count was never resolved. If the picker logs an INF with a reason code the moment they find the empty location, the order management system adjusts that line to zero, recalculates the order value, and pushes the change to the buyer's portal before the truck is loaded. The hotel group's procurement team sees the removed line, the reason, and the reduced invoice value hours before the delivery arrives.

If the picker instead skips the line without recording anything, the order ships as 40 lines complete. It arrives with 39. The hotel's receiving team either misses the shortfall during a rushed count — in which case the case is never billed correctly on either side — or catches it and refuses full acceptance until someone explains the gap. Both outcomes produce a credit note days later, on an invoice generated against the order as placed rather than the order as actually delivered.

The tomato paste case is one line on one order. The pattern is not. The same unresolved shrinkage discrepancy will produce the same INF on the next buyer who orders that SKU, and the next, until the stock record itself is corrected rather than the symptom.


The cost is not the missing case. It is everywhere the missing case touches.

01 — Order accuracy
The invoice only matches the delivery if the exception was captured before dispatch
An invoice generated against the order as placed, with no adjustment for what was actually picked, is wrong the moment a single line is unavailable. Correcting it after the fact is a manual finance task instead of a system output.
02 — Finance overhead
Every uncaptured INF becomes a credit note cycle
The buyer's accounts team validates the credit note against their own receiving record. Both sides reconcile a discrepancy that existed only because it was not resolved at the point it was cheapest to resolve — the pick face.
03 — Buyer trust
Buyers who get surprised at the dock start double-checking every delivery
A procurement team that has been short-delivered without warning more than once begins counting every crate against the invoice before signing, and raising the next order later than they otherwise would. The friction outlasts the individual dispute.
04 — Recurrence
An INF that never reaches the stock record repeats
If the shortage is corrected on the order but not written back into inventory, the same SKU shows as available for the next buyer, and the same exception happens again on the next pick wave that touches it.

An INF caught at the pick face is a line item on an invoice. An INF caught at the buyer's dock is a dispute with a paper trail.


Why most operations only find out at the dock

Operations directors at mid-to-large distributors in Egypt and Saudi Arabia are not unaware that INF exceptions happen. Most treat the resulting credit notes as a normal, if irritating, cost of doing business rather than a symptom of where the exception is being caught. The reason it keeps surfacing at the worst possible point is structural, not a matter of picker diligence.

There is no structured way to log the exception at the shelf
Paper pick lists and legacy WMS screens give a picker no distinct field for INF versus short pick versus a note to a supervisor. Faced with an empty bin and a wave to finish, the fastest option is to leave the line blank or write "N/A" — which records nothing a downstream system can act on.
The invoice is generated from the order, not the delivery
Many finance workflows batch-invoice against the original order file at day's end rather than against the confirmed pick or proof of delivery. Any shortage that was not explicitly corrected upstream ships straight through into an invoice that does not match what left the warehouse.
The buyer's first signal is the physical delivery itself
Even when an INF is recorded somewhere internally, there is often no mechanism pushing that specific line-level change to the buyer before the truck leaves. The buyer's receiving team finds out by counting crates, which is the most expensive possible place to discover a shortage.

Capture at source, not correction after the fact

The fix is not a stricter cycle-count policy or a reminder to pickers to write things down. It is giving the picker a structured way to log the exception the moment it happens, and wiring that log directly into order value, buyer visibility, and invoicing — so the correction happens before dispatch instead of after delivery.

In the Emdaad OMS, a picker who cannot locate a SKU logs an INF with a reason code at the pick face, not a blank line on a paper list. The system adjusts the affected line, revises the order value, and pushes the change to the buyer portal before the vehicle leaves. Invoicing is generated against the confirmed delivery rather than the original order, so a line that was never picked never appears on an invoice that has to be corrected two weeks later.

An operation that stops discovering shortages at the receiving dock is not running a better warehouse. It is running a warehouse where the exception was captured at the only point it was still cheap to capture — the pick face, before the case that was not there became a dispute three weeks from now.