Goods in on a Tuesday morning
A container is on the yard. The client did send details, eventually: a forwarded email from their supplier in China with a packing list PDF, carton counts per style, and descriptions that do not use the SKU codes you have in the WMS. The receiving team leader prints it, cross-references the descriptions by hand, and creates an expected receipt while the driver waits.
Other clients are worse. One sends nothing and the first you know is a pallet arriving from a haulier with a reference that means nothing. Another sends a spreadsheet with a new layout each time. Goods that arrive without a usable notice get put in a quarantine area, and quarantine areas grow.
Why the notices are never in the right shape
Your client often does not create the document. Their supplier does, in whatever format that supplier's system produces. The client forwards it and assumes the job is done. Your WMS, meanwhile, expects its own template or an API call with SKU codes it recognises.
| What arrives | What goes wrong at receiving |
|---|---|
| Supplier packing list PDF | Supplier codes and descriptions, not the client's SKUs |
| Client spreadsheet | Layout changes, totals rows, merged cells |
| Line in an email | No quantities per SKU, just 'two pallets of the new range' |
| Purchase order, not a shipping notice | Ordered quantities, not what was actually shipped |
| Nothing at all | Unknown delivery, quarantine, chasing |
Asking clients to use your WMS client portal helps with some of them. The ones importing from overseas suppliers keep forwarding whatever they get.
The cost at the dock
Every notice retyped is a chance for a quantity or SKU to be wrong, and a wrong expected receipt turns into a discrepancy report that the client disputes. Unannounced deliveries tie up dock space and people. Stock that sits in quarantine is not available to sell, which the client notices when their orders start backordering.
It also slows the stock becoming available. The client measures you on how quickly receipts are put away and live, and a lot of that time is lost before a single carton is scanned.
How we turn documents into expected receipts
- A dedicated inbound address per client, or one shared address that identifies the client from the sender and content.
- Extraction of lines, quantities, carton counts and references from PDFs, spreadsheets and email text, using a document model with its output fixed to a set structure.
- Matching to the client's SKUs: by code where it exists, by a supplier-to-SKU cross-reference we build up over time, and by description with a confidence score where it does not.
- Checks: SKUs that do not exist yet in the WMS, quantities that differ from the client's purchase order, duplicate notices for the same shipment.
- Creation of the expected receipt in your WMS through its API, linked to the original document.
- A review list for anything uncertain, where a person confirms a match once and the system remembers it.
Unknown deliveries can also be handled: the haulier reference or supplier name is searched against open notices so receiving can find the right one quickly.
What goods in gets
The receiving team starts the day with expected receipts already built, including for the clients who only ever forward a PDF. Discrepancy reports compare what arrived against a notice that was entered correctly, which makes them easier to defend. Quarantine becomes the exception it was meant to be.
Does this match your goods in?
- Receiving staff retype packing lists into the WMS.
- Supplier codes need translating to client SKUs by hand.
- Deliveries arrive with no notice and sit in quarantine.
- Clients dispute receipt discrepancies because the notice was keyed wrongly.
- Your client portal for ASNs is used by a few clients and ignored by the rest.