Bottom line first: if you sell to US retailers, the EDI 856 advance ship notice matters more than the 850 purchase order or the 810 invoice. The 850 is the retailer's purchase order to you. The 856 is your "here is what this shipment looks like" sent to the retailer. The 810 is your invoice asking for money. The order is always 850 → 856 → 810. Get it backwards, late, or wrong, and you are looking at deductions at best and fines at worst. I have watched this exact failure three times, and every time it was the warehouse side that broke.
What the EDI 856 Advance Ship Notice Actually Carries
Let me lay out all three documents in one pass. The 850 purchase order comes from the retailer's buying system. It tells you: which SKUs, how many, at what price, delivering to which distribution center, inside which delivery window. That document is the law for the whole shipment — picking, packing, and load planning all follow it. One detail people miss: sometimes a buyer changes quantities or dates over the phone without sending an updated 850. You pick against the old order, and the whole shipment is wasted. Every change to the 850 needs to arrive as a document, in writing.
The EDI 856 advance ship notice goes from you to the retailer after the trailer is loaded and sealed. Its job in one sentence: tell the retailer's distribution center the physical structure of the shipment before it arrives. Key fields include SSCC codes at the pallet level, carton numbers, the pallet-to-carton hierarchy, SKU and quantity per carton, carrier, tracking number, and seal number. The distribution center uses the 856 to schedule the dock appointment, plan receiving, and staff the shift. The work is planned before the freight shows up.
The 810 invoice goes out after delivery, when you want to get paid. The amount has to match the price on the 850 and the shipped quantities on the 856. Retailers call this three-way matching, and if it fails, you do not get paid.
850 vs 856 vs 810: The Comparison Table
| Document | Who sends to whom | When | Key fields | What goes wrong if it is wrong or late |
|---|---|---|---|---|
| 850 Purchase Order | Retailer → vendor | At order time | SKUs, quantities, prices, delivery window, DC address | You pick the wrong order and the whole shipment is wasted |
| 856 Advance Ship Notice | Vendor → retailer | Before shipment (many retailers require it within 24 hours before shipping; policies vary by retailer — check the latest routing guide) | SSCC, carton numbers, pallet hierarchy, SKU/quantity, carrier, tracking number | Fines; the DC may refuse the load or charge extra unloading fees |
| 810 Invoice | Vendor → retailer | After delivery | Invoice number, amount (must three-way match the 850 price and 856 shipped quantity) | No match, no payment |
When to Send the 856 Advance Ship Notice
Policies differ by retailer, and I will not quote any single retailer's number here — always check the latest routing guide. But the universal logic is in the name: it is an advance ship notice. "Advance" means the receiving side needs it before the freight arrives. Most retailers require it before the shipment leaves, some draw the line at 24 hours, some at "before the truck departs the dock." Treating it as paperwork you file the morning after is already late.
What happens when you are late? Fines deducted straight from your payment, at minimum. Worse, the DC treats the load as having no valid ASN, and your freight sits waiting for a new dock appointment while detention and storage charges pile up. Sending it wrong is worse: SSCCs that do not match, carton counts that do not match, and every scan at the dock lights up red. Receivers fall back to opening every carton and counting by hand, and that labor lands on the vendor's bill.
I have seen this failure three times. Two stories stand out.
The first: fall 2023, a small-appliance vendor in Ontario, California, shipping roughly 400,000 cartons a year to retailers. On go-live night, nobody checked the box for "SSCC number range switched to production." The WMS was still generating the test range. More than 200 pallets went out with an 856 the DC could not match at the scanner. The whole load was flagged as no valid ASN, and the fine ran into five figures. The fix was brute force: reprint every shipping label overnight, resend the 856, and write an appeal letter explaining it was a first offense. The fine got cut in half. One SSCC mistake is enough to remember it forever.
The second: 2022, an apparel vendor in Dallas, Texas. Their habit was to send the 856 the next morning after the truck had already left — an average delay of 18 hours. Their retailer's policy required it before shipment. Three straight weeks, two or three loads a week fined, money pulled directly out of payments. Finance only noticed a hole in the numbers at month-end close. The fix: tie 856 generation to the "seal scan" event in the WMS. The second the worker scans the seal barcode, the 856 assembles and sends itself. Lead time dropped from 18 hours to 20 minutes. Zero fines after that.

Warehouse Implementation Checklist: Five Steps
- Find every field in your WMS first: SSCC generation per GS1 rules, UCC-128 shipping labels, the pallet-carton-unit hierarchy, the carrier SCAC code, tracking number, and seal number. Missing one field means the 856 cannot be built. Print the field map and check them off one by one.
- Print labels per the retailer's routing guide. The SSCC barcode must scan, and placement matters. A wrong label makes even a perfect 856 useless, because the dock scans the label.
- Run a full loop on the retailer's test 850: receive the test order, pick, pack, generate a test 856, let them validate it, and do not go live until you hold the test certification. Shipping before certification is flying blind.
- Lock down the trigger event. Tie it to the seal scan, not to "truck departed." Generate the 856 the second the seal barcode is scanned. Waiting until departure is already late for many retailers.
- Assign a human to watch EDI acknowledgments daily: the 997 says "I received it," the 824 says "I accept your data." Nobody watching acknowledgments is the same as never sending. Handle 824 rejections within 24 hours.
The Counterintuitive Part
Most people treat the 856 as a notification — send it, done, a few hours late is fine. Wrong. The retailer's DC uses the 856 as receiving instructions: dock appointments, staging assignments, labor planning, all driven by the 856. Send it clean and the DC receives by the pallet. Send it sloppy and the DC opens every carton. So the 856 is not paperwork. It is part of warehouse operations. The person sending the 856 should sit in the warehouse, not in an office.
One more trade-off: build a direct EDI connection or use a third-party EDI provider? Low volume, one or two retailers — use a provider, pay per transaction, let them handle testing and certification. High volume, many retailers — then a direct connection starts to pay off. Do not start by building it yourself. Certification alone can eat three months, and your freight cannot wait.
Go-Live Night Checklist (Print It, Tape It to the Wall)
- Is the SSCC range switched to production? A test range sent live is a wasted send.
- Are the DC address and delivery window from the 850 synced into the WMS wave plan?
- Is the 856 trigger the seal scan? Sending after departure may already count as late.
- Does the 810 pull price from the 850 or from the contract? A three-way mismatch holds up your money.
- Who watches the 997/824 acknowledgments daily? Write down the name. "Everyone watches" means nobody watches.
- Do you hold the test certification? Do not go live without it.
By Lin Xiao, WMS Implementation Consultant








