856

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) or 0004 (S, O, I)

Segment Hierarchy

code
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

code
Same as above but without the Pack (P) HL level.
Items are direct children of Orders.

Segment Overview

SegmentNameFLX StatusNotes
STTransaction Set HeaderRequiredST01 = 856
BSNBeginning SegmentRequiredBSN05 = 0001 (SOPI) or 0004 (SOI)
HL (S)Shipment LevelRequiredTop of hierarchy
TD5Carrier DetailsRequiredSCAC + service level code. Mandatory per FLX
REF (CN)Carrier Tracking #SituationalAt shipment level. Mutually exclusive with MAN
DTMShip Date/TimeSituational011 = Actual ship date
N1 (SF)Ship FromSituationalCode 92 = supplier number
HL (O)Order LevelRequiredOne per PO
PRFPurchase Order ReferenceRequiredPO number from original 850
REF (CO)Customer Order #SituationalEcho from 850 N9
REF (VN)Vendor Order #SituationalVendor's internal reference
HL (P)Pack LevelSituationalRequired if BSN05=0001
MAN (CP)Tracking # at Pack LevelSituationalMutually exclusive with REF (CN) at shipment level
HL (I)Item LevelRequiredOne per line item
LINItem IdentificationRequiredUPC, EAN, or SKU
SN1Item Detail / Units ShippedRequiredQuantity and unit of measure
SETransaction Set TrailerRequired

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

ElementNameLengthM/OValue/Notes
ST01Transaction Set ID Code3 IDRequired856
ST02Transaction Set Control Number9 NRequiredUnique, incremented by 1

BSN - Beginning Segment for Ship Notice

ElementNameLengthM/OValue/Notes
BSN01Transaction Set Purpose Code2 IDRequired00 (Original)
BSN02Shipment Identification30 ANRequiredUnique control number assigned by supplier
BSN03Date8 DTRequiredCCYYMMDD
BSN04Time4 TMRequiredHHMM
BSN05Hierarchical Structure Code4 IDRequired0001 (S,O,P,I) or 0004 (S,O,I)

HL - Shipment Level

ElementNameLengthM/OValue/Notes
HL01Hierarchical ID Number12 ANRequired1 (starts, increments with multiple orders)
HL03Hierarchical Level Code2 IDRequiredS (Shipment)

TD5 - Carrier Details

ElementNameLengthM/OValue/Notes
TD502Identification Code Qualifier2 IDRequired2 (Standard Carrier Alpha Code / SCAC)
TD503Identification Code80 ANRequiredCarrier SCAC code. Max size 4 (e.g. UPSN for UPS)
TD512Service Level Code2 IDRequiredD3, ND, SC, SI, SP — match 850 TD5

IMPORTANT: If TD5 shipping provider is missing, the transaction FAILS validation.

REF - Carrier Tracking Number (Shipment Level)

ElementNameLengthM/OValue/Notes
REF01Reference ID Qualifier3 IDRequiredCN (Carrier's Reference Number)
REF02Reference Identification30 ANRequiredCarrier's tracking number. NOTE: This segment OR MAN segment — mutually exclusive

DTM - Date/Time

ElementNameLengthM/OValue/Notes
DTM01Date/Time Qualifier3 IDRequired011 (Shipped)
DTM02Date8 DTRequiredDate shipped (CCYYMMDD)
DTM03Time4 TMRequiredTime shipped (HHMM)

N1 - Ship From Name

ElementNameLengthM/OValue/Notes
N101Entity Identifier Code3 IDRequiredSF (Ship From)
N103Identification Code Qualifier2 IDRequired92 (Assigned by Buyer or Buyer's Agent)
N104Identification Code80 ANRequiredFLX-assigned supplier number. Max size 10

HL - Order Level

ElementNameLengthM/OValue/Notes
HL01Hierarchical ID Number12 ANRequired2 (increments)
HL02Hierarchical Parent ID Number12 ANRequired1 (parent = shipment)
HL03Hierarchical Level Code2 IDRequiredO (Order)

PRF - Purchase Order Reference

ElementNameLengthM/OValue/Notes
PRF01Purchase Order Number22 ANRequiredPO number from the BEG segment of the 850

REF - Customer Order Number (Order Level)

ElementNameLengthM/OValue/Notes
REF01Reference ID Qualifier3 IDOptionalCO (Customer Order Number)
REF02Reference Identification30 ANOptionalCustomer Order Number from N9 of the 850

REF - Vendor Order Number (Order Level)

ElementNameLengthM/OValue/Notes
REF01Reference ID Qualifier3 IDOptionalVN (Vendor Order Number)
REF02Reference Identification30 ANOptionalVendor's order number

HL - Pack Level (Only for BSN05=0001)

ElementNameLengthM/OValue/Notes
HL01Hierarchical ID Number12 ANRequired3 (increments)
HL02Hierarchical Parent ID Number12 ANRequiredParent = order hierarchy
HL03Hierarchical Level Code2 IDRequiredP (Pack)

MAN - Marks and Numbers (Pack Level)

ElementNameLengthM/OValue/Notes
MAN01Marks and Numbers Qualifier2 IDRequiredCP (Carrier-Assigned Package ID)
MAN02Marks and Numbers48 ANRequiredCarrier's tracking number. NOTE: Mutually exclusive with Shipment-level REF*CN

HL - Item Level

ElementNameLengthM/OValue/Notes
HL01Hierarchical ID Number12 ANRequiredIncrements
HL02Hierarchical Parent ID Number12 ANRequiredParent = order (0004) or pack (0001)
HL03Hierarchical Level Code2 IDRequiredI (Item)

LIN - Item Identification

ElementNameLengthM/OValue/Notes
LIN01Line Number4 NOptionalStarts at 1, incrementing
LIN02Prod/Serv ID Qualifier2 IDRequiredUP (UPC), EN (EAN), SK (SKU), or BP (Buyer's Part Number)
LIN03Prod/Serv ID30 ANRequiredMUST match the SKU/UPC/EAN sent in the 850

SN1 - Item Detail (Shipment)

ElementNameLengthM/OValue/Notes
SN101Assigned Identification20 ANOptionalNot Used
SN102Number of Units Shipped10 NRequiredNumber of units shipped
SN103Unit of Measure2 IDRequiredEA (Each)

SE - Transaction Set Trailer

ElementNameLengthM/OValue/Notes
SE01Number of Included Segments6 NRequiredIncluding ST and SE
SE02Transaction Set Control Number9 NRequiredMust match ST02

Validation Notes

FLX-Specific Requirements vs Generic X12

FieldFLX SpecGeneric 004010Impact
TD5TD502, TD503, TD512 all MTD502 M, TD503 M, TD512 OFLX requires TD512 service level; some validators mark it optional
REF trackingCN at shipment level OR MAN at packSame, mutually exclusiveEnforced strictly
N1 Ship-FromN101=SF, N103=92, N104=supplier#N101=SF, N103=92, N104=IDFLX uses supplier-specific N104
BSN050001 or 00040001 or 0004Match

Common Validation Failures

  1. Missing TD5 shipping provider — FAILS validation (SCAC code required)
  2. Missing TD512 service level — May fail depending on validator config; FLX requires it
  3. Sending both REFCN and MANCP — Should be mutually exclusive
  4. LIN03 not matching 850 item codes — Logical error, not structural

Example Files

EDI · 004010VICS
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)

EDI · 004010VICS
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.