The X12 856 advanced shipment notice (ASN) request payload sends an ASN from your system, such as your eCommerce platform or ERP system, to the TradeCentric platform so that we can deliver the ASN to the buyer's eProcurement system. For standard integrations that send EDI payloads, we accept ASNs in our standard EDI format.
This article describes the standard EDI format to use for this payload.
The code block below shows an example ASN request payload in our standard EDI format:
Envelope
Contains the entire payload and provides the general identifying information described in the subsections below
ISA - Interchange control header
Required Max use: 1
Provides identifying information about the payload
Example
ISA*00* *00* *ZZ*SUPPLIER_INC *ZZ*TEST_CORP *221220*1057*U*00401*000000003*0*P*>~
ISA field breakdown
-
ISA-01
Authorization information qualifier
RequiredType: String (ID)Length: 2
Specifies the type of authorization information included
Example: 00 = no authorization information is included
-
ISA-02
Authorization information
RequiredType: String (AN)Length: 10
Provides the authorization value when authorization information is included
Example: = 10 spaces to indicate that the authorization information is blank
-
ISA-03
Security information qualifier
RequiredType: String (ID)Length: 2
Specifies the type of security information included
Example: 00 = no security information is included
-
ISA-04
Security information
RequiredType: String (AN)Length: 10
Provides the security value when security information is included
Example: = 10 spaces to indicate that the security information is blank
-
ISA-05
Sender qualifier
RequiredType: String (ID)Length: 2
Specifies the type of sender identifier provided
Example: ZZ = mutually defined by buyer and supplier
-
ISA-06
Sender identifier
RequiredType: String (AN)Length: 15
Provides the sender identifier
Example: SUPPLIER_INC
-
ISA-07
Receiver qualifier
RequiredType: String (ID)Length: 2
Specifies the type of receiver identifier provided
Example: ZZ = mutually defined by buyer and supplier
-
ISA-08
Receiver identifier
RequiredType: String (AN)Length: 15
Provides the receiver identifier
Example: TEST_CORP
-
ISA-09
Interchange date
RequiredFormat: YYMMDD
Provides the date when the payload was created
Example: 221220 = December 20, 2022
-
ISA-10
Interchange time
RequiredFormat: HHMM
Provides the time when the payload was created
Example: 1057 = 10:57
-
ISA-11
Interchange control standards identifier
RequiredType: String (ID)Length: 1
Specifies the standards organization that defines the format used for the payload
Example: U = U.S. EDI Community of ASC X12, TDCC, and UCS
-
ISA-12
Interchange control version code
RequiredType: String (ID)Length: 5
Specifies the X12 version used for the payload
Example: 00401
-
ISA-13
Interchange control number
RequiredType: Numeric (N0)Length: 9
Provides a unique control number for the payload
Example: 000000003
-
ISA-14
Acknowledgment requested
RequiredType: String (ID)Length: 1
Specifies whether your organization requests an acknowledgment that the buyer received this document
Values: 0 = no acknowledgment requested, 1 = acknowledgment requested
-
ISA-15
Interchange usage indicator code
RequiredType: String (ID)Length: 1
Indicates how the receiver should process the payload
Example: P = production data
Other codes: T = test data, I = informational data
-
ISA-16
Component element separator
RequiredType: DelimiterLength: 1
Specifies the unique character used to separate multiple values within one field
Example: >
GS - Functional group header
Required Max use: 1
Assigns a functional group to the ASN in the payload
Important: Send only one functional group per payload. Otherwise, errors in one group can affect the other groups in the payload.
Example
GS*SH*SUPPLIER_INC*TEST_CORP*20221220*1057*3*X*004010~
GS field breakdown
-
GS-01
Functional identifier code
RequiredType: String (ID)Length: 2
Specifies the transaction type for the group
Must be SH
-
GS-02
Application sender's code
RequiredType: String (AN)Length: 2-15
Provides the sender code for the group
Example: SUPPLIER_INC
-
GS-03
Application receiver's code
RequiredType: String (AN)Length: 2-15
Provides the receiver code for the group
Example: TEST_CORP
-
GS-04
Group date
RequiredFormat: YYYYMMDD
Provides the date when the group was created
Example: 20221220 = December 20, 2022
-
GS-05
Group time
RequiredFormat: HHMM
Provides the time when the group was created
Example: 1057 = 10:57
-
GS-06
Group control number
RequiredType: Numeric (N0)Length: 1-9
Provides the unique control number that your organization generated for the group
Example: 3
-
GS-07
Responsible agency code
RequiredType: String (ID)Length: 1
Specifies the standards organization that defines the format used for the group
Must be X
-
GS-08
Version or release code
RequiredType: String (AN)Length: 1-12
Provides the X12 version used for the group
Example: 004010
Back to top
Heading
Starts the ASN and provides the identifying information and shipment dates described in the subsections below
ST - Transaction set header
Required Max use: 1
Starts the ASN document
Important: Send only one transaction set, meaning one document, per payload. Otherwise, errors in one document can affect the other documents in the payload.
ST field breakdown
-
ST-01
Transaction set identifier code
RequiredType: String (ID)Length: 3
Specifies the transaction type
Must be 856
-
ST-02
Transaction set control number
RequiredType: String (AN)Length: 4-9
Provides the control number that your organization generated for the transaction set
Example: 0001
BSN - Beginning segment for ASN
Required Max use: 1
Provides identifying information about the ASN
Example
BSN*00*ASN-PO-123*20221220*1057~
BSN field breakdown
-
BSN-01
Transaction set purpose code
RequiredType: String (ID)Length: 2
Specifies the purpose of the transaction set
Example: 00 = original
Other common codes: 01 = cancellation, 05 = replacement, 07 = duplicate
-
BSN-02
ASN identifier
RequiredType: String (AN)
Provides the ASN identifier that your organization generated
Example: ASN-PO-123
-
BSN-03
ASN date
RequiredFormat: YYYYMMDD
Provides the date when the ASN was created
Example: 20221220 = December 20, 2022
-
BSN-04
ASN time
RequiredFormat: HHMM
Provides the time when the ASN was created
Example: 1057 = 10:57
DTM - Date and time reference
Optional Max use: 10
Provides relevant dates for the ASN shipment
Example
DTM*011*20221220~
DTM*017*20221225~
DTM field breakdown
-
DTM-01
Date or time qualifier
Required if DTM is usedType: String (ID)Length: 3
Specifies the type of date provided
Example: 011 = actual shipping date
Other common codes: 010 = shipping requested on date, 067 = delivery currently scheduled on date, 068 = shipping currently scheduled on date
-
DTM-02
Date
Required if DTM is usedFormat: YYYYMMDD
Provides the date
Example: 20221220 = December 20, 2022
Back to top
Detail
Provides the ASN shipment, order, package, and item details described in the subsections below
Note: Each HL segment starts a new section and groups the following segments until the next HL segment starts. In the example payload, the shipment section contains the order section, the order section contains the package section, and the package section contains the item section.
HL loop - Hierarchical level
Required Max use: 200000
Starts the shipment section, then starts each order, package, or item section included in that shipment
Note: Use the first HL loop for the shipment section. Then, repeat this loop as needed for each order, package, or line item included in the shipment.
Example
HL*1**S~
HL*2*1*O~
HL*3*2*P~
HL*4*3*I~
HL field breakdown
-
HL-01
Hierarchical identifier
RequiredType: String (AN)Length: 1-12
Provides a unique identifier for the hierarchical section
Example: 1
-
HL-02
Hierarchical parent identifier
Required except for shipment sectionType: String (AN)
Provides the identifier for the hierarchical section that contains this section
Example: 1 = section 1, which is the shipment, contains this section
-
HL-03
Hierarchical level code
RequiredType: String (ID)
Specifies the type of hierarchical section
Example: S = shipment, O = order, P = package, I = item
TD1 - Package details
OptionalPlacement: Shipment HL loopMax use: 20
Provides package quantity and weight details for the shipment
Example
TD1*CTN*1****G*2.58*LB~
TD1 field breakdown
-
TD1-01
Packaging code
OptionalType: String (ID)
Specifies the type of packaging
Example: CTN = carton
Other common codes: PLT = pallet, BOX = box, MIX = mixed types
-
TD1-02
Lading quantity
Required if TD1-01 is usedType: Numeric (N0)
Provides the number of packages
Example: 1
-
TD1-06
Weight qualifier
OptionalType: String (ID)
Specifies the type of weight provided
Example: G = gross weight
Other common codes: E = estimated net weight, N = actual net weight
-
TD1-07
Weight
Required if TD1-06 or TD1-08 is usedType: Decimal number (R)
Provides the shipment weight
Example: 2.58
-
TD1-08
Unit of measurement
Required if TD1-07 is usedType: String (ID)
Specifies the unit of measure for the weight
Example: LB
Other common codes: KG = kilograms, OZ = ounces
TD5 - Carrier details
OptionalPlacement: Shipment HL loopMax use: 1
Provides details about the carrier of the shipment
Note: Our standard integrations only support one shipping carrier per ASN. If you include this segment, at least one carrier or routing field, such as TD5-02, TD5-04, or TD5-05, is required.
Example
TD5*B*2*UPSN*M*UNITED PARCEL SERVICE~
TD5 field breakdown
-
TD5-01
Routing sequence code
OptionalType: String (ID)
Specifies whether the shipping carrier is the original planned carrier or a different one
Example: B = original carrier
Other common codes: 1 = first carrier after the original, 2 = second carrier after the original
-
TD5-02
Identification code qualifier
ConditionalType: String (ID)
Specifies the type of carrier identifier provided
Example: 2 = Standard Carrier Alpha Code (SCAC)
-
TD5-03
Carrier identifier
Required if TD5-02 is usedType: String (AN)
Provides the shipping carrier identifier
Example: UPSN
-
TD5-04
Transportation method or type code
ConditionalType: String (ID)
Specifies the transportation method or type
Example: M = truck
Other common codes: A = air, LT = less than a full trailer load
-
TD5-05
Routing description
ConditionalType: String (AN)
Provides the carrier name or routing description
Example: UNITED PARCEL SERVICE
REF - Reference information
OptionalPlacement: Any HL loopMax use: 12
Provides additional reference information for the shipment or a specific HL section, such as the order section
Example
REF*BM*BOL-PO-123~
REF*CN*1Z9999999999999999~
REF*ZZ*93369535150910.10.57.136~
REF field breakdown
-
REF-01
Reference identification qualifier
Required if REF is usedType: String (ID)Length: 2-3
Specifies the type of reference identifier provided
Example: BM = bill of lading number
Other common codes: CN = carrier's reference number, ZZ = mutually defined by buyer and supplier
-
REF-02
Reference identification
Required if REF is usedType: String (AN)Length: 1-30
Provides the reference identifier
Example: BOL-PO-123
N1 loop - Parties, addresses, and contacts
Typically requiredPlacement: Any HL loopMax use: 200
Provides the organizations, addresses, and contact details for the shipment
Note: Repeat this loop for each organization or address involved in the transaction. For example, if the ship from and ship to addresses are different, include a separate N1 loop for each address.
Example
N1*SF*SUPPLIER_INC~
N1*ST*Test Corp. - Nashville Branch~
N3*123 Test St.; Suite A~
N4*Nashville*TN*37011*US~
N1 loop breakdown
-
N1
Name
Identifies the organization or location and provides its name
N1-01 Entity identifier code
Required if N1 is usedType: String (ID)Length: 2-3
Specifies the type of organization or location provided
Example: SF = ship from
Other common codes: ST = ship to, SU = supplier, BY = buyer, VN = vendor
N1-02 Name
Required if N1 is usedType: String (AN)Length: 1-60
Provides the name of the organization or location
Example: Test Corp. - Nashville Branch
Example: N1*ST*Test Corp. - Nashville Branch~
-
N3
Provides street address details for the organization or location
N3-01 Address information
Required if N3 is usedType: String (AN)Length: 1-55
Provides the first line of the street address
Example: 123 Test St.; Suite A
N3-02 Address information
OptionalType: String (AN)Length: 1-55
Provides the second line of the street address
Example: blank in this payload
Example: N3*123 Test St.; Suite A~
-
N4
Geographic location
Provides the city, region, postal code, and country code for the organization or location
N4-01 City name
Required if N4 is usedType: String (AN)Length: 2-30
Provides the city name
Example: Nashville
N4-02 State or province code
OptionalType: String (ID)Length: 2
Provides the state or province code
Example: TN
N4-03 Postal code
OptionalType: String (ID)Length: 3-15
Provides the postal code
Example: 37011
N4-04 Country code
OptionalType: String (ID)Length: 2-3
Provides the country code
Example: US
Example: N4*Nashville*TN*37011*US~
PRF - PO reference
RequiredPlacement: Order HL loopMax use: 1 per loop
Provides PO reference information for the shipment
PRF field breakdown
-
PRF-01
Buyer PO identifier
RequiredType: String (AN)Length: 1-22
Provides the buyer's PO identifier from the PO request payload that we sent
Example: PO-123
MAN - Package marks and numbers
OptionalPlacement: Package HL loopMax use: Many
Provides an identifier for the packages included in the shipment
Example
MAN*GM*CARTON0000001~
MAN field breakdown
-
MAN-01
Marks and numbers qualifier
Required if MAN is usedType: String (ID)
Specifies the type of package identifier provided
Example: GM = Serial Shipping Container Code with the application identifier
Other common codes: CP = carrier-assigned package number, UC = UPC shipping container code
-
MAN-02
Marks and numbers
Required if MAN is usedType: String (AN)
Provides the package identifier
Example: CARTON0000001
LIN - Item identification
OptionalPlacement: Line item HL loopMax use: 1 per loop
Provides identifiers for the line items included in the shipment
Example
LIN**BP*45L017*VP*CART12-ITEM123~
LIN field breakdown
-
LIN-02
Product or service ID qualifier
OptionalType: String (ID)
Specifies the type of item identifier provided
Example: BP = buyer part number
-
LIN-03
Product or service ID
OptionalType: String (AN)
Provides the item identifier
Example: 45L017
-
LIN-04
Product or service ID qualifier
OptionalType: String (ID)
Specifies the type of item identifier provided
Example: VP = vendor part number
-
LIN-05
Product or service ID
OptionalType: String (AN)
Provides the item identifier
Example: CART12-ITEM123
SN1 - Item shipment details
OptionalPlacement: Line item HL loopMax use: 1 per loop
Provides shipment details for the line items
SN1 field breakdown
-
SN1-02
Quantity shipped
Required if SN1 is usedType: Decimal number (R)
Provides the quantity shipped for the line item
Example: 3
-
SN1-03
Unit of measurement
Required if SN1 is usedType: String (ID)
Specifies the unit of measurement for the shipped quantity
Example: EA
PID - Product or item description
OptionalPlacement: Line item HL loopMax use: 200 per loop
Provides a description for each line item
Example
PID*F****Low Arc Kitchen Faucet: Dominion Faucets, Silver, Chrome Finish, 1.75 gpm Fl~
PID field breakdown
-
PID-01
Item description type
Required if PID is usedType: String (ID)Length: 1
Specifies the description format
Example: F = free-form text
-
PID-05
Description
Required if PID-01 is F or XType: String (AN)Length: 1-80
Provides the item description text
Example: Low Arc Kitchen Faucet: Dominion Faucets, Silver, Chrome Finish, 1.75 gpm Fl
Back to top
Summary
Ends the ASN and the payload using the summary details described in the subsections below
CTT - Transaction totals
Optional Max use: 1
Provides the line item total for the ASN
CTT field breakdown
-
CTT-01
Number of line items
Required if CTT is usedType: Numeric (N0)Length: 1-6
Provides the total number of line items in the transaction set
Example: 1
SE - Transaction set trailer
Required Max use: 1
Ends the ASN
SE field breakdown
-
SE-01
Number of included segments
RequiredType: Numeric (N0)Min value: 1
Provides the total number of segments from ST through SE
Example: 24
-
SE-02
Transaction set control number
RequiredType: String (AN)Length: 4-9
Provides the same control number as ST-02
Example: 0001
GE - Functional group trailer
Required Max use: 1
Ends the functional group that contains the ASN
GE field breakdown
-
GE-01
Number of transaction sets included
RequiredType: Numeric (N0)
Provides the number of transaction sets in the group
Value: 1
-
GE-02
Group control number
RequiredType: Numeric (N0)Length: 1-9
Provides the same control number as GS-06
Example: 3
IEA - Interchange control trailer
Required Max use: 1
Ends the payload
IEA field breakdown
-
IEA-01
Number of included functional groups
RequiredType: Numeric (N0)
Provides the number of functional groups in the payload
Value: 1
-
IEA-02
Interchange control number
RequiredType: Numeric (N0)Length: 9
Provides the same control number as ISA-13
Example: 000000003