EDI 856 — Advance Ship Notice
Supplier → Flxpoint → Retailer · Advance ship notice with tracking
EDI 856 — Advance Ship Notice (ASN)
Purpose
Inform the customer of the tracking number to track the progress of their shipped order. Also called "Ship Confirm". Originates with the Supplier, sent to FLX, then Retailer gets it.
In Plain English
The 856 closes the loop for the end customer: it tells Flxpoint (and the retailer's channel) that the order has shipped, the carrier is X, and the tracking number is Y. Flxpoint uses the 856 to mark the order fulfilled in the original channel and to push the tracking email to the shopper. This is also the hardest transaction to get right because it has a nested hierarchy — each shipment contains packs, each pack contains items — and every element must line up with the original 850. If the TD5 carrier segment is missing, or the HL hierarchy is broken, the entire ASN fails and the retailer's order stays stuck in "awaiting shipment" until support intervenes. The number one cause of failed 856s across Flxpoint's partner base is a missing TD5 shipping provider.
Frequency
Hourly recommended, daily minimum.
Business Rules
- Information MUST be based on the 850: PO number, line item number, customer order number, vendor UPC/EAN/SKU
- Orders ship based on the service level in TD5 from the 850/PO
- Ship from first business day the PO is available
- Correct UPC/EAN/SKU and PO number required to update FLX system
- Tracking number: Can be sent in REF segment (shipment level) OR MAN segment (pack level) — these are mutually exclusive
- Partial shipments: Each shipment must be a separate 856 with its own unique BSN02 (Shipment Identification). Do NOT combine multiple shipments for the same PO into a single 856 — Flxpoint processes one 856 per fulfillment. If splitting an order across multiple shipments, each gets its own ASN file.
- SSCC-18 format: If using MAN*CP with SSCC-18 carton codes, the value must be exactly 18 numeric digits. Flxpector validates this (FLX-856-013)
- Two hierarchy structure options:
0001(S, O, P, I) or0004(S, O, I)
Segment Hierarchy
Option 1: BSN05 = 0001 (Shipment, Order, Pack, Item) — RECOMMENDED
ISA Interchange Header GS Group Header (GS01 = "SH") ST Transaction Set Header (ST01 = "856") BSN Beginning Segment for Ship Notice ┌─ HL Loop - Shipment (HL03 = "S") │ HL Hierarchical Level │ TD5 Carrier Details (SCAC + Service Level) │ REF Reference ID (CN = Carrier Tracking #) — OR use MAN at Pack level │ DTM Date/Time (011 = Shipped) │ ┌─ N1 Loop │ │ N1 Name (SF = Ship From, code 92) │ └─ │ ┌─ HL Loop - Order (HL03 = "O") │ │ HL Hierarchical Level │ │ PRF Purchase Order Reference │ │ REF Reference ID (CO = Customer Order #) — Optional │ │ REF Reference ID (VN = Vendor Order #) — Optional │ │ ┌─ HL Loop - Pack (HL03 = "P") │ │ │ HL Hierarchical Level │ │ │ MAN Marks and Numbers (CP = Carrier Package ID / Tracking #) │ │ │ ┌─ HL Loop - Item (HL03 = "I") │ │ │ │ HL Hierarchical Level │ │ │ │ LIN Item Identification │ │ │ │ SN1 Item Detail (units shipped) │ │ │ └─ │ │ └─ │ └─ └─ SE Transaction Set Trailer GE Group Trailer IEA Interchange Trailer
Option 2: BSN05 = 0004 (Shipment, Order, Item) — No Pack level
Same as above but without the Pack (P) HL level. Items are direct children of Orders.
Segment Overview
| Segment | Name | FLX Status | Notes |
|---|---|---|---|
| ST | Transaction Set Header | Required | ST01 = 856 |
| BSN | Beginning Segment | Required | BSN05 = 0001 (SOPI) or 0004 (SOI) |
| HL (S) | Shipment Level | Required | Top of hierarchy |
| TD5 | Carrier Details | Required | SCAC + service level code. Mandatory per FLX |
| REF (CN) | Carrier Tracking # | Situational | At shipment level. Mutually exclusive with MAN |
| DTM | Ship Date/Time | Situational | 011 = Actual ship date |
| N1 (SF) | Ship From | Situational | Code 92 = supplier number |
| HL (O) | Order Level | Required | One per PO |
| PRF | Purchase Order Reference | Required | PO number from original 850 |
| REF (CO) | Customer Order # | Situational | Echo from 850 N9 |
| REF (VN) | Vendor Order # | Situational | Vendor's internal reference |
| HL (P) | Pack Level | Situational | Required if BSN05=0001 |
| MAN (CP) | Tracking # at Pack Level | Situational | Mutually exclusive with REF (CN) at shipment level |
| HL (I) | Item Level | Required | One per line item |
| LIN | Item Identification | Required | UPC, EAN, or SKU |
| SN1 | Item Detail / Units Shipped | Required | Quantity and unit of measure |
| SE | Transaction Set Trailer | Required |
Tracking number placement: Use REFCN at shipment level (0004 hierarchy) OR MANCP at pack level (0001 hierarchy). Never both.
Segment Specifications
ST - Transaction Set Header
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| ST01 | Transaction Set ID Code | 3 ID | Required | 856 |
| ST02 | Transaction Set Control Number | 9 N | Required | Unique, incremented by 1 |
BSN - Beginning Segment for Ship Notice
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| BSN01 | Transaction Set Purpose Code | 2 ID | Required | 00 (Original) |
| BSN02 | Shipment Identification | 30 AN | Required | Unique control number assigned by supplier |
| BSN03 | Date | 8 DT | Required | CCYYMMDD |
| BSN04 | Time | 4 TM | Required | HHMM |
| BSN05 | Hierarchical Structure Code | 4 ID | Required | 0001 (S,O,P,I) or 0004 (S,O,I) |
HL - Shipment Level
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| HL01 | Hierarchical ID Number | 12 AN | Required | 1 (starts, increments with multiple orders) |
| HL03 | Hierarchical Level Code | 2 ID | Required | S (Shipment) |
TD5 - Carrier Details
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| TD502 | Identification Code Qualifier | 2 ID | Required | 2 (Standard Carrier Alpha Code / SCAC) |
| TD503 | Identification Code | 80 AN | Required | Carrier SCAC code. Max size 4 (e.g. UPSN for UPS) |
| TD512 | Service Level Code | 2 ID | Required | D3, ND, SC, SI, SP — match 850 TD5 |
IMPORTANT: If TD5 shipping provider is missing, the transaction FAILS validation.
REF - Carrier Tracking Number (Shipment Level)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| REF01 | Reference ID Qualifier | 3 ID | Required | CN (Carrier's Reference Number) |
| REF02 | Reference Identification | 30 AN | Required | Carrier's tracking number. NOTE: This segment OR MAN segment — mutually exclusive |
DTM - Date/Time
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| DTM01 | Date/Time Qualifier | 3 ID | Required | 011 (Shipped) |
| DTM02 | Date | 8 DT | Required | Date shipped (CCYYMMDD) |
| DTM03 | Time | 4 TM | Required | Time shipped (HHMM) |
N1 - Ship From Name
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| N101 | Entity Identifier Code | 3 ID | Required | SF (Ship From) |
| N103 | Identification Code Qualifier | 2 ID | Required | 92 (Assigned by Buyer or Buyer's Agent) |
| N104 | Identification Code | 80 AN | Required | FLX-assigned supplier number. Max size 10 |
HL - Order Level
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| HL01 | Hierarchical ID Number | 12 AN | Required | 2 (increments) |
| HL02 | Hierarchical Parent ID Number | 12 AN | Required | 1 (parent = shipment) |
| HL03 | Hierarchical Level Code | 2 ID | Required | O (Order) |
PRF - Purchase Order Reference
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| PRF01 | Purchase Order Number | 22 AN | Required | PO number from the BEG segment of the 850 |
REF - Customer Order Number (Order Level)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| REF01 | Reference ID Qualifier | 3 ID | Optional | CO (Customer Order Number) |
| REF02 | Reference Identification | 30 AN | Optional | Customer Order Number from N9 of the 850 |
REF - Vendor Order Number (Order Level)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| REF01 | Reference ID Qualifier | 3 ID | Optional | VN (Vendor Order Number) |
| REF02 | Reference Identification | 30 AN | Optional | Vendor's order number |
HL - Pack Level (Only for BSN05=0001)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| HL01 | Hierarchical ID Number | 12 AN | Required | 3 (increments) |
| HL02 | Hierarchical Parent ID Number | 12 AN | Required | Parent = order hierarchy |
| HL03 | Hierarchical Level Code | 2 ID | Required | P (Pack) |
MAN - Marks and Numbers (Pack Level)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| MAN01 | Marks and Numbers Qualifier | 2 ID | Required | CP (Carrier-Assigned Package ID) |
| MAN02 | Marks and Numbers | 48 AN | Required | Carrier's tracking number. NOTE: Mutually exclusive with Shipment-level REF*CN |
HL - Item Level
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| HL01 | Hierarchical ID Number | 12 AN | Required | Increments |
| HL02 | Hierarchical Parent ID Number | 12 AN | Required | Parent = order (0004) or pack (0001) |
| HL03 | Hierarchical Level Code | 2 ID | Required | I (Item) |
LIN - Item Identification
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| LIN01 | Line Number | 4 N | Optional | Starts at 1, incrementing |
| LIN02 | Prod/Serv ID Qualifier | 2 ID | Required | UP (UPC), EN (EAN), SK (SKU), or BP (Buyer's Part Number) |
| LIN03 | Prod/Serv ID | 30 AN | Required | MUST match the SKU/UPC/EAN sent in the 850 |
SN1 - Item Detail (Shipment)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| SN101 | Assigned Identification | 20 AN | Optional | Not Used |
| SN102 | Number of Units Shipped | 10 N | Required | Number of units shipped |
| SN103 | Unit of Measure | 2 ID | Required | EA (Each) |
SE - Transaction Set Trailer
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| SE01 | Number of Included Segments | 6 N | Required | Including ST and SE |
| SE02 | Transaction Set Control Number | 9 N | Required | Must match ST02 |
Validation Notes
FLX-Specific Requirements vs Generic X12
| Field | FLX Spec | Generic 004010 | Impact |
|---|---|---|---|
| TD5 | TD502, TD503, TD512 all M | TD502 M, TD503 M, TD512 O | FLX requires TD512 service level; some validators mark it optional |
| REF tracking | CN at shipment level OR MAN at pack | Same, mutually exclusive | Enforced strictly |
| N1 Ship-From | N101=SF, N103=92, N104=supplier# | N101=SF, N103=92, N104=ID | FLX uses supplier-specific N104 |
| BSN05 | 0001 or 0004 | 0001 or 0004 | Match |
Common Validation Failures
- Missing TD5 shipping provider — FAILS validation (SCAC code required)
- Missing TD512 service level — May fail depending on validator config; FLX requires it
- Sending both REFCN and MANCP — Should be mutually exclusive
- LIN03 not matching 850 item codes — Logical error, not structural
Example Files
Option #1: RECOMMENDED — One ASN with ST/SE per shipment, tracking at Pack level
ISA*00* *00* *ZZ*XXXXXX *ZZ*FLXPOINT *120116*0705*U*00401*000000004*0*P*>~GS*SH*XXXXXX*FLXPOINT*20180116*0705*253*X*004010VICS~ST*856*3936~BSN*00*1111111*20020718*0855*0001~HL*1**S~TD5**2*UPSN*********SI~DTM*011*20180116*0855~N1*SF**92*22222~HL*2*1*O~PRF*11123456~REF*CO*22123456780103~REF*VN*33333333333333333333~HL*3*2*P~MAN*CP*1ZE44444444444444~HL*4*3*I~LIN*0001*BP*055555555555~SN1**1*EA~SE*16*3936~ST*856*3937~BSN*00*11111111*20020718*1234*0001~HL*1**S~TD5**2*UPSN*********ND~DTM*011*20180116*1234~N1*SF**92*222222~HL*2*1*O~PRF*11123457~REF*CO*22123456780102~REF*VN*333333333333334444444~HL*3*2*P~MAN*CP*1ZE44444444888888~HL*4*3*I~LIN*0001*BP*055555555555~SN1**1*EA~HL*5*3*I~LIN*0002*BP*055555111111~SN1**1*EA~SE*19*3937~GE*2*253~IEA*1*000000004~
Option #3: Tracking number at Shipment Level (REF*CN)
ISA*00* *00* *ZZ*XXXXXX *ZZ*FLXPOINT *120116*0705*U*00401*000000022*0*P*>~GS*SH*XXXXXX*FLXPOINT*20180116*0705*253*X*004010VICS~ST*856*3936~BSN*00*11111111*20180116*2040*0004~HL*1**S~TD5**2*UPSN*********SC~REF*CN*1ZE55555222241598~DTM*011*20180116*2040~N1*SF**92*22222~HL*2*1*O~PRF*11123456~REF*CO*22123456780103~REF*VN*33333333333333333333~HL*3*2*I~LIN*0001*BP*055555555111~SN1**1*EA~HL*4**S~TD5**2*UPSN*********D3~REF*CN*1ZE55555222244444~DTM*011*20180116*2100~N1*SF**92*22222~HL*5*4*O~PRF*11123457~REF*CO*22123456780102~REF*VN*1111111145~HL*6*5*I~LIN*0001*BP*044444444444~SN1**2*EA~HL*7*5*I~LIN*0002*BP*044444422222~SN1**2*EA~SE*30*3936~GE*1*253~IEA*1*000000022~
Something unclear?
Ask our AI assistant — it knows this spec and can explain any segment, error, or rule in plain English.