EDI 856: Advance Ship Notice (ASN)

The EDI 856 is the Advance Ship Notice (ASN): the X12 document a supplier sends a buyer after an order is packed and before it arrives. It describes the shipment as a tree of shipment, order, carton and item, with the carrier, the bill of lading and an SSCC number for each labeled carton or pallet. The buyer uses it to plan the dock and to receive by scanning labels instead of counting.

Request a 30-minute call

Reviewed against X12 4010 and 5010

The 856 at a glance

Code
X12 856
Name
Advance Ship Notice
Also called
ASN, Ship Notice/Manifest, advanced shipping notice
Sent by
Supplier, or the 3PL warehouse shipping for it
Sent to
Buyer: a retailer, distributor or manufacturer
When
After the shipment is packed and loaded, before it arrives. Each partner's guide sets the exact deadline.
Responds to
850 Purchase Order
Acknowledged with
997 Functional Acknowledgment
Related documents
850 Purchase Order, 855 Purchase Order Acknowledgment, 810 Invoice, 820 Payment Order/Remittance Advice
EDIFACT equivalent
DESADV

Where does the 856 sit in the cycle?

BuyerSupplier850Purchase order855Acknowledgment856Ship notice810Invoice820RemittanceBuyerSupplier850 Purchase order855 Acknowledgment856 Ship notice810 Invoice820 Remittance
Each document is usually answered by a 997 functional acknowledgment, which only confirms it arrived and parsed.

Which segments does an 856 use?

The standard column is what X12 itself requires. Your trading partner's implementation guide will require more, and it wins.

SegmentNameStandardWhat goes in it
STTransaction set headerMandatoryStarts the ASN and gives it a control number that the SE repeats.
BSNBeginning segment for ship noticeMandatoryPurpose (original, replace, cancel), your shipment ID, the date and time it was created, and the hierarchy structure the partner's guide asks for.
DTMDate/time referenceOptionalShip date and often an estimated delivery date. Optional in the standard; nearly every retail guide requires the ship date.
HLHierarchical levelMandatoryOne per level of the tree: shipment, order, tare (pallet), pack (carton) and item. Each carries its own ID and its parent's ID.
TD1Carrier details (quantity and weight)OptionalPackage type, count and gross weight. Usually required at the shipment level, and it should match the bill of lading.
TD5Carrier details (routing)OptionalCarrier SCAC and transport method. Required when the buyer routes the freight or matches the ASN to a routing request.
TD3Carrier details (equipment)OptionalTrailer or container number, mostly for truckload and intermodal.
REFReference identificationOptionalBill of lading (BM), carrier PRO number (CN), and partner-specific references such as a load or appointment number.
N1Name (party)OptionalShip-to and ship-from, identified by the codes the buyer assigned. The loop is optional in the standard and required by almost every guide.
PRFPurchase order referenceOptionalThe PO number, and usually the PO date, at the order level.
MANMarks and numbersOptionalThe SSCC-18 printed on the carton or pallet label. Partners differ on whether the leading 00 application identifier is included.
LINItem identificationOptionalItem IDs in pairs of qualifier and value: UPC or GTIN, your item number, the buyer's item number. The guide says which are required.
SN1Item detail (shipment)OptionalQuantity of this item at this level, with the unit of measure. It must be in the unit the 850 used.
PO4Item physical detailsOptionalPack size, inner pack and carton weight. Some buyers check it against their item setup.
PIDProduct/item descriptionOptionalFree-text description. Rarely required.
CTTTransaction totalsOptionalA control count. Many guides want the number of HL segments; some want the number of item lines.
SETransaction set trailerMandatorySegment count from ST to SE, and the same control number as the ST.

4010 or 5010?

The 856 segment list is nearly identical in 4010 and 5010. 5010 puts TD3 in a small loop with a new AT9 segment for trailer dimensions and weight, renames a few segments (N1 becomes Party Identification, REF becomes Reference Information), and lets some repeat more often. The envelope changes more than the document: in 5010 the ISA11 field holds a repetition separator instead of the letter U, and the version reads 00501. Two partners on the same release differ far more than one partner's 4010 and 5010 guides.

What does an 856 look like?

