An 856 Ship Notice/Manifest can be used to list the contents of a shipment of goods as well as additional information relating to the shipment, such as order information, product description, physical characteristics, type of packaging, marking, carrier information, and configuration of goods within the transportation equipment. The transaction set enables the sender to describe the contents and configuration of a shipment in various levels of detail and provides an ordered flexibility to convey information.
Update sender and receiver to test
If you want to use this example within your own test transaction, make sure you edit the sender (
ODF_SUPPLIER
) and receiver (ODF_BUYER
) ISA IDs.
Purchase Order Acknowledgment Example Transaction
{
"type": {
"name": "856_SHIP_NOTICE_MANIFEST"
},
"stream": "test",
"sender": {
"isaId": "ODF_SUPPLIER"
},
"receiver": {
"isaId": "ODF_BUYER"
},
"message": {
"transactionSets": [
{
"transactionSetHeader": [
{
"transactionSetIdentifierCode": "856",
"transactionSetControlNumber": "0001"
}
],
"beginningSegmentForShipNotice": [
{
"transactionSetPurposeCode": "06",
"shipmentIdentification": "CS416986",
"date": "20200828",
"time": "1528",
"hierarchicalStructureCode": "0001"
}
],
"HL_loop": [
{
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "1",
"hierarchicalParentIDNumber": "0",
"hierarchicalLevelCode": "S"
}
],
"carrierDetailsQuantityAndWeight": [
{
"packagingCode": "CAS",
"ladingQuantity": "2",
"weightQualifier": "G",
"weight": "4.5",
"unitOrBasisForMeasurementCode": "LB"
}
],
"carrierDetailsRoutingSequenceTransitTime": [
{
"identificationCodeQualifier": "2",
"identificationCode": "UPSN",
"transportationMethodTypeCode": "M"
}
],
"referenceInformation": [
{
"referenceIdentificationQualifier": "BM",
"referenceIdentification": "1428224027"
}
],
"dateTimeReference": [
{
"dateTimeQualifier": "011",
"date": "20200828"
}
],
"N1_loop": [
{
"partyIdentification": [
{
"entityIdentifierCode": "ST",
"name": "ODF BUYER MAIN STORE"
}
],
"partyLocation": [
{
"addressInformation": "1207 WASHINGTON RD"
}
],
"geographicLocation": [
{
"cityName": "SEATTLE",
"stateOrProvinceCode": "WA",
"postalCode": "98101"
}
]
},
{
"partyIdentification": [
{
"entityIdentifierCode": "BT",
"name": "ODF Buyer HQ"
}
],
"partyLocation": [
{
"addressInformation": "1119 BUSH STREET"
}
],
"geographicLocation": [
{
"cityName": "SAN FRANCISCO",
"stateOrProvinceCode": "CA",
"postalCode": "94101"
}
]
}
]
},
{
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "2",
"hierarchicalParentIDNumber": "1",
"hierarchicalLevelCode": "O"
}
],
"purchaseOrderReference": [
{
"purchaseOrderNumber": "PO123456789"
}
]
},
{
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "3",
"hierarchicalParentIDNumber": "2",
"hierarchicalLevelCode": "P"
}
],
"itemPhysicalDetails": [
{
"pack": "1"
}
],
"marksAndNumbersInformation": [
{
"marksAndNumbersQualifier": "GM",
"marksAndNumbers": "1P16W9860799769997",
"marksAndNumbersQualifier1": "CP",
"marksAndNumbers1": "1Z75R4270395867008"
}
]
},
{
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "4",
"hierarchicalParentIDNumber": "3",
"hierarchicalLevelCode": "I"
}
],
"itemIdentification": [
{
"assignedIdentification": "2",
"productServiceIDQualifier": "UP",
"productServiceID": "711719100246",
"productServiceIDQualifier1": "VN",
"productServiceID1": "009A"
}
],
"itemDetailShipment": [
{
"assignedIdentification": "2",
"numberOfUnitsShipped": "48",
"unitOrBasisForMeasurementCode": "CA",
"quantity": "48",
"unitOrBasisForMeasurementCode1": "EA",
"lineItemStatusCode": "AC"
}
],
"itemPhysicalDetails": [
{
"pack": "1.0",
"weightQualifier": "N",
"grossWeightPerPack": "4.5",
"unitOrBasisForMeasurementCode1": "lb",
"innerPack": "4"
}
],
"productItemDescription": [
{
"itemDescriptionTypeCode": "F",
"description": "SUNGLASSES VERMILLION (E16249)"
}
]
}
],
"transactionTotals": [
{
"numberOfLineItems": "1"
}
],
"transactionSetTrailer": [
{
"transactionSetControlNumber": "0001"
}
]
}
]
}
}
ISA*00* *00* *ZZ*JAKUBTEST *12*8559651887 *220421*1540*^*00501*000000021*0*T*>~
GS*PR*JAKUBTEST*8559651887*20220421*1540*21*X*005010~
ST*856*0001~
BSN*06*CS416986*20200828*1528*0001~
HL*1*0*S~
TD1*CAS*2****G*4.5*LB~
TD5**2*UPSN*M~
REF*BM*1428224027~
DTM*011*20200828~
N1*ST*ODF BUYER MAIN STORE~
N3*1207 WASHINGTON RD~
N4*SEATTLE*WA*98101~
N1*BT*ODF Buyer HQ~
N3*1119 BUSH STREET~
N4*SAN FRANCISCO*CA*94101~
HL*2*1*O~
PRF*PO123456789~
HL*3*2*P~
PO4*1~
MAN*GM*1P16W9860799769997*1Z75R4270395867008*CP~
HL*4*3*I~
LIN*2*UP*711719100246*VN*009A~
SN1*2*48*CA**48*EA**AC~
PO4*1.0****N*4.5*lb*******4~
PID*F****SUNGLASSES VERMILLION (E16249)~
CTT*1~
SE*25*0001~
GE*1*21~
IEA*1*000000021~
BSN Beginning Segment for Ship Notice
The Beginning Segment for Ship Notice (BSN
) segment provides information about the purpose of the Ship Notice, an identification code for the shipment, as well as how the date it was created and the structure of the document.
In this case it is a confirmation (06
) with the identifier CS416986
and a structure of 0001
which means the order of the Hierarchical Levels is Shipment, Order, Packaging, Item
. This is known as a "Pick-Pack" ASN.
A "Pick-Pack" order has one or many items per carton and a SOPI (Ship, Order, Pack, Item) hierarchy. As another example, a "Standard Pack" order has one or many cartons per item and a SOIP (Ship, Order, Item, Pack) hierarchy.
"beginningSegmentForShipNotice": [
{
"transactionSetPurposeCode": "06",
"shipmentIdentification": "CS416986",
"date": "20200828",
"time": "1528",
"hierarchicalStructureCode": "0001"
}
]
BSN*06*CS416986*20200828*1528*0001~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
transactionSetPurposeCode | BSN01 | 06 | Code identifying purpose of transaction set. 06 means "Confirmation". |
shipmentIdentification | BSN02 | CS416986 | A unique control number assigned by the original shipper to identify a specific shipment |
date | BSN03 | 20200828 | The date this transaction set was created in CCYYMMDD format |
time | BSN04 | 1528 | The time this transation set was created in HHMMSSDD format |
hierarchicalStructureCode | BSN05 | 0001 | A code indicating the hierarchical structure of this transaction set. 0001 means this ASN has an SOPI HL loop structure which is usually called a "Pick and Pack ASN". |
HL Loop Hierarchical Level Loop
This is the main part of the document, containing four Hierarchical Loops with the Shipment, Order, Packaging, Item structure specified in the BSN
. Each loop has a number as well as a level code, and also indicates the number of its parent HL loop.
This example document shows a "Pick-Pack" structure with one or many items per carton, and so the HL Loops have the SOPI structure:
HL1: Shipment
- N1 Loop with Ship To/Ship From contact info
HL2: Order
HL3: Packaging
HL4: Item
- N1 loop with Bill to
HL Hierarchical Level 1 - Shipment Info
This Hierarchical Level (HL
) segment has a hierarchicalLevelCode
value S
which means it contains shipping information. Its hierarchicalIDNumber
is 1
and its hierarchicalParentIDNumber
is 0
, which means it is the first level.
All of the segments between here and the next HL
segment contain information about this level.
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "1",
"hierarchicalParentIDNumber": "0",
"hierarchicalLevelCode": "S"
}
]
HL*1*0*S~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
hierarchicalIDNumber | HL01 | 1 | The ID number of this Level. |
hierarchicalParentIDNumber | HL02 | 0 | The ID number of the parent Level. In this case there isn't one, so the value is 0 . |
hierarchicalLevelCode | HL03 | S | A code indicating what information this Level contains. In this case S means it contains shipping information. |
TD1 Level 1 Carrier Details (Quantity and Weight)
This segment contains transportation details about the shipments quantity and weight.
"carrierDetailsQuantityAndWeight": [
{
"packagingCode": "CAS",
"ladingQuantity": "2",
"weightQualifier": "G",
"weight": "4.5",
"unitOrBasisForMeasurementCode": "LB"
}
]
TD1*CAS*2****G*4.5*LB~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
packagingCode | TD101 | CAS | Code identifying the type of packaging. In this CAS means "Case". |
ladingQuantity | TD102 | 2 | Number of units of the lading commodity. |
weightQualifier | TD106 | G | Describes the weight measure. G means "Gross Weight". |
weight | TD107 | 4.5 | The weight. Based on the qualifier and unit code we know this is the gross weight in pounds. |
unitOrBasisForMeasurementCode | TD108 | LB | Describes the unit used for weight. LB means "Pound". |
TD5 Level 1 Carrier Details (Routing Sequence/Transit Time)
This segment contains information about the shipment's carrier and routing.
"carrierDetailsRoutingSequenceTransitTime": [
{
"identificationCodeQualifier": "2",
"identificationCode": "UPSN",
"transportationMethodTypeCode": "M",
}
]
TD5**2*UPSN*M~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
identificationCodeQualifier | TD502 | 2 | Describes the carrier identification code. 2 means "Standard Carrier Alpha Code (SCAC)". |
identificationCode | TD503 | UPSN | The identification code of the carrier. Based on the qualifier we know this is a SCAC code. |
transportationMethodTypeCode | TD504 | M | The transportation method. M means "Motor (Common Carrier) |
REF Level 1 Reference Information
Reference number for this Level.
"referenceInformation": [
{
"referenceIdentificationQualifier": "BM",
"referenceIdentification": "1428224027"
}
]
REF*BM*1428224027~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
referenceIdentificationQualifier | REF01 | VN | Describes the reference code value. BM means "Bill of Lading". |
referenceIdentification | REF02 | 1428224027 | The reference identification. |
DTM Level 1 Date/Time Reference
The Date/Time Reference information for this Level.
"dateTimeReference": [
{
"dateTimeQualifier": "011",
"date": "20200828"
}
]
DTM*011*20200828~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
dateTimeQualifier | DTM01 | 011 | Describes the date. 011 means "Shipped" |
date | DTM02 | 20200828 | The date for this Level. Based on the qualifier we know this is the date the items were shipped. |
N1 Loop for Level 1
These loops contains "Ship To" and "Bill To" party information for this shipment.
Only the first loop is described below.
"N1_loop": [
{
"partyIdentification": [
{
"entityIdentifierCode": "ST",
"name": "ODF BUYER MAIN STORE"
}
],
"partyLocation": [
{
"addressInformation": "1207 WASHINGTON RD"
}
],
"geographicLocation": [
{
"cityName": "SEATTLE",
"stateOrProvinceCode": "WA",
"postalCode": "98101"
}
]
}
...
]
N1*ST*ODF BUYER MAIN STORE~
N3*1207 WASHINGTON RD~
N4*SEATTLE*WA*98101~
N1 Party Identification
The "Ship To" party's information.
"partyIdentification": [
{
"entityIdentifierCode": "ST",
"name": "ODF BUYER MAIN STORE"
}
]
N1*ST*ODF BUYER MAIN STORE~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
entityIdentifierCode | N101 | ST | A description of the party identified here. ST means "Ship to". |
name | N102 | ODF BUYER MAIN STORE | The name of the party. |
N3 Party Location
The first part of the "Ship To" party's location.
"partyLocation": [
{
"addressInformation": "1207 WASHINGTON RD"
}
]
N3*1207 WASHINGTON RD~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
addressInformation | N301 | 1207 WASHINGTON RD | The first part of the party's address. |
N4 Geographic Location
The second part of the "Ship To" party's location.
"geographicLocation": [
{
"cityName": "SEATTLE",
"stateOrProvinceCode": "WA",
"postalCode": "98101"
}
]
N4*SEATTLE*WA*98101~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
cityName | N401 | SEATTLE | The "Ship To" party's city name. |
stateOrProvinceCode | N402 | WA | The "Ship To" party's state or province code. |
postalCode | N403 | 98101 | The "Ship To" party's postal code. |
HL Hierarchical Level 2 - Order Info
This Hierarchical Level (HL
) segment has a hierarchicalLevelCode
value O
which means it contains order information. Its hierarchicalIDNumber
is 2
and its hierarchicalParentIDNumber
is 1
, which means it is the second level and it is nested under Level 1.
All of the segments between here and the next HL
segment contain information about this level.
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "2",
"hierarchicalParentIDNumber": "1",
"hierarchicalLevelCode": "O"
}
]
HL*2*1*O~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
hierarchicalIDNumber | HL01 | 2 | The ID number of this Level. |
hierarchicalParentIDNumber | HL02 | 1 | The ID number of the parent Level. |
hierarchicalLevelCode | HL03 | O | A code indicating what information this Level contains. In this case O means it contains Order information. |
PRF Level 2 Purchase Order Reference
The Purchase Order information related to this order.
"purchaseOrderReference": [
{
"purchaseOrderNumber": "PO123456789",
}
]
PRF*PO123456789~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
purchaseOrderNumber | PRF01 | PO123456789 | The purchase order number associated with this order. |
HL Hierarchical Level 3 - Packaging Info
This Hierarchical Level (HL
) segment has a hierarchicalLevelCode
value P
which means it contains packaging information. Its hierarchicalIDNumber
is 3
and its hierarchicalParentIDNumber
is 2
, which means it is the third level.
All of the segments between here and the next HL
segment contain information about this level.
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "3",
"hierarchicalParentIDNumber": "2",
"hierarchicalLevelCode": "P"
}
]
HL*3*2*P~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
hierarchicalIDNumber | HL01 | 3 | The ID number of this Level. |
hierarchicalParentIDNumber | HL02 | 2 | The ID number of the parent Level. |
hierarchicalLevelCode | HL03 | P | A code indicating what information this Level contains. In this case P means it contains packaging information. |
PO4 Level 3 Item Physical Details
These are the physical details of the packaging.
"itemPhysicalDetails": [
{
"pack": "1"
}
]
PO4*1~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
pack | P0401 | 1 | The number of inner containers. |
Level 3 Marks and Numbers Information
These are the Package-level marks and numbers. In this case it specifies the carrier's packing ID number.
"marksAndNumbersInformation": [
{
"marksAndNumbersQualifier": "GM",
"marksAndNumbers": "1P16W9860799769997",
"marksAndNumbersQualifier1": "CP",
"marksAndNumbers1": "1Z75R4270395867008"
}
]
MAN*GM*1P16W9860799769997*1Z75R4270395867008*CP~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
marksAndNumbersQualifier | MAN01 | GM | This describes the next number. GM means "SSCC-18 and Application Identifier" |
marksAndNumbers | MAN02 | 1Z75R4270395867008 | These are the specified marks and numbers. Based on the qualifier we know this is the SSCC-18 and Application Identifier. |
marksAndNumbersQualifier | MAN03 | CP | This describes the marks and numbers. CP means "Carrier-Assigned Package ID Number" |
marksAndNumbers | MAN04 | 1Z75R4270395867008 | These are the specified marks and numbers. Based on the qualifier we know this is the Carrier-Assigned Package ID Number. |
HL Hierarchical Level 4 - Item Info
This Hierarchical Level (HL
) segment has a hierarchicalLevelCode
value I
which means it contains item information. Its hierarchicalIDNumber
is 4
and its hierarchicalParentIDNumber
is 3
, which means it is the fourth level.
All of the following segments contain information about this level.
"hierarchicalLevel": [
{
"hierarchicalIDNumber": "4",
"hierarchicalParentIDNumber": "3",
"hierarchicalLevelCode": "I"
}
]
HL*4*3*I~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
hierarchicalIDNumber | HL01 | 4 | The ID number of this Level. |
hierarchicalParentIDNumber | HL02 | 3 | The ID number of the parent Level. |
hierarchicalLevelCode | HL03 | I | A code indicating what information this Level contains. In this case I means it contains item information. |
LIN Level 4 Item Identification
The identification information for the item level.
"itemIdentification": [
{
"assignedIdentification": "2",
"productServiceIDQualifier": "UP",
"productServiceID": "711719100246",
"productServiceIDQualifier1": "VN",
"productServiceID1": "009A"
}
]
LIN*2*UP*711719100246*VN*009A~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
assignedIdentification | LIN01 | 2 | The line number of the item. |
productServiceIDQualifier | LIN02 | UP | This describes the Product Service ID, in this case it identifies the ID as a UPC code (UP ). |
productServiceID | LIN03 | 711719100246 | This specifies the UPC code. It matches the corresponding code in the Purchase Order. |
productServiceIDQualifier1 | LIN04 | VN | This describes the additional Product Service ID, in this case it identifies the ID as a Vendor Number (VN ). |
productServiceID1 | LIN05 | 009A | This specifies the Vendor Number. It matches the corresponding code in the Purchase Order. |
SN1 Level 4 Item Detail (Shipment)
The shipment information for the item level.
"itemDetailShipment": [
{
"assignedIdentification": "2",
"numberOfUnitsShipped": "48",
"unitOrBasisForMeasurementCode": "CA",
"quantity": "120",
"unitOrBasisForMeasurementCode1": "EA",
"lineItemStatusCode": "AC"
}
]
SN1*2*48*CA**48*EA**AC~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
assignedIdentification | SN101 | 2 | The line number for this item. |
numberOfUnitsShipped | SN102 | 48 | The number of units of this item that were shipped. |
unitOrBasisForMeasurementCode | SN103 | CA | This code indicates the unit measurement. CA means "Case". |
quantity | SN105 | 48 | This is the quantity ordered. It should match the initial Purchase Order for this item. |
unitOrBasisForMeasurementCode1 | SN106 | EA | This describes the unit used for the quantity field. |
lineItemStatusCode | SN108 | AC | The code indicating that action taken for this line item. AC means "Accepted". |
PO4 Level 4 Item Physical Details
The physical details for the item level.
"itemPhysicalDetails": [
{
"pack": "1.0",
"weightQualifier": "N",
"grossWeightPerPack": "4.5",
"unitOrBasisForMeasurementCode1": "lb",
"innerPack": "4"
}
]
PO4*1.0****N*4.5*lb*******4~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
pack | P0401 | 1.0 | The number of inner containers or eaches per outer container. |
weightQualifier | P0405 | N | N means "Actual Net Weight" |
grossWeightPerPack | P0406 | 4.5 | The gross weight per pack. |
unitOrBasisForMeasurementCode1 | P0407 | lb | The unit used for the weight measurement. |
innerPack | P0414 | 4 | The number of eaches per inner container. |
PID Level 4 Product/Item Description
The product description for the item level.
"productItemDescription": [
{
"itemDescriptionTypeCode": "F",
"description": "SUNGLASSES VERMILLION (E16249)"
}
]
PID*F****SUNGLASSES VERMILLION (E16249)~
JSON Element | X12 Element | Value | Description |
---|---|---|---|
itemDescriptionTypeCode | PID01 | F | Specifies the type of description. F means "Free-form". |
description | PID05 | SUNGLASSES VERMILLION (E16249) | The description of the item. |
Purchase Order Structure
"interchangeControlHeader", //Interchange Control Header (Optional for JSON)
"functionalGroupHeader", //Functional Group Header (Optional for JSON)
"transactionSets":
"transactionSetHeader", //Transaction Set Header (Optional for JSON)
"beginningSegmentForShipNotice", //Beginning Segment for Advanced Ship Notice
"HL_loop"
"hierarchicalLevel", //Hierarchical Level (HL) 1 - Shipment info
"carrierDetailsQuantityAndWeight", //Carrier Details - Quantity and Weight
"carrierDetailsRoutingSequenceTransitTime", //Carrier Details - Routing Sequence & Transit Time
"referenceInformation", //Reference Information
"dateTimeReference", //Date/Time Reference
"N1_loop": //N1 Loop (2 iterations)
"partyIdentification", //Party Identification
"partyLocation", //Party Location
"geographicLocation" //Geographic Location
"hierarchicalLevel", //HL 2 - Order info
"purchaseOrderReference", //Purchase Order Reference
"hierarchicalLevel", //HL 3 - Packaging info
"itemPhysicalDetails", //Item Physical Details
"marksAndNumbersInformation", //Marks and Numbers Information
"hierarchicalLevel", //HL 4 - Item info
"itemIdentification", //Item Identification
"itemDetailShipment", //Item Detail Shipment
"itemPhysicalDetails", //Item Physical Details
"productItemDescription", //Product Item Description
"carrierDetailsQuantityAndWeight", //Carrier Details - Quantity & Weight
"carrierDetailsRoutingSequenceTransitTime", //Carrier Details - Routing Sequence & Transit Time
"referenceInformation", //Reference Information
"marksAndNumbersInformation", //Marks and Numbers Information
"N1_loop" //N1 Loop (1 iteration)
"partyIdentification" //Party Identification
"transactionTotals", //Transaction Totals
"transactionSetTrailer" //Transaction Set Trailer
ISA //Interchange Control Header
.GS //Functional Group Header
..ST //Transaction Set Header
..BSN //Beginning Segment for Advanced Ship Notice
..HL //Hierarchical Level (HL) 1 - Shipment info
...TD1 //Carrier Details - Quantity and Weight
...TD5 //Carrier Details - Routing Sequence & Transit Time
...REF //Reference Information
...DTM //Date/Time Reference
...N1 //N1 Loop (2 iterations)
...N3 //Party Identification
...N4 //Party Location
....HL //HL 2 - Order info
....PRF //Purchase Order Reference
.....HL //HL 3 - Packaging info
.....PO4 //Item Physical Details
.....MAN //Marks and Numbers Information
......HL //HL 4 - Item info
......LIN //Item Identification
......SN1 //Item Detail Shipment
......PO4 //Item Physical Details
......PID //Product Item Description
......CTT //Transaction Totals
..SE //Transaction Set Trailer
.GE //Functional Group Trailer
IEA //Interchange Control Trailer