X12 850 [4010] 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
- DS
- Dropship
Identifying number for Purchase Order assigned by the orderer/purchaser
Customer Order Number
To specify identifying information
Contains the customer's order number (13-digit numeric).
This number may not be unique across all Purchase Orders.
Code qualifying the Reference Identification
- CO
- Customer Order Number
Facility Id Number
To specify identifying information
Walmart.com Assigned Facility id Number. This segment will be send only if the vendor has multiple ship points or Facilities. REF-02 has the Facility Number from where the order is to be shipped.
Code qualifying the Reference Identification
- VR
- Vendor ID Number
Internal Vendor Number
To specify identifying information
Walmart Assigned Internal Vendor Number. This is not to be used even though always send in the order file.
Code qualifying the Reference Identification
- IA
- Internal Vendor Number
Walmart Store Number
To specify identifying information
Contains the Wal-mart Store Number for ship to store orders
Code qualifying the Reference Identification
- ST
- Store Number
Pricing Information
To specify pricing information
Contains the total retail amount of this Purchase Order. It may be used to validate the data consistency of this message.
Price per unit of product, service, commodity, etc.
- See Figures Appendix for an example detailing the use of CTP03 and CTP04.
- See Figures Appendix for an example detailing the use of CTP03, CTP04 and CTP07.
Total retail price for this Purchase Order, including all lines, charges and adjustments. Note: For gift orders this value is zero.
Numeric value of quantity
Always 1 unit quantity.
Sales Requirements
To specify general conditions or requirements of the sale
Contains a code used to suppress split-shipments within a facility.
Customer Order
To specify pertinent dates and times
Date/Time Reference
To specify pertinent dates and times
There may be a DTM segment containing a date on which the customer has requested the item be delivered (DTM01 = "002"). This option is not supported by all suppliers.
DTM01= “010” is for expected ship date and is optional
DTM01= “009” is for Order Processing date(OPD) and is optional
Reference Identification
To transmit identifying information as specified by the Reference Identification Qualifier
The N9 segments with N9-01=ZZ are always send in the order file. This is not to be used. Presently the N9-02 always contains the above mentioned values.
Code qualifying the Reference Identification
- ZZ
- Mutually Defined
Message Text
To provide a free-form format that allows the transmission of text information
The MSG segments with MSG-02=AA are always send in the order file. This is not to be used
Each message may have four lines and contain up to 100 characters of data per line
A field to be used for the control of the line feed of the receiving printer
- MSG02 is not related to the specific characteristics of a printer, but identifies top of page, advance a line, etc.
- AA
- Advance The Specified Number of Lines Before Print
Name
To identify a party by type of organization, name, and code
This loop contains three addresses related to this Purchase Order, and this segment (N101) defines the type of data to follow.
The N1 loop when N101=ST (Ship to) address is always send in the 850.
The N1 loop when N101=BT (Bill To) address is optional
FD is used to specify the physical address of a Walmart facility for the case of orders using ship code 81 and 91 (Walmart transportation ). In that case the optional N103/N104 elements are populated to provide the Walmart ID number for the facility N102 will be populated with ‘RDC’ or ‘WPM’ for this case.
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)
Code identifying the country
ISA ALPHA-3 Country Code. For a list of codes, see http://www.un.org/Depts/unsd/methods/m49alpha.htm.
Code identifying type of location
Used only for Integrated Shipping (backhaul). Value ‘GL’.
- GL
- Freight Station Geographic Location
Permit Number
To specify identifying information
Segments mandatory with REF01 = "4N" and “OD” for N101 = "ST".
Segments mandatory with REF01 = "PN" and "PHC" for N101 = "RT".
Code qualifying the Reference Identification
- PN
- Permit Number
Returns Permit Number. Additional data is populated in REF04.
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
REF01 = "4N": Description of billing payment method. For gift orders, this is replaced by non-descriptive text.
REF01 = "OD": Returns TC Number
REF01 = "PN": Returns Permit Number. Additional data is populated in REF04.
REF01 = "PHC": Returns Method Code of "RC" (Not pre-paid), "RP" (pre-paid) or "RS" (return to vendor).
Only used if REF01 = "PN".
Code qualifying the Reference Identification
- ZZ
- Mutually Defined
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
Returns Permit City
Code qualifying the Reference Identification
- ZZ
- Mutually Defined
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
Returns Permit State
Code qualifying the Reference Identification
- ZZ
- Mutually Defined
Reference Identification
To specify identifying information
Segments mandatory with REF01 = "4N" and “OD” for N101 = "ST".
Segments mandatory with REF01 = "PN" and "PHC" for N101 = "RT".
Code qualifying the Reference Identification
- 4N
- Special Payment Reference Number
Description of billing payment method. For gift orders, this is replaced by non-descriptive text.
- OD
- Original Return Request Reference Number
Returns TC Number
- PHC
- Process Handling Code
Returns Method Code of “RC” (Not pre-paid), “RP” (pre-paid) or “RS” (return to vendor).
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
REF01 = "4N": Description of billing payment method. For gift orders, this is replaced by non-descriptive text.
REF01 = "OD": Returns TC Number
REF01 = "PN": Returns Permit Number. Additional data is populated in REF04.
REF01 = "PHC": Returns Method Code of "RC" (Not pre-paid), "RP" (pre-paid) or "RS" (return to vendor).
Administrative Communications Contact
To identify a person or office to whom administrative communications should be directed
Segment mandatory with PER01 = "BI" for N101 = "BT".
Segment mandatory with PER01 = "RE" for N101 = "ST".
Code identifying the major duty or responsibility of the person or group named
- BI
- Bill Inquiry Contact
- RE
- Receiving Contact
Code identifying the type of communication number
- TE
- Telephone
Complete communications number including country or area code when applicable
Telephone number as 10-digit string with no punctuation.
Code identifying the type of communication number
- EM
- Electronic Mail
Carrier Details (Routing Sequence/Transit Time)
To specify the carrier and sequence of routing and provide transit time information
Code describing the relationship of a carrier to a specific shipment movement
- O
- Origin Carrier (Air, Motor, or Ocean)
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.
- 93
- Code assigned by the organization originating the transaction set
Code identifying a party or other code
A carrier method code as defined by Walmart.com. Carrier method up to 4 digits numeric.
The value of this element determines whether this is a site-to-home or site-to-store order.
Carrier codes for site-to-store orders are – 77,78,79,80, 88, 90, 92 and 97 (highlighted in blue in the list below).
- 01
- USPS 3rd Class
- 02
- UPS Ground
- 03
- Clark Transport
- 04
- Yellow Freight System
- 05
- USPS Express Mail
- 07
- USPS 4th Inter
- 08
- UPS Basic
- 09
- UPS Second day Air
- 10
- USPS First Class
- 12
- Silver Star
- 13
- UPS Second Day Ground
- 14
- Consolidation
- 16
- UPS Next Day Air
- 17
- Common Carrier
- 19
- FedEx Express Saver (3 Day Service)
- 20
- FedEx Ground
- 21
- FedEx Priority Overnight
- 22
- FedEx Two Day
- 23
- FedEx Priority Overnight (duplicate or 21)
- 24
- FedEx Standard Overnight (PM Delivery)
- 26
- UPS Next Day Air Saver
- 29
- UPS 3 Day Select
- 30
- USPS Priority Mail
- 31
- USPS Priority Mail
- 32
- OLD Dominion Freight Line LTL
- 33
- Newgistics
- 34
- Airborne Ground Delivery
- 35
- Airborne Express
- 36
- Airborne
- 37
- Airborne 2-DAY
- 38
- UPS Ground
- 41
- ABF Freight System
- 42
- Bekins
- 43
- Pilot Freight Basic Delivery
- 44
- FedEx Priority Overnight w/Saturday Delivery
- 45
- UPS Next Day Air Saver (Saturday Delivery)
- 46
- SmartMail
- 47
- USPS Media Mail
- 48
- USPS Bound Printed Matter
- 50
- Bekins Premium
- 51
- USA Truck
- 52
- Contract Freighers, Inc
- 53
- Crete Carrier
- 54
- Eagle Global Logistics - Three Day Service
- 55
- Eagle Global Logistics - Economy
- 56
- US Xpress
- 57
- Heartland Express
- 58
- Dart Transit
- 61
- UPS Ground (CTN, GA)
- 62
- UPS Ground (Parsippany, NJ)
- 63
- UPS Ground (Chicago, IL)
- 64
- UPS Ground (Vernon, CA)
- 65
- FedEx SmartPost - BMC
- 66
- FedEx SmartPost - DDU
- 67
- FedEx Home Delivery
- 68
- Streamlite
- 69
- UPS Mail Innovations BPM
- 70
- UPS Mail Innovations
- 71
- USPS
- 72
- Sun Delivery, Inc
- 73
- APX-DDU
- 76
- APX-BMC FedEx Standard Overnight - S2S
- 77
- Direct to Store FedEx Priority Overnight
- 78
- Direct to Store FedEx Two Day
- 79
- Direct to Store FedEx, Ground
- 80
- Direct to Store UPS, Ground
- 81
- In-Store delivery through WPM RDC
- 82
- Seko Worldwide
- 83
- DHL@home
- 84
- DHL@home(expedited)
- 85
- DHL 2nd Day
- 86
- DHL Next Day 03:00pm
- 87
- FTD Florist
- 88
- Direct to Store UPS Next Day Air
- 89
- 1 Hour Burn on Demand
- 90
- Direct to Store – Freight
- 91
- In-Store delivery through Bypass WPM
- 92
- Direct to Store via UPS Ground Sort (Jewelry & Media)
- 95
- Fulfilled with Inventory from a Wal-Mart Store
- 96
- UPS Next Day Air Saver - S2S
- 97
- Direct to Store UPS, second Day Air
- 98
- Downloads
- 99
- In-Store Pickup
- 100
- DHL Next Day 12:00pm
- 101
- DHL Next Day w/Sat
Code identifying type of location
If the customer chose in-store pickup, then TD507 and TD508 are required to specify the store number. All suppliers do not support this delivery method.
- IS
- In Store
Code which identifies a specific location
Wal-Mart Store Number if TD507 = "IS".
Code indicating the level of transportation service or the billing service offered by the transportation carrier
Code indicating the service level chosen by the customer for this order.
- DF
- Value shipping
- ND
- Next Day Air
- SE
- Second Day
- SG
- Standard Ground
- ZZ
- Mutually Defined
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.
Unique identifier for this Purchase Order Line. This number is necessary when responding with a status update or shipping notification.
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
- EA
- Each
Price per unit of product, service, commodity, etc.
Code identifying the type of unit price for an item
- QE
- Quoted Price per Each
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
Identifying number for a product or service
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)
Identifying number for a product or service
Wal-Mart Item UPC
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
- VP
- Vendor's (Seller's) Part Number
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
Service, Promotion, Allowance, or Charge Information
To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service, promotion, allowance, or charge
SAC02 = "D340": Charge to the customer for each item - always present.
SAC02 = "G830": Charge to the customer for shipping and handling - always present.
SAC02 = "H850": Charge to the customer for sales tax - always present.
The below segments are not always present in the 850.
SAC02 = "H000": Allowance to the customer for customer service adjustment or promotion - present only if non-zero.
SAC02 = "H151": Charge to the customer for value-added service - present only if non-zero.
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
Code identifying the service, promotion, allowance, or charge
- D340
- Goods and Services Charge
Charge to the customer for each item – always present.
- G830
- Shipping and Handling
Charge to the customer for shipping and handling – always present.
- H000
- Special Allowance
Allowance to the customer for customer service adjustment or promotion – present only if non-zero.
- H151
- Special Services
Charge to the customer for value-added service – present only if non-zero.
- H850
- Tax
Charge to the customer for sales tax – always present.
Rate expressed in the standard monetary denomination for the currency specified
- SAC08 is the allowance or charge rate per unit.
Retail price per unit. Note: For gift orders this value is zero.
Code indicating method of handling for an allowance or charge
- 15
- Information Only
This segment contain dynamic-data elements for item configuration
Reference Identification
To transmit identifying information as specified by the Reference Identification Qualifier
Code qualifying the Reference Identification
- S2
- Data Source
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
Message Text
To provide a free-form format that allows the transmission of text information
There are MSG segments containing the dynamic-data value corresponding to the N903 dynamic-data name. The data will be split into 264 character blocks, so there may be one or many MSG segments depending on the length of the data.
Reference Identification
To transmit identifying information as specified by the Reference Identification Qualifier
This segment contain value-added services that the customer has requested
The N9 segments with N901=QY will be send when the order is a Gift order with Gift message, Gift wrapping or Gift Tag
Code qualifying the Reference Identification
- QY
- Service Performed Code
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
This is a value-added service code as defined by Walmart.com.
- VGM
- Gift Message (Four Lines)
- VGT
- Gift Tag (To/From)
- VGW
- Gift Wrapping
- VSR
- Signature on Delivery
Then this contains a unique sequence number for each value-added service request.
Code qualifying the Reference Identification
- 55
- Sequence Number
Message Text
To provide a free-form format that allows the transmission of text information
There is one MSG element for each value-added service data element. MSG01 will contain a name/value pair separated by a "|" character (e.g. "LINE1|Hi Mom").
There will 4 MSG segments containing 4 lines of text when N9-02=VGM.
When N9-02=VSR ,MSG-01 =SOD|Y for signature on delivery
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.
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
sample
GS*PO*SENDERGS*RECEIVERGS*20231106*140421*000000001*X*004010
ST*850*0001
BEG*00*DS*12635837**20070413
REF*CO*8890500613298
CTP*RS**41.28*1*EA
CSH*SC
DTM*806*20180412
DTM*002*20180416
DTM*010*20180412
N9*ZZ*MARKETINGMSG
MSG*0*AA*1
MSG*0*AA*2
MSG*0*AA*3
MSG*0*AA*4
N9*ZZ*RETURNSMSG
MSG*0*AA*1
MSG*0*AA*2
MSG*0*AA*3
MSG*0*AA*4
N9*ZZ*LASTDELIVERYMSG
MSG*0*AA*1
MSG*0*AA*2
MSG*0*AA*3
MSG*0*AA*4
N1*ST*Tom Smith
N3*12323 ABC Street
N4*lowell*MA*01854*USA
REF*4N*MC-1114
REF*OD*71324148259778701029
PER*RE*Tom Smith*TE*9780032345
TD5*O*93*02*********SG
PO1*1*1*EA*23.50*QE*BP*3335027*UP*0083645300100*VP*SW-306
PID*F****Star Wars Darth Vader Lightaber - Episode III, .45 Scaled Re
SAC*N*D340******33.63****15
SAC*N*G830******5.97****15
SAC*N*H850******1.68****15
CTT*1
SE*37*0001
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.