850 Purchase Order

Follow the guidelines in this article to use the Purchase Order Transaction Set (850) with an EDI interface.

Note: You can also view this article in Word format: Walmart.com Drop Ship Vendor_850_4010_EDI.docx

Functional Group PO

This Draft Standard for Trial Use contains the format and establishes the data contents of the Purchase Order Transaction Set (850) for use in an EDI environment. Use this transaction set to convey purchase order information for goods and services. Do not use this transaction set to convey purchase order changes or purchase order acknowledgment information.

Heading

PosIDSegment NameReqMax UseRepeatNotesUsage
010STTransaction Set HeaderM1Must use
020BEGBeginning Segment for Purchase OrderM1Must use
050REFReference IdentificationO>1Must use
090CTPPricing InformationO>1Must use
110CSHSales RequirementsO5Must use
150DTMDate/Time ReferenceO10Must use
LOOP ID – N91000
295N9Reference IdentificationO1LOOP ID – N9Must use
300MSGMessage TextO1000LOOP ID – N9Must use
LOOP ID – N1200
310N1NameO1LOOP ID – N1Must use
330N3Address InformationO2LOOP ID – N1Must use
340N4Geographic LocationO>1LOOP ID – N1Must use
350REFReference IdentificationO12LOOP ID – N1Dependent
360PERAdministrative Communications ContactO>1LOOP ID – N1Dependent
390TD5Carrier Details (Routing Sequence/Transit Time)O12LOOP ID – N1Dependent

Detail

PosIDSegment NameReqMax UseRepeatNotesUsage
LOOP ID – P01100000
010P01Baseline Item DataM1LOOP ID – P01Must use
LOOP ID – PID1000
050PIDProduct/Item DescriptionO1LOOP ID – PIDMust use
LOOP ID – SAC25
130SACService, Promotion, Allowance, or Charge InformationO1LOOP ID – SACMust use
LOOP ID – N91000
330N9Reference IdentificationO1LOOP ID – N9Dependent
340MSGMessage TextO1000LOOP ID – N9Dependent

Summary

PosIDSegment NameReqMax UseRepeatNotesUsage
LOOP ID – CTT1
010CTTTransaction TotalsO1N3/010Must use
030SETransaction Set TrailerM1Must use

Notes

  • N3/010: The number of line items (CTT01) is the accumulation of the number of PO1 segments.

Sample 850 file

S2HS2SPAYPALGIFT CARDDISCOUNTGIFTWRAPS2HS2SPAYPALGIFT CARDDISCOUNTGIFTWRAP

ISA*00* *00* *01*12571829 *12*8478505336*070413*1811*U*00401*000000014*0*T*>
GS*PO*12571829*8478505336*20070413*1811*000000007*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 Lightsaber - 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*40*0001
GE*1*000000007
IEA*1*000000014

ST: Transaction Set Header

Indicates the start of a transaction set and to assign a control number.

Usage Option: Must Use

  • Pos: 010
  • Max: 1
  • Heading – Mandatory
  • Loop: N/A
  • Elements: 2

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
ST01143Transaction Set Identifier CodeMID3/3
ST02329Transaction Set Control NumberMAN4/9

BEG: Beginning segment for purchase order

Indicates the beginning of the Purchase Order Transaction Set and transmits identifying numbers and dates.

  • Pos: 020
  • Max: 1
  • Heading – Mandatory
  • Loop: N/A
  • Elements: 4
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
BEG01353Transaction Set Purpose CodeMID2/200Original
BEG0292Purchase Order Type CodeMID2/2DSDropship
BEG03324Purchase Order NumberMAN1/22
BEG05373DateMDT8/8Date the Purchase Order was created

REF: Reference identification 1

Specifies identifying information.

  • Pos: 050
  • Max: >1
  • Heading – Optional
  • Loop: N/A
  • Elements: 2
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
REF01128Reference Identification QualifierMID2/3COCustomer Order Number
REF02127Reference IdentificationXAN1/30

Segment notes

Contains the customer's order number (13-digit numeric). This number cannot be unique across all Purchase Orders.

REF: Reference identification 2

Specify identifying information.

  • Pos: 050
  • Max: >1
  • Heading – Optional
  • Loop: N/A
  • Elements: 2
  • Usage option: Must use for site to store orders

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
REF01128Reference Identification QualifierMID2/3STWalmart Store Number
REF02127Reference IdentificationXAN1/30

Segment notes

Contains the Walmart Store Number for ship-to-store orders.

REF: Reference identification 3

Specifies identifying information.

  • Pos: 050
  • Max: >1
  • Heading – Optional
  • Loop: N/A
  • Elements: 2
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
REF01128Reference Identification QualifierMID2/3IAInternal Vendor Number
REF02127Reference IdentificationXAN1/30

