856X12Logistics & Fulfillment

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

AS2SFTPVANAPI

Receiver — Buyer / Retailer / Warehouse

Need help understanding this EDI flow?

Ask EDI AI →
Figure: 856 Advance Ship Notice workflow from Supplier / Distribution Center through EDI transmission to Buyer / Retailer / Warehouse. Standard: ANSI ASC X12 004010 / 005010 · Transaction: 856 · Direction: Seller → Buyer

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:

SegmentNamePurpose
BSNBeginning Segment for Ship NoticeShipment identification number and date/time.
HLHierarchical LevelBuilds the shipment/order/pack/item nesting structure.
TD1/TD5Carrier DetailsPackaging and carrier/routing information.
REFReference IdentificationCarries the SSCC / license plate number for a pack.
LINItem IdentificationIdentifies the item within a pack.
SN1Item Detail (Shipment)Quantity shipped for the item.

Interactive example

Click any segment below to see its business meaning.

856 Advance Ship Notice — interactive EDI message visualizer

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:

SourceSource FieldTarget Field
WMS Shipment Recordcarton.ssccMAN02 (Marks and Numbers)
WMS Shipment Recordcarton.item.qty_shippedSN102 (Number of Units Shipped)
WMS Shipment Recordshipment.carrier_scacTD5*02 (Identification Code)
WMS Shipment Recordshipment.ship_dateDTM*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 →