Warehouse Receiving Best Practices, Step by Step
There are three different "expected" numbers waiting at an inbound door: the carrier's piece count on the delivery receipt, the supplier's packing list or advance notice, and your own purchase order quantity. Most receiving advice treats them as one thing to check against. They are not, and they should not be handled the same way. Two of them belong to somebody else and have to be checked in the open, on the spot. The third is your own expectation, and showing it to the person counting is how you get a receipt that agrees with the paperwork and disagrees with the shelf.
Receiving is one of the places inventory accuracy is made or lost, because it is where a large share of stock enters the record for the first time. Returns, kitting output and found stock create records too; inbound is the highest-volume of them, and the one under the most time pressure.
Most receiving guides give the same list: book appointments, get an advance notice, check the delivery against the purchase order, scan everything, put it away promptly. The list is fine. What it leaves out is that there is no single thing called "the paperwork" — three expected numbers wait at an inbound door, they come from three different parties, and they should not be handled the same way.
The three expected numbers, and who owns each one
The carrier's delivery receipt carries a handling-unit count — how many pallets or pieces the driver is handing over. That number belongs to the carrier, and it is the one you are signing for.
The supplier's packing list or advance ship notice states what is inside those units. That number belongs to the supplier, and it is the basis of any shortage claim against them.
Your purchase order quantity is what you asked for. That one is yours, and it is not evidence of anything that arrived — it records an intention you formed weeks ago.
Collapsing all three into "check it against the paperwork" is the mistake underneath a lot of bad receiving. The first two are other people's claims and must be tested in the open, at the dock, while the person making them is still there. The third is your own expectation, and it is the one worth hiding.
Step 1: Decide when the truck is allowed to arrive
An unscheduled delivery becomes a queue, and a queue becomes a rushed count. Scheduling converts an unknown arrival into a known workload — where it is available. Parcel arrives when it arrives, many carriers will not take appointments on small shipments, and drop-trailer programs make the appointment beside the point. Treat it as a control for your larger lanes, and count the software and the person administering it as a real cost.
The second half is knowing what is on the truck before it backs in. In its strongest form each logistic unit carries its own identifier and the supplier's notice lists the same ones, so check-in becomes a scan against a manifest. GS1's Serial Shipping Container Code is that identifier: it "can be used by companies to identify a logistic unit, which can be any combination of trade items packaged together for storage and/ or transport purposes; for example a case, pallet or parcel."
Scanning confirms a labeled unit matches a line on the manifest; it says nothing about what is inside. Many mid-market supplier notices are header- and line-level with no unit identifiers at all, in which case the notice is a heads-up, not a verification method. Treat scan-against-manifest as a faster handling-unit count, not a substitute for opening anything.
Step 2: Two dock requirements worth knowing exactly
This is not a complete dock-safety program; trailer restraints, trailer creep, landing gear and trailer floor condition all matter and are outside this article. These two are worth quoting because they get misattributed.
OSHA's general materials-handling standard, 29 CFR 1910.176, requires at paragraph (a) that "Where mechanical handling equipment is used, sufficient safe clearances shall be allowed for aisles, at loading docks, through doorways and wherever turns or passage must be made." Paragraph (c) requires storage areas be "kept free from accumulation of materials that constitute hazards from tripping, fire, explosion, or pest harborage" — the standard a pile of unresolved freight on the dock apron is failing. That is 1910.176, not 1910.22, which covers walking-working surfaces.
Dockboards have their own standard, 29 CFR 1910.26. Those placed into service after January 17, 2017 must be "designed, constructed, and maintained to prevent transfer vehicles from running off the dockboard edge," unless the employer can demonstrate no hazard exists — an older dockboard is exempt from that one design requirement, not from being safe. And the standard requires that "Measures, such as wheel chocks or sand shoes, are used to prevent the transport vehicle from moving while employees are on the dockboard."
Step 3: Check the carrier and the supplier in the open
The driver's copy is the one moment you have leverage. Count the handling units against the delivery receipt, check the condition of each one, and note any visible shortage or damage on the receipt before the driver leaves with it. A discrepancy found after the truck has gone becomes a concealed claim, which carrier tariffs generally make harder to win.
None of this is a candidate for hiding anything: you cannot check a counterparty's claim against a number you are not allowed to see.
Step 4: Count the contents without your own purchase order on the screen
Now the question changes from "did the carrier hand over what it said" to "what is actually here."
Showing the person counting your expected quantity turns a count into a confirmation. Somebody who sees "48" and finds a stack that looks like 48 will write 48. Nothing surfaces at the dock; it surfaces weeks later as a discrepancy nobody can trace, because the receipt that created it looked clean. This is the reasoning behind a blind count, where the counter is not shown the system's on-hand figure because that figure is what is being tested.
Purchasing systems have shipped an option for this for years. Oracle's documentation describes its version: "Blind receiving helps you ensure that receivers record the exact amount they receive. With blind receiving, you cannot see the quantity due or the quantity ordered for shipments when you receive items. Purchasing ignores all quantity receipt tolerances to help ensure that you can receive the exact amount the supplier shipped." That is one vendor's implementation, quoted because it is documented publicly; check what your own system calls it and what it hides.
Note what that does to tolerances. A receiver who cannot see the expected quantity cannot act on a tolerance warning either, so the tolerance stops being a gate at the dock and becomes a variance policy applied afterwards. The control has not been lost, only moved to where it can be reviewed.
Two conditions make this work rather than just noisy. A variance must trigger an independent recount by a second person before anything is adjusted: blind counting without the recount gives an uncorroborated number, not a better one. And attribution between supplier error and receiver error is the output of that investigation, not a split you switch on in a report.
The honest cost: it is slower, it surfaces more variances, and some will be your own receivers' miscounts, which cost buyer time and can sour a supplier conversation that did not need to happen. Judge it against what you already do elsewhere — if you run blind counts in the aisles and open receiving at the door, you are testing your own records in one place and taking them on trust in the other. How you measure the result is covered in our guide to inventory accuracy.
Where this advice does not apply
Cross-dock and flow-through, where the receipt is the outbound allocation and you have minutes. Cold chain, where dock dwell is both a shrink and a food-safety cost. High-count, low-value goods weigh-counted or taken at case quantity. Catch-weight and bulk, where the quantity is a scale ticket. Floor-loaded containers, where the unload count is the count. Third-party logistics, where the client's notice is the contractual basis for the billing. And single-receiver sites with nobody to do the recount that makes the whole thing work.
Step 5: Capture identity, not just quantity
A count answers how many, not which ones, and for lot-controlled or dated goods the second question is the expensive one. Capture the item against your item master and, where they apply, the lot or batch and the expiry date — capturing expiry at the dock is what makes a first-expired-first-out rotation possible later, which is the practical difference between FIFO and FEFO stock rotation.
Scan where the labeling supports it, with one caveat: a plain retail barcode identifies the product, not the carton, and carries no lot and no expiry. Those travel in a barcode only when the supplier prints a symbology that encodes them, or in the advance notice keyed to the unit identifier. Where labeling supports neither, somebody is typing — a supplier cost worth quantifying rather than absorbing. The general case for scanning over keyboards is in our guide to barcode scanning in the warehouse.
Step 6: Set disposition in configuration, not at the dock
The last receiving decision is what the warehouse may do with the goods next. Oracle's system assigns a default receipt routing of "Direct Delivery, Standard Receipt, or Inspection Required." Direct delivery records the receipt and the delivery to a destination in one transaction. Standard receipt leaves put-away as a separate step, preserving the distinction this article opened with. Inspection required holds the goods until sign-off.
The same layer carries the exception settings: an over-receipt tolerance percentage with an action of none, reject or warning; a maximum number of days early and days late with the same three actions; and whether substitutes may be received at all. Most are buyer decisions made at purchase-order time, not receiver decisions — which is the point. Configured in advance they are policy; left blank they become whatever the person on the dock decides while a driver waits.
What to measure
Time from arrival to stock being available. The share of deliveries arriving with a usable advance notice. Variance rate between counted and expected, after recount. Do not attach a borrowed benchmark to any of them — the dock-to-stock and accuracy figures that circulate rarely define what was timed or counted. Baseline your own, then improve on it.
For food on the Food Traceability List
If you handle foods on the FDA's Food Traceability List, receiving is a defined Critical Tracking Event rather than a workflow stage: "an event in a food's supply chain in which a food is received by someone other than a consumer after being transported (e.g., by truck or ship) from another location." Covered businesses must keep records of the Key Data Elements tied to it, subject to the rule's exemptions. The FDA publishes those elements separately, and they are worth reading in the original.
Be careful with the dates, which are widely reported wrongly. The compliance date is January 20, 2026. The FDA has proposed extending it to July 20, 2028, and Congress has directed the agency not to enforce the rule before that same date, which the FDA says it intends to comply with. Non-enforcement is not a moved compliance date: until the proposed rule is final, the obligation and the enforcement posture are separate questions.
The short version
Three expected numbers, three different jobs. Check the carrier's in front of the driver and write the exception on the receipt. Check the supplier's against what is in the box. Hide your own purchase order quantity from the person counting, and recount every variance with a second person before anything is adjusted.
Frequently asked questions
What is the difference between receiving and put-away?
Receiving ends when the delivery has been checked in and recorded. Put-away is the separate task of moving that stock to a storage location and recording where it went. Keeping them apart matters because a unit can be received and not yet be findable, and that gap is where inbound stock goes missing on a busy day. If your system collapses the two into one transaction, you lose the ability to see the gap at all.
Should receivers be shown the purchase order quantity?
There is a good case for hiding that one number, because it is your own expectation rather than a counterparty's claim, and a counter who sees it tends to confirm it rather than count. Hiding it is a standard option in purchasing systems. It does not apply to the carrier's piece count on the delivery receipt or to a supplier packing list, both of which have to be checked openly at the dock.
What should a receiver do when the count and the paperwork disagree?
Note visible shortage or damage on the carrier's delivery receipt before the driver leaves, because a discrepancy found later is a concealed claim and much harder to win. Record what physically arrived rather than what was expected, have a second person recount before anything is adjusted, and book the freight into a hold or quarantine location rather than leaving it on the dock apron while the question is open.
Plan the route. We deliver the rest.
See how Binlogic powers last-mile logistics — routing, tracking, and the platform that turns the plan into the package on the doorstep.
Book a callback