X12 850 Purchase Order
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.
- ~ Segment
- * Element
- > Component
Interchange Control Header
To start and identify an interchange of zero or more functional groups and interchange-related control segments
Code to identify the type of information in the Authorization Information
- 00
- No Authorization Information Present (No Meaningful Information in I02)
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)
Code to identify the type of information in the Security Information
- 00
- No Security Information Present (No Meaningful Information in I04)
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)
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
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
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
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
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
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
A control number assigned by the interchange sender
Code sent by the sender to request an interchange acknowledgment (TA1)
- 0
- No Acknowledgment Requested
- 1
- Interchange Acknowledgment Requested
Code to indicate whether data enclosed by this interchange envelope is test, production or information
- I
- Information
- P
- Production Data
- T
- Test Data
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
To indicate the beginning of a functional group and to provide control information
Code identifying a group of application related transaction sets
- PO
- Purchase Order (850)
Code identifying party sending transmission; codes agreed to by trading partners
Code identifying party receiving transmission. Codes agreed to by trading partners
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)
Assigned number originated and maintained by the sender
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
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
Transaction Set Header
To indicate the start of a transaction set and to assign a control number
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
Beginning Segment for Purchase Order
To indicate the beginning of the Purchase Order Transaction Set and transmit identifying numbers and dates
Code identifying purpose of transaction set
- 00
- Original
Code specifying the type of Purchase Order
- DR
- Direct Ship
(i.e. Third Party, Drop Ship)
Vendor ships directly to customer.
- NE
- New Order
Identifying number for Purchase Order assigned by the orderer/purchaser
Starting PO sequences will be unique based by Business Unit:
4600000000 = Grainger
4400000000 = Grainger Parts
4810000000 = Grainger FindMRO
Number identifying a release against a Purchase Order previously placed by the parties involved in the transaction
This segment will be populated for Third Party Orders, and may be populated for Branch Orders.
The Grainger sales order number is required on the packing list.
Reference Identification
To specify identifying information
Code qualifying the Reference Identification
- CR
- Customer Reference Number
Grainger Customer Account Number - Optional
This element will only be populated For Third Party orders when the freight charges are to be applied to a customers freight account. The REF 02 will store the customers account information.
- DI
- Distributor Invoice Number
Grainger Customer Project/Job Number - Optional
This element will only be populated for Third Party orders. This element will contain Grainger’s customer project/job number that is required back on the packing list.
- DP
- Department Number
Grainger Customer Department/Cost Center - Optional
This element will be populated for Third Party orders. This element will contain Grainger’s customers dept/cost centre that is required back
on the packing list. - IA
- Internal Vendor Number
Grainger Internal Supplier Number - Mandatory
Provides Grainger internal supplier number. This information is required back on the 856 – ASN and 810 - Invoice
- IT
- Internal Customer Number
Grainger Customer Purchase Order Number - Mandatory
This element will only be populated for Third Party orders. The Grainger customer purchase order number is required back on the packing list.
- RE
- Release Number
Grainger Customer Release Number - Optional
This element will be populated for Third Party orders. This element will contain Grainger’s customers release number that is required back on the packing list.
Administrative Communications Contact
To identify a person or office to whom administrative communications should be directed
Code identifying the major duty or responsibility of the person or group named
- BD
- Buyer Name or Department
Code identifying the type of communication number
- TE
- Telephone
Complete communications number including country or area code when applicable
Code identifying the type of communication number
- FX
- Facsimile
Complete communications number including country or area code when applicable
Code identifying the type of communication number
- EM
- Electronic Mail
F.O.B. Related Instructions
To specify transportation instructions relating to shipment
Code identifying payment terms for transportation charges
- FOB01 indicates which party will pay the carrier.
- CC
- Collect
Collect with exception.
Collect and allowed.
Consignee collect.
- PA
- Advance Prepaid
Prepaid and add.
- PO
- Prepaid Only
Prepaid with exception.
Code identifying type of location
- FOB02 is the code specifying transportation responsibility location.
- DE
- Destination (Shipping)
- OR
- Origin (Shipping Point)
Terms of Sale/Deferred Terms of Sale
To specify terms of sale
Carrier Details (Routing Sequence/Transit Time)
To specify the carrier and sequence of routing and provide transit time information
Code designating the system/method of code structure used for Identification Code (67)
- When specifying a routing sequence to be used for the shipment movement in lieu of specifying each carrier within the movement, use TD502 to identify the party responsible for defining the routing sequence, and use TD503 to identify the actual routing sequence, specified by the party identified in TD502.
- ZZ
- Mutually Defined
Carrier code qualifier.
Code identifying a party or other code
Grainger Carrier code values.
Refer to the carrier code location spreadsheet for a listing of all Grainger carrier codes.
Reference Identification
To transmit identifying information as specified by the Reference Identification Qualifier
Message Text
To provide a free-form format that allows the transmission of text information
Name
To identify a party by type of organization, name, and code
Name
To identify a party by type of organization, name, and code
Code identifying an organizational entity, a physical location, property or an individual
- ST
- Ship To
Code designating the system/method of code structure used for Identification Code (67)
- 92
- Assigned by Buyer or Buyer's Agent
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.
Refer to Grainger plant location spreadsheet for a listing of all Grainger plant locations.
Additional Name Information
To specify additional names or those longer than 35 characters in length
Address Information
To specify the location of the named party
Geographic Location
To specify the geographic place of the named party
Free-form text for city name
- A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location.
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.
Code defining international postal zone code excluding punctuation and blanks (zip code for United States)
Name
To identify a party by type of organization, name, and code
Detail
Baseline Item Data
To specify basic and most frequently used line item data
- PO102 is required.
Alphanumeric characters assigned for differentiation within a transaction set
- PO101 is the line item identification.
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
Price per unit of product, service, commodity, etc.
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.
- CB
- Buyer's Catalog Number
Grainger Stock Number
Grainger Sourcing (FindMRO) Stock Number
Identifying number for a product or service
Items ordered by our Sourcing Division (FindMRO) may not contain a consistent stock number under the CB qualifier; thus a cross reference table linking the Vendor Item Number to the Grainger Sourcing (FindMRO) Stock Number should not be created. Each time an order is placed, the Vendor Item Number will consist of a different Grainger Sourcing (FindMRO) Stock Number. Only on rare occasions will the same Grainger Sourcing (FindMRO) Stock Number associate to the same Vendor Item Number.
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
- VN
- Vendor's (Seller's) Item Number
Identifying number for a product or service
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
This element will only be Populated for Third Party orders that is required back on the packing list.
- CP
- Carry-over Part Number
Grainger customer material number.
Identifying number for a product or service
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
This element will only be Populated for Third Party orders that is required back on the packing list.
- PL
- Purchaser's Order Line Number
Grainger customer PO line number.
Identifying number for a product or service
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
This element will only be Populated for Third Party orders that is required back on the packing list.
- MN
- Model Number
Manufacturer model number.
Identifying number for a product or service
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
- MG
- Manufacturer's Part Number
Identifying number for a product or service
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
This segment is a place holder for future use by Grainger and our suppliers.
- UD
- U.P.C./EAN Consumer Package Code (2-5-5)
Product/Item Description
To describe a product or process in coded or free-form format
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
Message Text
To provide a free-form format that allows the transmission of text information
Line Item Schedule
To specify the data for scheduling a specific line-item
- The SCH segment is used to specify various quantities of items ordered that are to be scheduled. When this segment is used the unit of measurement code (SCH02) should always be identical to the unit of measurement code in the associated PO1 segment (PO103) and the sum of values of quantity (SCH01) should always equal the quantity ordered (PO102) in the PO1 segment.
On any given PO line item (PO1) on a purchase order, it will have a single instance of an SCH segment. For Future use, there can be instances where a single PO1 line can have multiple occurrences of an SCH segment.
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
Code specifying type of date or time, or both date and time
- SCH05 specifies the interpretation to be used for SCH06 and SCH07.
- 010
- Requested Ship
Summary
Transaction Totals
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.
Monetary Amount
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.
Transaction Set Trailer
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)
Total number of segments included in a transaction set including ST and SE segments
Functional Group Trailer
To indicate the end of a functional group and to provide control information
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Interchange Control Trailer
To define the end of an interchange of zero or more functional groups and interchange-related control segments
Grainger FindMRO Purchase Order
GS*PO*SENDERGS*RECEIVERGS*20231030*022717*000000001*X*004010~
ST*850*000000002~
BEG*00*DR*4810000000*SALES ORDER NUMBER*20041001~
REF*IA*20001234~
REF*IT*1234567890~
REF*CR*1122334455~
REF*DI*2342342344~
REF*DP*4564564566~
REF*RE*7897897899~
PER*BD*GRAINGER BUYER NAME*TE*BUYER PHONE NUMBER*FX*BUYER FAX NUMBER*EM*BUYER EMAIL ADDRESS~
FOB*PO*DE***FOB~
ITD************PAYMENT TERMS~
TD5**ZZ*25811**UPS GROUND~
N9*L1**REFER TO MSG SEGMENT ~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
N1*OB*GRAINGER~
N1*VN*SUPPLIER NAME~
N1*ST*GRAINGER FINDMRO*92*TPSO~
N2*ATTENTION NAME 1*ATTENTION NAME 2~
N3*SHIP TO ADDRESS 1*SHIP TO ADDRESS2~
N4*CITY*CA*90210*US~
PO1*00001*10*EA*1.00**CB*GRAINGER SOURCING (FINDMRO) STOCK NUMBER*VN*VENDOR ITEM NUMBER*CP*GRAINGER CUSTOMER MATERIAL NUMBER*PL*GRAINGER CUSTOMER PURCHASE ORDER LINE NUMBER*MN*MANUFACTURER MODEL NUMBER*MG*MANUFACTURERS PART NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
PO1*00002*10*EA*1.00**CB* GRAINGER SOURCING (FINDMRO) STOCK NUMBER*VN*VENDOR ITEM NUMBER*CP*GRAINGER CUSTOMER MATERIAL NUMBER*PL*GRAINGER CUSTOMER PURCHASE ORDER LINE NUMBER*MN*MANUFACTURER MODEL NUMBER*MG*MANUFACTURERS PART NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
CTT*2~
AMT*TT*2000~
SE*35*000000002~
GE*1*000000001~
IEA*1*000000001~
Grainger Parts Replenishment Purchase Order
GS*PO*SENDERGS*RECEIVERGS*20231030*022724*000000001*X*004010~
ST*850*000000002~
BEG*00*NE*4400000000**20041001~
REF*IA*Supplier vend # 2000+4 digits~
PER*BD*GRAINGER BUYER NAME*TE*BUYER PHONE NUMBER*FX*BUYER FAX NUMBER*EM*BUYER EMAIL ADDRESS~
FOB*PO*DE***FOB~
ITD************PAYMENT TERMS~
N9*L1**REFER TO MSG SEGMENT ~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
N1*OB*GRAINGER~
N1*VN*SUPPLIER NAME~
N1*ST*GRAINGER PARTS*92*970~
N2*ATTENTION NAME 1*ATTENTION NAME 2~
N3*SHIP TO ADDRESS 1*SHIP TO ADDRESS2~
N4*CITY*00*ZIPCODE*000~
PO1*00001*10*EA*1.00**CB*GRAINGER STOCK NUMBER*VN*VENDOR ITEM NUMBER*******MG*MANUFACTURER PART NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
PO1*00002*10*EA*1.00**CB*GRAINGER STOCK NUMBER*VN*VENDOR ITEM NUMBER*******MG*MANUFACTURER PART NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
CTT*2~
AMT*TT*2000~
SE*29*000000002~
GE*1*000000001~
IEA*1*000000001~
Grainger Replenishment Purchase Order
GS*PO*SENDERGS*RECEIVERGS*20231030*022730*000000001*X*004010~
ST*850*000000001~
BEG*00*NE*4600000000**20041001~
REF*IA*supplier vend # 2000+4 digits~
PER*BD*GRAINGER BUYER NAME*TE*BUYER PHONE NUMBER*FX*BUYER FAX NUMBER*EM*BUYER EMAIL ADDRESS~
FOB*PO*DE***FOB~
ITD************PAYMENT TERMS~
N9*L1**REFER TO MSG SEGMENT ~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
N1*OB*GRAINGER~
N1*VN*SUPPLIER NAME~
N1*ST*GRAINGER*92*001~
N2*ATTENTION NAME 1*ATTENTION NAME 2~
N3*SHIP TO ADDRESS 1*SHIP TO ADDRESS2~
N4*CITY*00*ZIPCODE*000~
PO1*00001*10*EA*1.00**CB*GRAINGER STOCK NUMBER*VN*VENDOR ITEM NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
PO1*00002*10*EA*1.00**CB*GRAINGER STOCK NUMBER*VN*VENDOR ITEM NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
CTT*2~
AMT*TT*2000~
SE*29*000000001~
GE*1*000000001~
IEA*1*000000001~
Third Party Purchase Order
GS*PO*SENDERGS*RECEIVERGS*20231030*022805*000000001*X*004010~
ST*850*000000002~
BEG*00*DR*4600000000*GRAINGER SALES ORDER NUMBER*20041001~
REF*IA*20001234~
REF*IT*1234567890~
REF*CR*1122334455~
REF*DI*2342342344~
REF*DP*4564564566~
REF*RE*7897897899~
PER*BD*GRAINGER BUYER NAME*TE*BUYER PHONE NUMBER*FX*BUYER FAX NUMBER*EM*BUYER EMAIL ADDRESS~
FOB*PO*DE***FOB~
ITD************PAYMENT TERMS~
TD5**ZZ*25811**UPS GROUND~
N9*L1**REFER TO MSG SEGMENT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
MSG*FREE FORM MESSAGE TEXT~
N1*OB*GRAINGER~
N1*VN*SUPPLIER NAME~
N1*ST*GRAINGER CUSTOMER*92*TPSO~
N2*ATTENTION NAME 1*ATTENTION NAME 2~
N3*SHIP TO ADDRESS 1*SHIP TO ADDRESS2~
N4*CITY*00*ZIPCODE*000~
PO1*00001*10*EA*1.00**CB*GRAINGER STOCK NUMBER*VN*VENDOR ITEM NUMBER*CP*GRAINGER CUSTOMER MATERIAL NUMBER*PL*GRAINGER CUSTOMER PURCHASE ORDER LINE NUMBER*MN*MANUFACTURER MODEL NUMBER*MG*MANUFACTURERS PART NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
PO1*00002*10*EA*1.00**CB*GRAINGER STOCK NUMBER*VN*VENDOR ITEM NUMBER*CP*GRAINGER CUSTOMER MATERIAL NUMBER*PL*GRAINGER CUSTOMER PURCHASE ORDER LINE NUMBER*MN*MANUFACTURER MODEL NUMBER*MG*MANUFACTURERS PART NUMBER~
PID*F****ITEM DESCRIPTION~
MSG*FREE FORM MESSAGE TEXT~
SCH*10*EA***010*20041010~
CTT*2~
AMT*TT*2000~
SE*35*000000002~
GE*1*000000001~
IEA*1*000000001~
Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on this page are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.