Segment notes

Walmart Assigned Internal Vendor Number. This is not used even though it always appears in the order file.

REF: Reference identification 4

Specifies identifying information.

  • Pos: 050
  • Max: >1
  • Heading – Optional
  • Loop: N/A
  • Elements: 2

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
REF01128Reference Identification QualifierMID2/3VRFacility ID Number
REF02127Reference IdentificationXAN1/30

Segment Notes

Walmart.com Assigned Facility ID Number. This segment will be sent only if the vendor has multiple ship points or Facilities. REF-02 has the Facility Number from where the order is to be shipped.

CTP: Pricing information

Specifies pricing information.

  • Pos: 090
  • Max: >1
  • Heading – Optional
  • Loop: N/A
  • Elements: 4
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
CTP01687Class of Trade CodeMID2/2RSResale
CTP03212Unit PriceMR1/17
CTP04380QuantityMR1/15
CTP05C001Component Unit of MeasureOTComp
355MID2/2EAEach

Segment notes

Contains the total retail amount of this purchase order. Used to validate the data consistency of this message.

  • Total retail price for this purchase order, including all lines, charges, and adjustments. For gift orders, this value is zero.
  • Always 1 unit quantity.

CSH: Sales requirements

Specifies general conditions or requirements of the sale.

  • Pos: 110
  • Max: 5
  • Heading – Optional
  • Loop: N/A
  • Elements: 1
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
CSH01563Sales Requirement CodeOID2/2P2Ship as soon as possible

Segment Notes

Contains a code used to suppress split shipments within a facility. Use one of the following values:

  • P2: Ship as soon as possible
  • SC: Ship Complete

DTM: Date and time reference

Specify dates and times.

  • Pos: 150
  • Max: 10
  • Heading – Optional
  • Loop: N/A
  • Elements: 2
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
DTM01374Date/Time QualifierMID3/3see Notes
DTM02373DateXDT8/8

Segment notes

There is always a DTM segment containing the date the order was placed (DTM01 = “806”). There can 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. Other values are as follows:

  • 002: Delivery Requested
  • 806: Customer Order
  • 010: Expected Ship Date (optional)
  • 009: Order Processing Date (optional)

N9: Reference identification

Transmits identifying information as specified by the reference identification qualifier.

  • Pos: 295
  • Max: 1
  • Heading – Optional
  • Loop: N9
  • Elements: 2
  • Usage option: Must use

Element Summary

RefIDElement NameReqTypeMin/MaxCodeName
N901128Reference Identification QualifierMID2/3ZZMutually Defined
N902127Reference IdentificationXAN1/30see notes

Segment notes

The N9 segments with N9-01=ZZ are always sent in the order file. This is not to be used. Presently, the N9-02 always contains the following values.

  • RETURNSMSG: Returns Message
  • MARKETINGMSG: Marketing Message
  • LASTDELIVERYMSG: Last Delivery Message

MSG: Message text 1

Provides a free-form format that allows the transmission of text information.

  • Pos: 300
  • Max: 1000
  • Heading – Optional
  • Loop: N9
  • Elements: 3
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
MSG01933Free-Form Message TextMAN1/264
MSG02934Printer Carriage Control CodeXID2/2AAAdvance the Specified Number of Lines before Print
MSG031470NumberON01/9Message Line Number (1 to 4)

Segment notes

  • The MSG segments with MSG-02=AA are always sent in the order file. This is not to be used
  • Each message can have four lines and contain up to 100 characters of data per line

N1: Name

Identifies a party by type of organization, name, and code.

  • Pos: 310
  • Max: 1
  • Heading – Optional
  • Loop: N1
  • Elements: 2
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
N10198Entity Identifier CodeMID2/3see notes
N10293NameXAN1/60

Segment notes

This loop contains three addresses related to this purchase order, and this segment (N101) defines the type of data to follow. The codes for N101 that are available are BT, RT, ST, and FD.

  • BT: Bill-to-party – The N1 loop when N101=BT (Bill To) address is optional
  • RT: Returned to
  • ST: Ship To – The N1 loop when N101=ST (Ship to) address is always sent in the 850.
  • FD: Physical Address – FD is used to specify the physical address of a Walmart facility for the case of orders using ship codes 81 and 91 (Wal-Mart transportation ). In that case, the optional N103/N104 elements are populated to provide the Walmart ID number for the facility, and N102 will be populated with ‘RDC’ or ‘WPM’ for this case.

N3: Address information

Specifies the location of the named party.

  • Pos: 330
  • Max: 2
  • Heading – Optional
  • Loop: N1
  • Elements: 2
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
N301166Address InformationMAN1/55
N302166Address InformationOAN1/55

