**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
X12 Release 4010Revised February 28, 2024
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*240717*1124*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*XXXXXXX*XXX*20240717*0350*000*X*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
The “RO” type code in BEG02 data element is to indicate a JUST-IN-TIME Purchase Order.
Example:
BEG00NE00000001**20000909~
BEG00RO00000001**20020430
Example
BEG*00*RO*XXXXXX**20230325~
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
NE
New Order
RO
Rush Order
Purchase Order Number
Required
String (AN)
Min 1Max 22
Identifying number for Purchase Order assigned by the orderer/purchaser
Usage notes
Best Buy Shop Purchase Order Number
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
- BEG05 is the date assigned by the purchaser to purchase order.
Usage notes
Purchase Order Processed Date
040
Currency
RequiredMax use 1
To specify the currency (dollars, pounds, francs, etc.) used in a transaction
Usage notes
Example: CURCQCAD~
Example
CUR*CQ*CAD~
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
CQ
Corporate Office
Currency Code
Required
Identifier (ID)
Code (Standard ISO) for country in whose currency the charges are specified
AUD
Australian Dollar
CAD
Canadian Dollar
JPY
Yen
MXN
Mexican Peso
USD
US Dollar
050
BestBuy Internal Supplier Code
RequiredMax use 1
To specify identifying information
Usage notes
Example:
REFZA222654~
Example
REF*ZA*XXXX~
Variants (all may be used)
REFSoftware Application Number
Reference Identification Qualifier
Required
Identifier (ID)
Code qualifying the Reference Identification
ZA
Supplier
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
BestBuy Internal Supplier Code
050
Software Application Number
RequiredMax use 1
To specify identifying information
Usage notes
Example:
REFZSRMS~
Example
REF*ZS*OFIN~
Variants (all may be used)
REFBestBuy Internal Supplier Code
Reference Identification Qualifier
Required
Identifier (ID)
Code qualifying the Reference Identification
ZS
Software Application Number
Reference Identification
Required
String (AN)
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
ICS
Best Buy Shop Web Store Server
OFIN
Best Buy Shop Financial System
RMS
Best Buy Shop Merchandising System
080
F.O.B. Related Instructions
OptionalMax use >1
To specify transportation instructions relating to shipment
Usage notes
Example: FOBCCOROrigin*WHWarehouse~
Example
FOB*XX*X*XXXXX***XX*XX~
Shipment Method of Payment
Required
Identifier (ID)
Min 2Max 2
Code identifying payment terms for transportation charges
- FOB01 indicates which party will pay the carrier.
Location Qualifier
Required
Identifier (ID)
Min 1Max 2
Code identifying type of location
- FOB02 is the code specifying transportation responsibility location.
Description
Required
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
Location Qualifier
Required
Identifier (ID)
Min 1Max 2
Code identifying type of location
- FOB06 is the code specifying the title passage location.
Description
Required
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
150
Deliver No Later
RequiredMax use 1
To specify pertinent dates and times
Usage notes
This is the latest date on which Best Buy Shop will accept delivery of the order
Example: DTM03820000101*1111~
Example
DTM*038*20230324*1730~
Variants (all may be used)
Date/Time Qualifier
Required
Identifier (ID)
Code specifying type of date or time, or both date and time
038
Ship No Later
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)
150
Requested for Delivery
RequiredMax use 10
To specify pertinent dates and times
Usage notes
This is the earliest date on which Best Buy Shop will accept delivery of the order
Example: DTM07120000101*1111~
Example
DTM*071*20230324*1730~
Variants (all may be used)
Date/Time Qualifier
Required
Identifier (ID)
Code specifying type of date or time, or both date and time
071
Requested for Delivery (After and Including)
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)
N1 Bill To
RequiredMax 1
Variants (all may be used)
310
Name
RequiredMax use 1
To identify a party by type of organization, name, and code
Usage notes
Example:
N1BT**920000~
Example
N1*BT*XXXXX*92*XXX~
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
BT
Bill-to-Party
Name
Required
String (AN)
Min 1Max 60
Free-form name
Identification Code Qualifier
Required
Identifier (ID)
Code designating the system/method of code structure used for Identification Code (67)
92
Assigned by Buyer or Buyer's Agent
Identification Code
Required
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
List of Best Buy Shop Locations will be supplied separately. Best Buy Shop’s Corporate Head Office will be referred to as 0000.
330
Address Information
OptionalMax use 2
To specify the location of the named party
Usage notes
List of Best Buy Shop Locations will be supplied separately.
Example: N3*8800 GLENLYON PARKWAY~
Example
N3*XXXXXX*XXXX~
Address Information
Required
String (AN)
Min 1Max 55
Address information
Address Information
Optional
String (AN)
Min 1Max 55
Address information
340
Geographic Location
OptionalMax use >1
To specify the geographic place of the named party
Usage notes
Example: N4BURNABYBCV5J 5K3CAN~
Example
N4*XXXXXXX*XX*XXXXXXXX*XX~
City Name
Optional
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.
State or Province Code
Optional
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.
Postal Code
Optional
Identifier (ID)
Min 3Max 15
Code defining international postal zone code excluding punctuation and blanks (zip code for United States)
Country Code
Optional
Identifier (ID)
Min 2Max 3
Code identifying the country
N1 Ship To
RequiredMax 1
Variants (all may be used)
310
Name
RequiredMax use 1
To identify a party by type of organization, name, and code
Usage notes
Example:
N1ST**921001*WH~
Example
N1*ST*X*92*XXX**SN~
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
ST
Ship To
Name
Required
String (AN)
Min 1Max 60
Free-form name
Identification Code Qualifier
Required
Identifier (ID)
Code designating the system/method of code structure used for Identification Code (67)
92
Assigned by Buyer or Buyer's Agent
Identification Code
Required
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
List of Best Buy Shop Locations will be supplied separately. Best Buy Shop’s Corporate Head Office will be referred to as 0000.
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
SN
Store
WH
Warehouse
330
Address Information
OptionalMax use 2
To specify the location of the named party
Usage notes
List of Best Buy Shop Locations will be supplied separately.
Example: N3*8800 GLENLYON PARKWAY~
Example
N3*XX*XXXXX~
Address Information
Required
String (AN)
Min 1Max 55
Address information
Address Information
Optional
String (AN)
Min 1Max 55
Address information
340
Geographic Location
OptionalMax use >1
To specify the geographic place of the named party
Usage notes
Example: N4BURNABYBCV5J 5K3CAN~
Example
N4*XXXXXXX*XX*XXX*XX~
City Name
Optional
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.
State or Province Code
Optional
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.
Postal Code
Optional
Identifier (ID)
Min 3Max 15
Code defining international postal zone code excluding punctuation and blanks (zip code for United States)
Country Code
Optional
Identifier (ID)
Min 2Max 3
Code identifying the country
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
Example: PO1120EA12PEBP80712345UP123456789012345VP*12121~
Example
PO1*XXXXX*000000000*CA*000000000000*PE*BP*XX*UP*X*VP*XXXXX*VE*X*SZ*X~
If either Product/Service ID Qualifier (PO1-08) or Product/Service ID (PO1-09) is present, then the other is required
If either Product/Service ID Qualifier (PO1-10) or Product/Service ID (PO1-11) is present, then the other is required
If either Product/Service ID Qualifier (PO1-12) or Product/Service ID (PO1-13) is present, then the other is required
If either Product/Service ID Qualifier (PO1-14) or Product/Service ID (PO1-15) 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.
Quantity Ordered
Required
Decimal number (R)
Min 1Max 15
Quantity ordered
Usage notes
Total quantity ordered for this line item
Unit or Basis for Measurement Code
Required
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
CA
Case
EA
Each
Unit Price
Required
Decimal number (R)
Min 1Max 15
Price per unit of product, service, commodity, etc.
Basis of Unit Price Code
Required
Identifier (ID)
Code identifying the type of unit price for an item
PE
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.
BP
Buyer's Part Number
Product/Service ID
Required
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
Best Buy Shop Sku Number
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
UP
U.P.C. Consumer Package Code (1-5-5-1)
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
UPC
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
VP
Vendor's (Seller's) Part Number
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
Vendor Part Number
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
VE
Vendor Color
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
Supplier Color
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
SZ
Vendor Alphanumeric Size Code (NRMA)
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
Supplier Size
PID Loop
RequiredMax >1
050
Product/Item Description
RequiredMax use 1
To describe a product or process in coded or free-form format
Usage notes
Example: PIDFHELLO WORLDEN~
Example
PID*F****XXX****FR~
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
Description
Required
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
Language Code
Optional
Identifier (ID)
Code designating the language used in text, from a standard code list maintained by the International Standards Organization (ISO 639). PID09 is used to identify the language being used in PID05.
EN
English
FR
French
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
Example: CTT216~
Example
CTT*0*00000~
Number of Line Items
Required
Numeric (N0)
Min 1Max 6
Total number of line items in the transaction set
Hash Total
Optional
Decimal number (R)
Min 1Max 10
Sum of values of the specified data element. All values in the data element will be summed without regard to decimal points (explicit or implicit) or signs. Truncation will occur on the left most digits if the sum is greater than the maximum size of the hash total of the data element.
## Example:
-.0018 First occurrence of value being hashed.
.18 Second occurrence of value being hashed.
1.8 Third occurrence of value being hashed.
18.01 Fourth occurrence of value being hashed.
1855 Hash total prior to truncation.
855 Hash total after truncation to three-digit field.
Usage notes
Total quantity ordered on all line items
020
Monetary Amount
OptionalMax use 1
To indicate the total monetary amount
- If AMT is used in the summary area, then AMT01 will = TT and AMT02 will indicate total transaction amount as calculated by the sender.
Usage notes
Example: AMT21135.2~
Example
AMT*2*0000000~
Amount Qualifier Code
Required
Identifier (ID)
Code to qualify amount
2
Batch Total
Monetary Amount
Required
Decimal number (R)
Min 1Max 15
Monetary amount
Usage notes
Total Dollar Amount
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*0000*000~
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