Implementation reference
EDI 856 segments: a practical map from shipment header to packed item
An 856 is hierarchical rather than a flat record. The meaning and permitted use of a segment depends on the active HL loop and the trading partner’s implementation guide.
Direct answer: ST/SE identifies the transaction, BSN starts the ship notice, HL creates the Shipment–Order–Tare–Pack–Item tree, TD1/TD5 and REF/DTM describe transport, PRF identifies the PO, MAN identifies logistics units, LIN identifies items, and SN1 states shipped quantity. The current partner guide determines which occurrences and qualifiers are required.
Core segment sequence
| Segment | Name / role | Common failure |
|---|---|---|
| ST | Transaction Set Header | Wrong transaction type or control mismatch |
| BSN | Beginning Segment for Ship Notice | Reused/wrong shipment identity or purpose |
| HL | Hierarchical Level | Duplicate ID, missing/forward parent, wrong level |
| TD1 | Carrier Details—quantity/weight | Quantity, weight, or UOM contradicts manifest |
| TD5 | Carrier Details—routing | Carrier/method qualifier does not match shipment |
| REF | Reference Identification | BOL, PRO, ARN, or other reference missing/wrong |
| DTM | Date/Time Reference | Wrong qualifier, date, timezone, or movement |
| PRF | Purchase Order Reference | Item/carton tied to the wrong PO |
| MAN | Marks and Numbers | SSCC invalid, duplicated, or different from label |
| LIN | Item Identification | Wrong qualifier or product identifier |
| SN1 | Item Detail—Shipment | Quantity/UOM differs from actual pack |
| CTT | Transaction Totals | Count semantics do not match partner usage |
| SE | Transaction Set Trailer | Segment count or ST control mismatch |
BSN: notice identity and hierarchy purpose
BSN carries the transaction purpose, shipment identification, creation date/time, and often a hierarchy-structure code. IBM’s public 856 documentation shows the common mandatory BSN01–BSN04 shape; the partner guide determines permitted values and use of later elements.
Do not mint a new “original” identity for a replacement unless the documented workflow says to. Preserve the relationship between the preflighted bytes and submitted shipment ID.
HL: the structural spine
HL01 identifies the current node; HL02 points to its parent; HL03 states the level code. A valid tree is top-down: a parent appears before its children. The sequence of level codes is a summary, but the HL02 edges determine the actual tree.
HL*1**S~
HL*2*1*O~
HL*3*2*P~
HL*4*3*I~
See the dedicated multi-PO hierarchy guide before implementing crossed order/pallet structures.
TD1, TD5, REF, and DTM: the movement
TD1 can carry packaging quantity and weight details. TD5 can carry routing/carrier details. REF and DTM are repeatable containers whose meaning comes from their qualifiers. A syntactically correct value can still describe the wrong movement, which is why the preflight report separates format from reconciliation.
SAP’s current public 4010 guide, for example, documents specific TD1 weight usage for SAP Business Network. It is useful segment evidence but not an Amazon account requirement. Always keep source scope visible.
PRF, MAN, LIN, and SN1: the receiving connection
PRF connects detail to the purchase order. MAN commonly connects a pack or tare loop to an SSCC/container identifier. LIN identifies the item using a qualifier/value pair, and SN1 reports shipped quantity and unit.
These values need second-source comparisons:
- PRF and LIN against the accepted PO.
- SN1 against warehouse pack output.
- MAN against a decoded label scan.
- All rollups against carton/pallet closeout.
Segment-level reference pages
Shipment Sentry publishes database-backed pages for BSN, HL, TD1, TD5, REF, DTM, PRF, MAN, LIN, and SN1. Each is generated from structured facts with distinct examples, evidence scope, source URLs, and a relevant validator action. Thin segment-name permutations are not indexed.
Common questions
Is every segment in this table required?
No. ST, BSN, HL, and SE are structural anchors, but exact occurrences, qualifiers, and conditional requirements depend on the version and partner guide.
Can one segment appear at several hierarchy levels?
Yes. The active HL loop changes context. That is why “the file contains MAN” is not enough; the validator and operator must know which logistics unit the MAN value identifies.
Primary sources
Public sources cannot establish every account-specific EDI rule. Current Vendor Central documentation and your trading-partner agreement remain controlling.