N4: Geographic location

Specifies the geographic place of the named party.

  • Pos: 340
  • Max: >1
  • Heading – Optional
  • Loop: N1
  • Elements: 4
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
N40119City NameOAN2/30
N402156State or Province CodeOID2/2
N403116Postal CodeOID3/15
N40426Country CodeOID2/3see notes
N405309Location QualifierXID1/2GLsee notes
N406310Location QualifierOAN1/30GLNsee notes

Segment notes

  • N404: Use the ISA ALPHA-3 Country Code.
  • N405: GL used only for Integrated Shipping (backhaul)
  • N406: GLN (Global Location Number of the facility) used only for Integrated Shipping (backhaul)

REF: Reference identification 5

Specifies identifying information.

  • Pos: 350
  • Max: 12
  • Heading – Optional
  • Loop: N1
  • Elements: 3
  • Usage option: Conditional

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
REF01128Reference Identification QualifierMID2/3see notes
REF02127Reference IdentificationXAN1/30see notes
REF04C040Reference IdentifierOComp2/3ZZMutually Defined

Segment notes

  • 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).
  • REF04 Only used if REF01 = “PN”

PER: Administrative communications contact

Identifies a person or office to whom administrative communications should be directed.

  • Pos: 360
  • Max: >1
  • Heading – Optional
  • Loop: N1
  • Elements: 6
  • Usage option: Conditional

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
PER01366Contact Function CodeMID2/2see notes
PER0293NameOAN1/60
PER03365Communication Number QualifierXID2/2TETelephone
PER04364Communication NumberXAN1/80
PER05365Communication Number QualifierXID2/2EMElectronic Mail
PER06364Communication NumberXAN1/80

Segment notes

  • Segment mandatory with PER01 = “BI” for N101 = “BT”
  • Segment mandatory with PER01 = “RE” for N101 = “ST”

For the PER01 Contact Function Code, use one of the following:

  • BI: Bill Inquiry Contact
  • RE: Receiving Contact

TD5: Carrier details

Specifies the carrier and sequence of routing and provide transit time information.

  • Pos: 390
  • Max: 12
  • Heading – Optional
  • Loop: N1
  • Elements: 6
  • Usage option: conditional

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
TD501133Routing Sequence CodeOID1/2OOrigin Carrier (Air, Motor, or Ocean)
TD50266Identification Code QualifierXID1/293Code assigned by the organization originating the transaction set
TD50367Identification CodeXAN2/80see notes
TD507309Location QualifierOID1/2ISIn Store (see notes)
TD508310Location IdentifierXAN1/30see notes
TD512284Service Level CodeXID2/2see notes

Segment notes

If the customer chooses in-store pickup, then TD507 and TD508 are required to specify the store number. All suppliers do not support this delivery method.

  • TD508 value is the store number if TD507 = ‘IS’

TD512 is the service level chosen by the customer for this order. TD512 can use one of the following codes:

  • ND: Next Day Air
  • SE: Second Day
  • SG: Standard Ground
  • ZZ: Mutually Defined
  • DF: Value Shipping

TD503 can use one of the following codes:

CMIDXMLCarrier Method NameCARRIER
99UPS Second Day AirUPS
1717Common CarrierCommon Carrier
1818FedEx FreightFedEx
1919FedEx Express Saver (3-Day Service)FedEx
2020FedEx GroundFedEx
2121FedEx Priority OvernightFedEx
2222FedEx 2-DayFedEx
2424FedEx Standard Overnight (PM Delivery)FedEx
3131USPS Priority MailUSPS
4343Pilot Freight Basic DeliveryPilot
6565FedEx Smartpost Over 1lbSmartpost
6666FedEx Smartpost Under 1lbSmartpost
6767FedEx Home DeliveryFedEx
6820FedEx GroundFedEx
7979FedEx Ground – S2SFedEx
8080UPS Ground – S2SUPS
8282Seko WorldwideSeko
9090Yellow Freight System – S2SYRC
9797UPS Second Day Air – S2SUPS
9898DownloadsIn-Store Pickup
14343Pilot Freight Room of Choice DeliveryPilot
15555Estes Forwarding Worldwide Basic DeliveryEstes
22322FedEx 2-DayFedEx
24343Pilot Freight White-GlovePilot
25555Estes Forwarding Worldwide Glove DeliveryEstes
26767FedEx Home DeliveryFedEx
35555Estes Forwarding Worldwide Room of Choice DeliveryEstes
44343Pilot Freight Unattended DeliveryPilot
5012UPS GroundUPS
545146NSD for DSVNon-Stop Delivery
676120FedEx Ground Cold SplitFedEx
676267FedEx Home Delivery Cold SplitFedEx
676320FedEx Ground Cold SplitFedEx
676467FedEx Home Delivery Cold SplitFedEx
6766801FedEx Ground Hot SplitFedEx
6767802FedEx Home Delivery Hot SplitFedEx
6768801FedEx Ground Hot SplitFedEx
6769802FedEx Home Delivery Hot SplitFedEx

