**These specifications are a base model. All customers are responsible for ensuring their map or EDI is compliant with their trading partner's most current specifications.

X12 850 Purchase Order
Revised November 1, 2023
This Draft Standard for Trial Use contains the format and establishes the data contents of the Purchase Order Transaction Set (850) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to provide for customary and established business and industry practice relative to the placement of purchase orders for goods and services. This transaction set should not be used to convey purchase order changes or purchase order acknowledgment information.
Delimiters
- ~ Segment
- * Element
- > Component
EDI sample
Interchange Control Header
RequiredMax use 1
To start and identify an interchange of zero or more functional groups and interchange-related control segments
Example
ISA*00* *00* *XX*XXXXXXXXXXXXXXX*XX*XXXXXXXXXXXXXXX*240622*0149*U*00401*000000000*X*X*>~
Authorization Information Qualifier
Required
Identifier (ID)
Code to identify the type of information in the Authorization Information
00
No Authorization Information Present (No Meaningful Information in I02)
Authorization Information
Required
String (AN)
Min 10Max 10
Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (I01)
Security Information Qualifier
Required
Identifier (ID)
Code to identify the type of information in the Security Information
00
No Security Information Present (No Meaningful Information in I04)
Security Information
Required
String (AN)
Min 10Max 10
This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (I03)
Interchange ID Qualifier
Required
Identifier (ID)
Min 2Max 2
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Codes
Interchange Sender ID
Required
String (AN)
Min 15Max 15
Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element
Interchange ID Qualifier
Required
Identifier (ID)
Min 2Max 2
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Codes
Interchange Receiver ID
Required
String (AN)
Min 15Max 15
Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them
Interchange Date
Required
Date (DT)
YYMMDD format
Date of the interchange
Interchange Time
Required
Time (TM)
HHMM format
Time of the interchange
Interchange Control Standards Identifier
Required
Identifier (ID)
Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer
U
U.S. EDI Community of ASC X12, TDCC, and UCS
Interchange Control Version Number
Required
Identifier (ID)
This version number covers the interchange control segments
00401
Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1997
Interchange Control Number
Required
Numeric (N0)
Min 9Max 9
A control number assigned by the interchange sender
Acknowledgment Requested
Required
Identifier (ID)
Min 1Max 1
Code sent by the sender to request an interchange acknowledgment (TA1)
0
No Acknowledgment Requested
1
Interchange Acknowledgment Requested
Usage Indicator
Required
Identifier (ID)
Min 1Max 1
Code to indicate whether data enclosed by this interchange envelope is test, production or information
I
Information
P
Production Data
T
Test Data
Component Element Separator
Required
String (AN)
Min 1Max 1
Type is not applicable; the component element separator is a delimiter and not a data element; this field provides the delimiter used to separate component data elements within a composite data structure; this value must be different than the data element separator and the segment terminator
>
Component Element Separator
Functional Group Header
RequiredMax use 1
To indicate the beginning of a functional group and to provide control information
Example
GS*PO*XXX*XX*20240622*1218*0000000*XX*004010~
Functional Identifier Code
Required
Identifier (ID)
Code identifying a group of application related transaction sets
PO
Purchase Order (850)
Application Sender's Code
Required
String (AN)
Min 2Max 15
Code identifying party sending transmission; codes agreed to by trading partners
Application Receiver's Code
Required
String (AN)
Min 2Max 15
Code identifying party receiving transmission. Codes agreed to by trading partners
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Time
Required
Time (TM)
HHMM, HHMMSS, HHMMSSD, or HHMMSSDD format
Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)
Group Control Number
Required
Numeric (N0)
Min 1Max 9
Assigned number originated and maintained by the sender
Responsible Agency Code
Required
Identifier (ID)
Min 1Max 2
Code used in conjunction with Data Element 480 to identify the issuer of the standard
T
Transportation Data Coordinating Committee (TDCC)
X
Accredited Standards Committee X12
Version / Release / Industry Identifier Code
Required
String (AN)
Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments; if code in DE455 in GS segment is X, then in DE 480 positions 1-3 are the version number; positions 4-6 are the release and subrelease, level of the version; and positions 7-12 are the industry or trade association identifiers (optionally assigned by user); if code in DE455 in GS segment is T, then other formats are allowed
004010
Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1997
Heading
010
Transaction Set Header
RequiredMax use 1
To indicate the start of a transaction set and to assign a control number
Example
ST*850*0001~
Transaction Set Identifier Code
Required
Identifier (ID)
Code uniquely identifying a Transaction Set
- The transaction set identifier (ST01) used by the translation routines of the interchange partners to select the appropriate transaction set definition (e.g., 810 selects the Invoice Transaction Set).
850
Purchase Order
Transaction Set Control Number
Required
Numeric (N)
Min 4Max 9
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
020
Beginning Segment for Purchase Order
RequiredMax use 1
To indicate the beginning of the Purchase Order Transaction Set and transmit identifying numbers and dates
Usage notes
BEG00SA1599999999**200310310034567899
Example
BEG*00*SA*XXXX**20230714*XX~
Transaction Set Purpose Code
Required
Identifier (ID)
Code identifying purpose of transaction set
00
Original
Purchase Order Type Code
Required
Identifier (ID)
Code specifying the type of Purchase Order
SA
Stand-alone Order
Purchase Order Number
Required
String (AN)
Min 1Max 22
Identifying number for Purchase Order assigned by the orderer/purchaser
Usage notes
This element contains The Home Depot purchase order number.
This element is required to be included in the packing slip if you are creating your own.
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
- BEG05 is the date assigned by the purchaser to purchase order.
Usage notes
This element contains the issue date of the purchase order.
This element is required to be included in the packing slip if you are creating your own.
Contract Number
Required
String (AN)
Min 1Max 30
Contract number
Usage notes
This element contains the alternate Home Depot 'M' number with 2 preceding zeros.
050
Reference Identification
RequiredMax use >1
To specify identifying information
Usage notes
REFX9117719840
REFIA60075490
REFCOW073335394
REFDP029
Multiple REF segments may be sent in The Home Depot purchase order.
The REFCO segment is guaranteed to be included in every purchase order.
The REFDP segment is not guaranteed to be included in every purchase order, but The Home Depot does have the ability to send this data.
The REFIA segment is guaranteed to be included in every purchase order.
The REFX9 segment is guaranteed to be included in every purchase order.
Example
REF*DP*XXX*XXX~
Reference Identification Qualifier
Required
Identifier (ID)
Code qualifying the Reference Identification
Usage notes
The IA and X9 qualifiers are always used
CO
Customer Order Number
This qualifier indicates that the REF02 contains the customer order number.
DP
Department Number
This qualifier indicates that the REF02 contains
The Home Depot's department/site id
IA
Internal Vendor Number
The Home Depot assigned vendor number
X9
Internal Control Number
This qualifier indicates that the REF02 contains a CommerceHub assigned control number.
Reference Identification
Required
String (AN)
Min 1Max 30
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
Usage notes
Depending on the qualifier used in the REF01, this element will contain the corresponding value.
The REF02 CO qualified element is required to be included in the order.
Description
Optional
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
SAC Loop
OptionalMax >1
120
Service, Promotion, Allowance, or Charge Information
RequiredMax use 1
To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service, promotion, allowance, or charge
Usage notes
SACNH151*************Get well soon!
Example
SAC*N*H151*************XXXX~
Allowance or Charge Indicator
Required
Identifier (ID)
Code which indicates an allowance or charge for the service specified
- If SAC01 is "A" or "C", then at least one of SAC05, SAC07, or SAC08 is required.
N
No Allowance or Charge
For packslip messages
Service, Promotion, Allowance, or Charge Code
Optional
Identifier (ID)
Code identifying the service, promotion, allowance, or charge
H151
Special Services
This qualifier indicates that an order level message is contained in the SAC15.
Description
Optional
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
Usage notes
This element contains an order level message.
This element is required to be included in the packing slip if you are creating your own.
150
Date/Time Reference
OptionalMax use 10
To specify pertinent dates and times
Usage notes
DTM01020130227
Example
DTM*010*20230716~
Date/Time Qualifier
Required
Identifier (ID)
Code specifying type of date or time, or both date and time
Usage notes
This qualifier indicates that the DTM02 contains the date that The Home
Depot expects the shipment to be completed by.
010
Requested Ship
Date
Optional
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Usage notes
This element contains the date that The Home Depot expects the shipment to be completed by.
240
Carrier Details (Routing Sequence/Transit Time)
RequiredMax use 12
To specify the carrier and sequence of routing and provide transit time information
Usage notes
TD5*UNSP_CG***ET
Example
TD5*****X*******ET~
Routing
Required
String (AN)
Min 1Max 35
Free-form description of the routing or requested routing for shipment, or the originating carrier's identity
Usage notes
This element will contain a The Home Depot specific code that indicates who the shipper is and what the service level is. Contact CommerceHub to obtain a complete list of codes that apply to your relationship with The Home Depot.
This element is required to be included in the packing slip if you are creating your own
Service Level Code
Optional
Identifier (ID)
Code indicating the level of transportation service or the billing service offered by the transportation carrier
Usage notes
Presence of 'ET' will indicate that a signature is required
ET
Proof of Delivery (POD) with Signature
N9 Loop
OptionalMax >1
295
Reference Identification
RequiredMax use 1
To transmit identifying information as specified by the Reference Identification Qualifier
Usage notes
N9SD8119
Example
N9*SD*XXXX~
Reference Identification Qualifier
Required
Identifier (ID)
Code qualifying the Reference Identification
SD
Subday Number
This qualifier indicates that the N902 contains the Sales Division or Store ID.
Reference Identification
Optional
String (AN)
Min 1Max 30
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
Usage notes
This element contains a 4 digit numeric The Home Depot assigned store ID that indicates where the order originated from. Will always be 8119.
N1 Loop
RequiredMax >1
310
Name
RequiredMax use 1
To identify a party by type of organization, name, and code
Usage notes
N1BTJENNIFER LEWIS
N1STJOANNE WELLS93123456789
N1SOJENNIFER LEWIS
N1POJOANNE WELLS93123456789
Example
N1*ST*XXXXXX*92*XX~
If either Identification Code Qualifier (N1-03) or Identification Code (N1-04) is present, then the other is required
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
Usage notes
The ST qualifier will always be used
BT
Bill-to-Party
This qualifier indicates that this loop contains the Bill To party information.
PO
Party to Receive Invoice for Goods or Services
This qualifier indicates that this loop contains Invoice To information.
SO
Sold To If Different From Bill To
This qualifier indicates that this N1 loop contains the Sold To party information.
ST
Ship To
This qualifier indicates that this loop contains the Ship To party information.
Name
Required
String (AN)
Min 1Max 60
Free-form name
Usage notes
ST Loop: Ship-to party's Full Name
SO Loop: Full name of Customer Party who placed order
PO Loop: Invoice-to party's Full Name Party to whom invoice will be submitted.
BT Loop: Bill-to party's Full Name
This element is required to be included in the packing slip if you are creating your own.
Identification Code Qualifier
Optional
Identifier (ID)
Code designating the system/method of code structure used for Identification Code (67)
92
Assigned by Buyer or Buyer's Agent
Code 92 is used for N1 entity of "PO" only
93
Code assigned by the organization originating the transaction set
Code 93 is used for all N1 entities except "PO"
and "SF"
Identification Code
Optional
String (AN)
Min 2Max 80
Code identifying a party or other code
- This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party.
Usage notes
This element will contain a store number.
330
Address Information
RequiredMax use 2
To specify the location of the named party
Usage notes
N3425 Central Park WestApt. 7A
N3 segments will be included in the Bill-To and Ship-To loops.
The Ship-to and Bill-to Address Line 1 data elements of the PO message will be populated with a BOSS value sent by The Home Depot. This enhancement will effectively shift the street address data for BOSS orders into the Address Line 2 field for both the Ship-to Address and Bill-to Address in the data set. In the example below, the Street Address data is now shifted to the Address Line 2 field.
Note: For ship to store orders, the ship to store information will be in address1
Note: For ship to store orders, the normal address ( which would normally be in address1 ) will now be in address2
Example
N3*X*XXXX~
Address Information
Required
String (AN)
Min 1Max 55
Address information
Usage notes
This element is required to be included in the packing slip if you are creating your own.
Address Information
Optional
String (AN)
Min 1Max 55
Address information
340
Geographic Location
RequiredMax use >1
To specify the geographic place of the named party
Usage notes
N4CLIFTON PARKNY120658763USA
Example
N4*XXX*XX*XXXXXXX*XXX~
City Name
Required
String (AN)
Min 2Max 30
Free-form text for city name
- A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location.
Usage notes
This element is required to be included in the packing slip if you are creating your own.
State or Province Code
Required
Identifier (ID)
Min 2Max 2
Code (Standard State/Province) as defined by appropriate government agency
- N402 is required only if city name (N401) is in the U.S. or Canada.
Usage notes
This element is required to be included in the packing slip if you are creating your own.
Postal Code
Required
Identifier (ID)
Min 3Max 15
Code defining international postal zone code excluding punctuation and blanks (zip code for United States)
Usage notes
This element is required to be included in the packing slip if you are creating your own.
Country Code
Optional
Identifier (ID)
Min 2Max 3
Code identifying the country
360
Administrative Communications Contact
OptionalMax use >1
To identify a person or office to whom administrative communications should be directed
Usage notes
PERBD**TE5555555555
PERICJack Beanstalk
Example
PER*BD*XXX*TE*XX*XX*XXXXXX~
If either Communication Number Qualifier (PER-03) or Communication Number (PER-04) is present, then the other is required
If either Communication Number Qualifier (PER-05) or Communication Number (PER-06) is present, then the other is required
Contact Function Code
Required
Identifier (ID)
Code identifying the major duty or responsibility of the person or group named
BD
Buyer Name or Department
This qualifier indicates that the PER02 contains a company name.
IC
Information Contact
This qualifier indicates that the PER02 contains the attention line for the N1 loop.
Name
Optional
String (AN)
Min 1Max 60
Free-form name
Usage notes
When PER01 = "BD" : Optional Company name for mailing address.
When PER01 = "IC" : Optional Attention line for mailing address.
Communication Number Qualifier
Optional
Identifier (ID)
Code identifying the type of communication number
TE
Telephone
Communication Number
Optional
String (AN)
Min 1Max 80
Complete communications number including country or area code when applicable
Usage notes
This element contains a phone number.
This element is required to be included in the packing slip if you are
creating your own.
Communication Number Qualifier
Optional
Identifier (ID)
Min 2Max 2
Code identifying the type of communication number
Usage notes
This qualifier indicates that the PER04 contains a night phone number.
Communication Number
Optional
String (AN)
Min 1Max 80
Complete communications number including country or area code when applicable
Usage notes
This element contains a night phone number.
Detail
PO1 Loop
RequiredMax >1
010
Baseline Item Data
RequiredMax use 1
To specify basic and most frequently used line item data
- PO102 is required.
Usage notes
PO1041EA32.78TESK477631VN024131910809UP024131910809
PI*10007733
Example
PO1*XX*000000000*XX*000000000000000*TE*SK*XXXXXX*VN*XXXXXX***UP*XXXX***PI*XXX~
If either Product/Service ID Qualifier (PO1-12) or Product/Service ID (PO1-13) is present, then the other is required
Assigned Identification
Required
String (AN)
Min 1Max 20
Alphanumeric characters assigned for differentiation within a transaction set
- PO101 is the line item identification.
Usage notes
This element contains The Home Depot purchase order line number. It
is critical that this information is captured and returned to CommerceHub correctly in the shipment confirmation.
Quantity Ordered
Required
Decimal number (R)
Min 1Max 15
Quantity ordered
Unit or Basis for Measurement Code
Optional
Identifier (ID)
Min 2Max 2
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
Unit Price
Required
Decimal number (R)
Min 1Max 15
Price per unit of product, service, commodity, etc.
Usage notes
This element contains the unit cost that The Home Depot expects to be billed for each unit fulfilled.
Basis of Unit Price Code
Optional
Identifier (ID)
Code identifying the type of unit price for an item
TE
Contract Price per Each
Product/Service ID Qualifier
Required
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
- PO106 through PO125 provide for ten different product/service IDs per each item. For example: Case, Color, Drawing No., U.P.C. No., ISBN No., Model No., or SKU.
Usage notes
This qualifier indicates that the PO107 contains The Home Depot SKU for the product.
SK
Stock Keeping Unit (SKU)
This qualifier indicates that the PO107 contains
The Home Depot SKU for the product
Product/Service ID
Required
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
This element contains a non-unique 'Settlement SKU' assigned by Home Depot on a per product category or department basis for a given supplier.
The supplier is not required to capture or return this SKU.
Product/Service ID Qualifier.
Product/Service ID Qualifier
Required
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
Usage notes
This qualifier indicates that the PO109 contains the vendors SKU for the
product.
VN
Vendor's (Seller's) Item Number
This qualifier indicates that the PO109 contains the vendors SKU for the product.
Product/Service ID
Required
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
This element contains the vendors SKU for the product.
This element is required to be included in the packing slip if you are creating your own.
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
Usage notes
This qualifier indicates that the PO112 contains the UPC for the product.
UP
U.P.C. Consumer Package Code (1-5-5-1)
This qualifier indicates that the PO113 contains the UPC for the product.
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
This element contains the UPC for the product.
Product/Service ID Qualifier
Required
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
Usage notes
This qualifier indicates that the PO117 contains OMS ID for the product.
PI
Purchaser's Item Code
This qualifier indicates that the PO117 contains
OMS ID for the product.
Product/Service ID
Required
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
This element contains the OMS ID for the product.
The 'OMS ID' is the unique product identifier in The Home Depot Purchase Orders. It is also used as the unique product identifier in Home Depot Link.
This element is required to be included in the packing slip if you are creating your own.
PID Loop
OptionalMax >1
050
Product/Item Description
RequiredMax use 1
To describe a product or process in coded or free-form format
Usage notes
PIDF08***Bollard 18 In. Polished Chrome Towel Bar
Example
PID*F*08***X~
Item Description Type
Required
Identifier (ID)
Code indicating the format of a description
- If PID01 equals "F", then PID05 is used. If PID01 equals "S", then PID04 is used. If PID01 equals "X", then both PID04 and PID05 are used.
F
Free-form
Product/Process Characteristic Code
Optional
Identifier (ID)
Code identifying the general class of a product or process characteristic
08
Product
Description
Optional
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
Usage notes
This element contains the description of the product.
This element is required to be included in the packing slip if you are creating your own.
210
Date/Time Reference
OptionalMax use 10
To specify pertinent dates and times
Usage notes
DTM03820080925
Example
DTM*038*20230716~
Date/Time Qualifier
Required
Identifier (ID)
Code specifying type of date or time, or both date and time
Usage notes
This qualifier indicates that the DTM02 contains the expected ship date
038
Ship No Later
Expected ship by date
Date
Optional
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Usage notes
This element contains the expected ship date.
250
Carrier Details (Routing Sequence/Transit Time)
RequiredMax use 12
To specify the carrier and sequence of routing and provide transit time information
Usage notes
TD5*UNSP_CG***ET
Example
TD5*****XXXX*******ET~
Routing
Required
String (AN)
Min 1Max 35
Free-form description of the routing or requested routing for shipment, or the originating carrier's identity
Usage notes
This element will contain a The Home Depot specific code that indicates who the shipper is and what the service level is. Contact CommerceHub to obtain a complete list of codes that apply to your relationship with The Home Depot.
This element is required to be included in the packing slip if you are creating your own.
Service Level Code
Optional
Identifier (ID)
Code indicating the level of transportation service or the billing service offered by the transportation carrier
ET
Proof of Delivery (POD) with Signature
Summary
CTT Loop
RequiredMax >1
010
Transaction Totals
RequiredMax use 1
To transmit a hash total for a specific element in the transaction set
- The number of line items (CTT01) is the accumulation of the number of PO1 segments. If used, hash total (CTT02) is the sum of the value of quantities ordered (PO102) for each PO1 segment.
Usage notes
CTT*1
Example
CTT*0~
Number of Line Items
Required
Numeric (N0)
Min 1Max 6
Total number of line items in the transaction set
030
Transaction Set Trailer
RequiredMax use 1
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)
Example
SE*000000000*0001~
Number of Included Segments
Required
Numeric (N0)
Min 1Max 10
Total number of segments included in a transaction set including ST and SE segments
Transaction Set Control Number
Required
Numeric (N)
Min 4Max 9
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
Functional Group Trailer
RequiredMax use 1
To indicate the end of a functional group and to provide control information
Example
GE*000*000000~
Number of Transaction Sets Included
Required
Numeric (N0)
Min 1Max 6
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Group Control Number
Required
Numeric (N0)
Min 1Max 9
Assigned number originated and maintained by the sender
Interchange Control Trailer
RequiredMax use 1
To define the end of an interchange of zero or more functional groups and interchange-related control segments
Example
IEA*0*000000000~
Number of Included Functional Groups
Required
Numeric (N0)
Min 1Max 5
A count of the number of functional groups included in an interchange
Interchange Control Number
Required
Numeric (N0)
Min 9Max 9
A control number assigned by the interchange sender
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article