Advance Ship Notice
The X12 856 (ASN) tells the buyer exactly what was shipped, how it was packed (pallet/case/item hierarchy), and when it will arrive — before the truck reaches the dock.
In this guide
856 Advance Ship Notice moves from Supplier / Distribution Center to Buyer / Retailer / Warehouse (Seller → Buyer) via AS2, SFTP, VAN, API. The interactive diagram below traces every business and technical step the message passes through — press Play Flow to watch it travel, or click any step for detail.
How it works
How 856 Advance Ship Notice Works
Sender
Supplier / Distribution Center
Receiver
Buyer / Retailer / Warehouse
Direction
Seller → Buyer
Standard
ANSI ASC X12
Version
005010
Transport
AS2 / SFTP / VAN / API
Business Purpose
Logistics & Fulfillment
Sender — Supplier / Distribution Center
EDI Transmission
856
Advance Ship Notice
ANSI ASC X12 004010 / 005010
Receiver — Buyer / Retailer / Warehouse
Related transaction flows
Need help understanding this EDI flow?
Ask EDI AI →856 Advance Ship Notice workflow. Steps: Order Fulfillment, Create 856 EDI, Validate EDI, Send to Trading Partner, Receive EDI, Validate / Translate, Process in ERP / WMS, Physical Goods Receiving, Inventory Update, Confirmation / Acknowledgment. Transmitted from Supplier / Distribution Center to Buyer / Retailer / Warehouse via AS2, SFTP, VAN, API, following ANSI ASC X12 004010 / 005010.
Overview
Enables the buyer to plan labor and dock schedules, and supports automated receiving by matching physical cartons (via SSCC barcodes) to the electronic shipment record.
Sender
Supplier / Distribution Center
Receiver
Buyer / Retailer / Warehouse
Direction
Seller → Buyer
Standard / Version
ANSI ASC X12 004010 / 005010
Segment structure
Key segments that make up this transaction set:
| Segment | Name | Purpose |
|---|---|---|
| BSN | Beginning Segment for Ship Notice | Shipment identification number and date/time. |
| HL | Hierarchical Level | Builds the shipment/order/pack/item nesting structure. |
| TD1/TD5 | Carrier Details | Packaging and carrier/routing information. |
| REF | Reference Identification | Carries the SSCC / license plate number for a pack. |
| LIN | Item Identification | Identifies the item within a pack. |
| SN1 | Item Detail (Shipment) | Quantity shipped for the item. |
Interactive example
Click any segment below to see its business meaning.
ST
This is an envelope or control segment. Select a highlighted segment on the left (shown in green) for a full business explanation.
View raw EDI
ST*856*0001~
BSN*00*ASN-55210*20230920*1420~
HL*1**S~
TD1*CTN25*4~
TD5**2*FDEG*M*FEDEX FREIGHT~
DTM*011*20230920~
HL*2*1*O~
PRF*PO-2024-88213~
HL*3*2*P~
MAN*GM*00312345678901234567~
HL*4*3*I~
LIN*1*VP*SKU-10293*IN*44921~
SN1*1*100*EA~
CTT*4~
SE*15*0001~Mapping example
A representative field-level mapping from a common source system into this transaction:
| Source | Source Field | Target Field |
|---|---|---|
| WMS Shipment Record | carton.sscc | MAN02 (Marks and Numbers) |
| WMS Shipment Record | carton.item.qty_shipped | SN102 (Number of Units Shipped) |
| WMS Shipment Record | shipment.carrier_scac | TD5*02 (Identification Code) |
| WMS Shipment Record | shipment.ship_date | DTM*011 (Shipped Date) |
Validation rules
- Every HL loop must reference a valid parent HL01 via HL02 (except the top-level Shipment loop).
- The sum of SN102 quantities across item loops must equal the SN102 total declared at the order level, if provided.
- MAN02 (SSCC) must be exactly 18 digits and pass GS1 check-digit validation.
- PRF (PO number reference) must match an open, previously received 850.
- CTT01 must equal the total count of HL loops in the transaction.
Common errors & troubleshooting
Receiving system can't match cartons to the ASN
Cause: SSCC in MAN02 was regenerated after the ASN was already sent (e.g., a repack).
Fix: Lock SSCC assignment before ASN transmission, or send a corrected 856 (BSN01 = 05) if repacking occurs.
HL hierarchy error / 997 syntax reject
Cause: HL02 parent reference points to a HL01 number that doesn't exist earlier in the same transaction.
Fix: Validate HL parent-child integrity in the mapping engine before sending; HL loops must be generated in ascending, sequential order.
Quantity variance flagged at receiving
Cause: Last-minute pick shortage wasn't reflected before the ASN was generated.
Fix: Trigger ASN generation only after final pack confirmation from the WMS, not at wave-release time.
Related articles
Frequently asked questions
Because downstream receiving, slotting, and labor scheduling all depend on the ASN arriving before the truck. A missing or inaccurate ASN breaks automated receiving and forces manual counting.
Still have questions about 856?
Ask EDI AI →