Sample with made-up data. X12 4010. Every company, number and address is invented.

  1. ISA*00* *00* *ZZ*NORTHFORK *ZZ*BASINHW *261014*1530*U*00401*000002001*0*P*>~

    Interchange envelope, now from the supplier to the buyer. Same 106-character fixed layout as on the 850.

  2. GS*SH*NORTHFORK*BASINHW*20261014*1530*2001*X*004010~

    SH marks a group of ship notices.

  3. ST*856*0001~

    Start of one ship notice.

  4. BSN*00*NF-SH-88214*20261014*1530*0001~

    Original notice (00) for shipment NF-SH-88214, created 3:30 pm on October 14. The final 0001 declares the hierarchy: shipment, then order, then pack, then item.

  5. HL*1**S~

    Level 1, the shipment. It has no parent, so the second field is empty.

  6. TD1*CTN25*3****G*68*LB~

    Three corrugated cartons, 68 lb gross. Count and weight should match the bill of lading.

  7. TD5**2*XMPL*M~

    Carrier by SCAC code (XMPL, made up), moving by motor carrier.

  8. REF*BM*NF-BOL-50931~

    Bill of lading number.

  9. REF*CN*7720419~

    Carrier PRO number. Often not known until pickup, which is why ASNs go out late.

  10. DTM*011*20261014~

    Ship date.

  11. DTM*017*20261017~

    Estimated delivery date.

  12. N1*ST*Basin Hardware DC 2*92*0002~

    Ship-to, echoing the 0002 code from the 850.

  13. N1*SF*Northfork Tool Co*92*NF01~

    Ship-from, using the vendor code the buyer assigned.

  14. HL*2*1*O~

    Level 2, the order. Its parent is level 1.

  15. PRF*BH2026-04417***20261008~

    The PO this shipment fills, with the PO date.

  16. HL*3*2*P~

    Level 3, the first carton, inside the order.

  17. MAN*GM*00006141410000000012~

    The carton's SSCC-18, here with the 00 application identifier in front. This number must be on the label stuck to that carton.

  18. HL*4*3*I~

    Level 4, what is in carton 1.

  19. LIN**UP*614141000012*VN*NT-FH20~

    The hammer, by UPC and by your item number.

  20. SN1**12*EA~

    12 each in this carton.

  21. HL*5*2*P~

    Second carton, another child of the order.

  22. MAN*GM*00006141410000000029~

    Every carton gets its own SSCC. Reusing one is a common and expensive mistake.

  23. HL*6*5*I~

    Contents of carton 2.

  24. LIN**UP*614141000012*VN*NT-FH20~

    More hammers.

  25. SN1**12*EA~

    12 more, so 24 hammers in all, which matches the 850.

  26. HL*7*2*P~

    Third carton.

  27. MAN*GM*00006141410000000036~

    Third SSCC.

  28. HL*8*7*I~

    Contents of carton 3.

  29. LIN**UP*614141000029*VN*NT-PB24~

    The pry bars.

  30. SN1**12*EA~

    12 each, matching line 2 of the 850.

  31. CTT*8~

    A count for checking. Here it is the number of HL segments; some partners count item lines instead.

  32. SE*30*0001~

    30 segments from ST to SE.

  33. GE*1*2001~

    One ship notice in group 2001.

  34. IEA*1*000002001~

    End of the interchange.

Why do trading partners reject an 856?

A 997 only tells you the file parsed. The real rejections come later, from the receiving dock or a compliance report, sometimes weeks after the truck left. These are the usual causes.

What went wrong What the buyer sees How to prevent it
The HL tree does not match the physical pack Scanned cartons do not match the cartons on the ASN, so receiving falls back to hand counts Build the pack and item levels from what the pack station recorded, not from the sales order lines
The SSCC on the label is not the SSCC on the ASN The label scans as an unknown carton Print the label and write the ASN from the same carton record. Never generate the number twice
The ASN arrives after the truck Nothing to receive against, often recorded as a late or missing ASN Send at ship confirm rather than in an overnight batch. Get PRO numbers before pickup if the carrier allows it
Quantities disagree with the 850 An over-shipment is refused or a short ship goes unannounced, and the 810 then fails too Check shipped quantities against the open PO lines, in the 850’s unit of measure, before sending
Missing or wrong carrier details The ASN cannot be matched to the trailer at the door or to the routing request Store the SCAC in the carrier record and capture the bill of lading and PRO at the dock
The ship-to code is wrong The ASN posts against the wrong DC or store, or is rejected outright Keep the 850’s N1 ship-to code on the sales order and echo it unchanged
A shipment ID is reused The ASN is treated as a resend or overwrites the first one Number shipments from one sequence, and use the BSN purpose code for real corrections
One ASN covers several POs when the partner wants one per PO, or the reverse Rejected by the partner’s validation, often reported back on an 824 Read the guide’s rule on order levels before building the map