PO1: Baseline item data

Specifies basic and most frequently used line item data.

  • Pos: 010
  • Max: 1
  • Detail – Mandatory
  • Loop: PO1
  • Elements: 11
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
PO101350Assigned IdentificationOAN1/20Refer to notes
PO102330Quantity OrderedXR1/15
PO103355Unit or Basis for Measurement CodeOID2/2EAEach
PO104212Unit PriceXR1/17
PO105639Basis of Unit Price CodeOID2/2QEQuoted Price per Each
PO106235Product/Service ID QualifierXID2/2BPBuyer's Part Number
PO107234Product/Service IDXAN1/48Walmart.com item SKU
PO108235Product/Service ID QualifierXID2/2UPU.P.C. Consumer Package Code (1-5-5-1)
PO109234Product/Service IDXAN1/48Walmart Item UPC
PO110235Product/Service ID QualifierXID2/2VPVendor's (Seller’s) Part Number
PO111234Product/Service IDXAN1/48Supplier's item SKU

Segment notes

PO101 is a unique identifier for this Purchase Order Line. This number is necessary when responding with a status update or shipping notification.

PID: Product/item description

Describes a product or process in coded or free-form format.

  • Pos: 050
  • Max: 1
  • Detail – Optional
  • Loop: PID
  • Elements: 2
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
PID01349Item Description TypeMID1/1FFree-form
PID05352DescriptionXAN1/80Item description

SAC: Service, promotion, allowance, or charge information

Requests or identifies a service, promotion, allowance, or charge. Specifies the amount or percentage for the service, promotion, allowance, or charge.

  • Pos: 130
  • Max: 1
  • Detail – Optional
  • Loop: SAC
  • Elements: 5
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
SAC01248Allowance or Charge IndicatorMID1/1NNo Allowance or Charge
SAC021300Service, Promotion, Allowance, or Charge CodeXID4/4see notes
SAC08118RateOR1/9see notes
SAC12331Allowance or Charge Method of Handling CodeOID2/215Information Only
SAC15352DescriptionXAN1/80see notes

Segment notes

  • SAC02 can have one of several values listed as follows:
    • 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.
  • SAC08 should be the retail price per unit. For gift orders, this value is zero.
  • SAC15: A free-text description is supplied if SAC02 is “H000” or “H151”

N9: Reference identification 2

Transmits identifying information as specified by the reference identification qualifier.

  • Pos: 330
  • Max: 1
  • Detail – Optional
  • Loop: N9
  • Elements: 4
  • Usage option: Conditional

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
N901128Reference Identification QualifierMID2/3see notes
N902127Reference IdentificationXAN1/30see notes
N903369Free-form descriptionXAN1/45see notes
N907128Reference Identification QualifierMID2/355Sequence Number – see notes

Segment notes

  • N901 can be one of the following values:
    • QY: Service Performed Code
    • S2: Data Source
  • N902: If N901 = “QY”, then N902 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
  • N903: If N901 = “S2”, then this is the name of a dynamic data element
  • N907: If N901 = “QY”, then this contains a unique sequence number for each value-added service request

MSG: Message text 2

Provides a free-form format that allows the transmission of text information

  • Pos: 340
  • Max: 1000
  • Detail – Optional
  • Loop: N9
  • Elements: 1
  • Usage option: Conditional

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
MSG01933Free-form message textMAN1/264see notes

Segment notes

If N901 = “QY”, then 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

If N901 = “S2”, then 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 can be one or many MSG segments depending on the length of the data.

CTT: Transaction totals

Transmits a hash total for a specific element in the transaction set

  • Pos: 010
  • Max: 1
  • Summary – Optional
  • Loop: CTT
  • Elements: 1
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
CTT01354Number of Line Items (count of PO1 elements)MN01/6

SE: Transaction set trailer

Indicates the end of the transaction set and provide the count of the transmitted segments, including the beginning (ST) and ending (SE) segments.

  • Pos: 030
  • Max: 1
  • Summary – Mandatory
  • Loop: N/A
  • Elements: 2
  • Usage option: Must use

Element summary

RefIDElement NameReqTypeMin/MaxCodeName
SE0196Number of Included SegmentsMN01/10
SE02329Transaction Set Control NumberMAN4/94