Most large retailers back these rules with compliance charges taken out of payment. Those charges arrive later on an 820 or an 812, not as an error message, which is why ASN problems can run for months before anyone ties the deduction to its cause.

Where does the 856 data come from in your ERP?

The 856 is the hardest of the core documents because it needs a fact many ERPs never record: what went into which carton.

Segment Usually comes from The usual gap
BSN Shipment or pick ticket number and the ship-confirm time Ship confirm happens at the end of the day, so the ASN goes out late
TD1 The shipping system: carton count and weights Weights keyed by hand or estimated from the item master
TD5, REF BM, REF CN Carrier record, bill of lading, PRO number The carrier is stored as a name, not a SCAC. The PRO is not known until pickup
N1 ship-to The sales order’s ship-to Only the street address was kept, not the partner’s location code
PRF Customer PO number on the sales order Typed by hand on orders that arrived by email, with typos
HL pack levels and MAN Carton records from the pack station No carton-level data at all, because packing is done on paper
LIN Item master UPC or GTIN, and a customer item cross-reference Newer items have no UPC, or the case GTIN and the each UPC get swapped
SN1 Packed quantity per carton The ERP knows quantity shipped per line, not per carton, or ships in cases when the 850 ordered eaches

If your ERP has no carton records, the fix is usually a small pack-station app or a shipping system that captures each carton, prints its SSCC label and hands the contents to the EDI map. That is often the real project hiding behind a request to “turn on ASNs.”

How do you get 856s working?

Route Fits when Watch out for
Managed EDI provider or VAN with a web portal One or two partners, low volume, nobody in house to own maps A portal means retyping every shipment and the contents of every carton. At any real volume, that retyping is where the rejections come from
Managed EDI or an iPaaS connector wired to your ERP Your ERP has a supported connector and your partners are large retailers with ready-made maps The connector maps what the ERP holds. It cannot invent carton contents or SSCCs that were never recorded
An in-house translator Many partners, high volume, or an ERP that no connector supports You own the maps, the AS2 certificates, the monitoring, and whoever gets called when a 856 fails at night

Whichever route you choose, plan for partner testing. Most large buyers want a set of test ASNs, and often sample labels, before they switch you to production. Connecting the ERP, the shipping system and the EDI provider so the ASN builds itself is the ERP and EDI integration work we do. If you have one partner and a handful of shipments a week, a web portal is the honest answer and you do not need us.

Questions about the 856

What does ASN stand for?

Advance ship notice, also written advanced shipping notice. In X12 the document is the 856 Ship Notice/Manifest. The EDIFACT equivalent is DESADV.

Is the 856 the same as a packing slip?

No. The packing slip travels with the goods for people to read. The 856 arrives ahead of the goods for the buyer's system, and it carries the carton structure and label numbers that let the dock receive by scanning.

What is an SSCC, and do I need one?

An SSCC is the 18-digit Serial Shipping Container Code that identifies one carton or pallet. It is built from your GS1 company prefix, so you need a prefix to issue them. Partners that receive by scan require it on the label and in the MAN segment of the ASN.

What is the difference between a standard pack and a pick and pack ASN?

In a standard pack ASN every carton of an item holds the same quantity of that one item, so the tree usually runs shipment, order, item, then pack. In pick and pack a carton can hold several items, so each carton is its own level with the items beneath it, as in the sample above. The partner's guide says which structure it accepts.

Do I send an 856 for partial shipments?

Yes, when the partner requires ASNs. Every shipment gets its own ASN, including partials and backorder fills. Whether a line you could not ship appears with a zero quantity or is left out depends on the guide.

Further reading

New trading partner asking for the 856?

Send us their implementation guide. We will tell you what your ERP already holds, what is missing, and the shortest path to a test file that passes.