EDI 850 Purchase OrderPublished Jan 20, 2025 · Updated May 9, 2026

EDI 850 Purchase Order: Complete Guide

Learn everything about EDI 850 purchase order transactions with interactive examples from Walmart, Target, and Amazon. Understand segments, implementation, and best practices.

The EDI 850 is the X12 transaction set for electronic purchase orders. It is the way retailers and distributors tell their suppliers what to ship, and it is the most-used document in B2B EDI. Almost every order cycle in retail, grocery, and distribution begins with an inbound 850.

This guide walks through the structure of an 850, shows three real examples (Walmart, Target drop-ship, Amazon Vendor Central) with our interactive renderer, and covers the partner-specific gotchas that trip up most implementations.

What is an EDI 850?

An EDI 850 Purchase Order is a structured electronic order document defined by the ASC X12 standards body that buyers send to suppliers to initiate a B2B order. It carries everything a vendor needs to fulfill (PO number, ship-to, line items, prices, delivery dates) in a fixed format that supplier ERPs can ingest without human re-keying.

The base 850 structure is governed by the X12 standards. Trading partners extend it with their own conventions:

  • The X12.org Transaction Sets reference defines the base 850 segments every implementation starts from
  • GS1 US standards govern the GTIN/UPC identifiers carried in PO108-PO109 line item segments
  • Each large retailer (Walmart, Target, Amazon Vendor Central, Kroger, Costco) publishes its own EDI implementation guide describing required references, qualifiers, and timing rules that suppliers must follow to avoid chargebacks

What's in an 850

An 850 contains everything a vendor needs to fulfill an order:

FieldWhere it livesExample
Order numberBEG034500123456
Order dateBEG0520231120 (CCYYMMDD)
Ship-to addressN1*ST + N3 + N4Walmart Store #001, Bentonville AR
Bill-to addressN1*BT + N3 + N4Walmart Inc, corporate
Line itemsPO1 + PID per lineQty, UOM, unit price, vendor SKU, UPC
Delivery dateDTM*00220231123
Ship windowsDTM*010 / DTM*011"Not before / not later than"
Special termsREF segmentsDepartment, allowance, routing codes

Interactive example: Walmart 850

This is a real Walmart purchase order shape. Use the Plain English tab below for a human-readable translation, the Split View to see raw and parsed side-by-side, or click any segment to break it down element-by-element.

Live exampleWalmartEDI 850

Walmart 850 Purchase Order (Basic)

A basic Walmart purchase order with multiple line items

Transaction Type
850 Purchase Order
Trading Partners
WALMART → VENDOR123
Line Items
3 items
$5,096.50
Validation
All checks passed
Ship To
WALMART STORE 001
123 MAIN STREET, BENTONVILLE, AR, 72712
Bill To
WALMART INC
702 SW 8TH STREET, BENTONVILLE, AR, 72716
Key Dates
Interchange: 2023-11-20
Order: 2023-11-20
Delivery: 2023-11-23
/ search navigateesc close

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WALMART *ZZ*VENDOR123 *231120*1430*U*00401*000000001*0*P*:~
2
GS*PO*WALMART*VENDOR123*20231120*1430*1*X*004010~
3
ST*850*0001~
4
BEG*00*SA*4500123456**20231120~
5
REF*DP*001~
6
REF*IA*STORE001~
7
DTM*002*20231123~
8
N1*ST*WALMART STORE 001*92*001~
9
N3*123 MAIN STREET~
10
N4*BENTONVILLE*AR*72712~
11
N1*BT*WALMART INC*92*WALMART~
12
N3*702 SW 8TH STREET~
13
N4*BENTONVILLE*AR*72716~
14
PO1*001*100*EA*15.99*PE*VN*PROD-12345*UP*012345678901~
15
PID*F****Blue T-Shirt - Size L~
16
PO1*002*50*EA*29.99*PE*VN*PROD-67890*UP*012345678902~
17
PID*F****Denim Jeans - Size 32~
18
PO1*003*200*EA*9.99*PE*VN*PROD-11111*UP*012345678903~
19
PID*F****White Socks - 3 Pack~
20
CTT*3~
21
SE*20*0001~
22
GE*1*1~
23
IEA*1*000000001~

Human-Readable

Interchange

Sender ID(ZZ)WALMART
Receiver ID(ZZ)VENDOR123
Date231120
Time1430
Control Number000000001
Acknowledgment RequestedNo

Functional Group

Functional IDPOPurchase Order
SenderWALMART
ReceiverVENDOR123
Date20231120
Time1430
Control Number1
Transactions1

Transaction 850

Purchase Order
Transaction Type850
Control Number0001
Segments17

Order Information

Order Number4500123456
Date20231120

References

DP001
IASTORE001

Line Items (3)

Line 001
Product: VN (PROD-12345)
Qty: 001 EA
$15.99
Line 002
Product: VN (PROD-67890)
Qty: 002 EA
$29.99
Line 003
Product: VN (PROD-11111)
Qty: 003 EA
$9.99
Total Line Items3
1 functional group1 transactionControl #000000001Valid

Key segments explained

BEG — Beginning segment

The header that opens every 850. Four elements you'll always see:

  • BEG01 — Transaction set purpose code. 00 is original, 01 is cancellation, 04 is change, 05 is replacement.
  • BEG02 — Purchase order type. SA is stand-alone (most common), DS is drop ship, NE is new order with no obligation, BK is blanket.
  • BEG03 — Purchase order number. The buyer's PO # — what you'll reference back in your 855 acknowledgment and 810 invoice.
  • BEG05 — Order date in CCYYMMDD format.

PO1 — Line item baseline

One PO1 segment per ordered line. The shape is:

PO1*<line#>*<qty>*<UOM>*<unit price>*<basis>*<ID qual>*<ID>*<ID qual>*<ID>...

  • PO101 — Line number (001, 002, ...)
  • PO102 — Quantity ordered
  • PO103 — Unit of measure (EA, CA, PL, etc.)
  • PO104 — Unit price
  • PO106/107 — First product identifier qualifier + value (e.g. VN*PROD-12345 for vendor part number)
  • PO108/109 — Second identifier (e.g. UP*012345678901 for UPC)

A PID segment usually follows each PO1 to carry the free-text product description.

N1 — Name segments

Identify the parties involved. The qualifier in N101 tells you which party:

  • N1*ST — Ship-to location
  • N1*BT — Bill-to
  • N1*BY — Buyer (purchasing org)
  • N1*SE — Selling party

DTM — Date/time references

  • DTM*002 — Requested delivery date
  • DTM*010 — Ship not before
  • DTM*011 — Ship not later than
  • DTM*037 — Ship date

Three real-world variants

The 850 is a flexible spec, and every retailer uses it slightly differently. Here are the three patterns that cover most of the volume in B2B retail.

1. Retail replenishment (Walmart, Target, Kroger)

Standard store replenishment orders. Ship to a warehouse or store, in case-pack quantities, to a routing-guide-defined window. The Walmart example above is the canonical shape.

Common requirements:

  • Strict routing guides (you ship to the right DC at the right time or you eat chargebacks)
  • Department-level reference numbers in REF*DP
  • UPC validation — wrong check digit means rejection

2. Drop-ship orders (Target, Amazon, Wayfair)

The retailer takes the consumer's order, then sends an 850 to you to ship directly to the end consumer. The N1*ST becomes a residential address.

Live exampleTargetEDI 850

Target 850 Purchase Order (Drop Ship)

Target drop ship order with ship-to consumer address

Transaction Type
850 Purchase Order
Trading Partners
TARGET → SUPPLIER456
Line Items
2 items
$99.98
Validation
All checks passed
Ship To
JOHN DOE
456 ELM AVENUE APT 2B, MINNEAPOLIS, MN, 55401
Key Dates
Interchange: 2023-11-20
Order: 2023-11-20
Delivery: 2023-11-25
/ search navigateesc close

Raw EDI (X12)

1
ISA*00* *00* *ZZ*TARGET *ZZ*SUPPLIER456 *231120*1445*U*00401*000000002*0*P*:~
2
GS*PO*TARGET*SUPPLIER456*20231120*1445*2*X*004010~
3
ST*850*0002~
4
BEG*00*DS*TGT987654**20231120~
5
REF*DP*DROPSHIP~
6
REF*CO*WEB-ORDER-12345~
7
DTM*002*20231125~
8
N1*ST*JOHN DOE~
9
N3*456 ELM AVENUE APT 2B~
10
N4*MINNEAPOLIS*MN*55401~
11
PO1*001*1*EA*79.99*PE*VN*KITCHEN-001*UP*098765432101~
12
PID*F****Stainless Steel Blender~
13
PO1*002*1*EA*19.99*PE*VN*KITCHEN-002*UP*098765432102~
14
PID*F****Glass Mixing Bowl Set~
15
CTT*2~
16
SE*15*0002~
17
GE*1*2~
18
IEA*1*000000002~

Human-Readable

Interchange

Sender ID(ZZ)TARGET
Receiver ID(ZZ)SUPPLIER456
Date231120
Time1445
Control Number000000002
Acknowledgment RequestedNo

Functional Group

Functional IDPOPurchase Order
SenderTARGET
ReceiverSUPPLIER456
Date20231120
Time1445
Control Number2
Transactions1

Transaction 850

Purchase Order
Transaction Type850
Control Number0002
Segments12

Order Information

Order NumberTGT987654
Date20231120

References

DPDROPSHIP
COWEB-ORDER-12345

Line Items (2)

Line 001
Product: VN (KITCHEN-001)
Qty: 001 EA
$79.99
Line 002
Product: VN (KITCHEN-002)
Qty: 002 EA
$19.99
Total Line Items2
1 functional group1 transactionControl #000000002Valid

What changes from a replenishment 850:

  • BEG02 flips to DS (drop ship)
  • N1*ST carries the consumer's name and address (no 92* location code)
  • A REF*CO segment usually carries the consumer-facing order ID
  • Quantities are typically 1 per line (consumer single-purchase units)

3. Amazon Vendor Central

Amazon's 850 follows the same X12 spec but with Amazon-specific quirks: ASIN-based identifiers, fulfillment-center routing codes, and strict delivery windows.

Live exampleAmazonEDI 850

Amazon 850 Purchase Order (Vendor Central)

Amazon Vendor Central purchase order for FC replenishment

Transaction Type
850 Purchase Order
Trading Partners
AMAZON → VENDOR789
Line Items
3 items
$19,737.00
Validation
All checks passed
Ship To
AMAZON.COM DEDC LLC
24208 SAN MICHELE ROAD, MORENO VALLEY, CA, 92551
Buyer
AMAZON.COM LLC
Key Dates
Interchange: 2023-11-20
Order: 2023-11-20
Delivery: 2023-11-27
/ search navigateesc close

Raw EDI (X12)

1
ISA*00* *00* *12*AMAZON *ZZ*VENDOR789 *231120*1500*U*00401*000000003*0*P*:~
2
GS*PO*AMAZON*VENDOR789*20231120*1500*3*X*004010~
3
ST*850*0003~
4
BEG*00*NE*AMZ-PO-123456**20231120~
5
REF*DP*ONT8~
6
REF*MR*MERCHANDISE-TYPE-A~
7
DTM*002*20231127~
8
DTM*010*20231201~
9
N1*ST*AMAZON.COM DEDC LLC*92*ONT8~
10
N3*24208 SAN MICHELE ROAD~
11
N4*MORENO VALLEY*CA*92551~
12
N1*BY*AMAZON.COM LLC*92*AMAZON~
13
PO1*001*500*EA*12.50*PE*VN*ASIN-B001*UK*B001ABC123~
14
PID*F****Wireless Mouse - Black~
15
PO1*002*300*EA*24.99*PE*VN*ASIN-B002*UK*B002DEF456~
16
PID*F****USB-C Cable 6ft - White~
17
PO1*003*1000*EA*5.99*PE*VN*ASIN-B003*UK*B003GHI789~
18
PID*F****Phone Case - Clear~
19
CTT*3~
20
SE*18*0003~
21
GE*1*3~
22
IEA*1*000000003~

Human-Readable

Interchange

Sender ID(12)AMAZON
Receiver ID(ZZ)VENDOR789
Date231120
Time1500
Control Number000000003
Acknowledgment RequestedNo

Functional Group

Functional IDPOPurchase Order
SenderAMAZON
ReceiverVENDOR789
Date20231120
Time1500
Control Number3
Transactions1

Transaction 850

Purchase Order
Transaction Type850
Control Number0003
Segments16

Order Information

Order NumberAMZ-PO-123456
Date20231120

References

DPONT8
MRMERCHANDISE-TYPE-A

Line Items (3)

Line 001
Product: VN (ASIN-B001)
Qty: 001 EA
$12.50
Line 002
Product: VN (ASIN-B002)
Qty: 002 EA
$24.99
Line 003
Product: VN (ASIN-B003)
Qty: 003 EA
$5.99
Total Line Items3
1 functional group1 transactionControl #000000003Valid

Amazon-specific notes:

  • Ship-to is the FC code (e.g. ONT8, LAX9) — you must ship to the right FC
  • Product identifier is usually UK*<ASIN> (UK = GTIN-style qualifier Amazon uses)
  • DTM*010 (ship not before) and DTM*011 (ship not later than) are non-negotiable — late deliveries trigger chargebacks
  • Large quantities — case-pack and pallet-quantity awareness matters

Implementation best practices

Validate before you acknowledge

Don't send a clean 855 ack until you've actually validated the 850. Check:

  • UPC/GTIN check: Confirm the value in PO108-PO109 is 12 digits with a passing mod-10 check digit before you accept the line.
  • Vendor part resolves: Verify PO106-PO107 (with VN qualifier) maps to a live SKU in your item master, not a discontinued or unmapped record.
  • Quantity sanity: Reject orders where PO102 is zero or fractional for an EA unit of measure, since those usually indicate a partner mapping bug.
  • Achievable delivery: Compare DTM*002 against the SKU's lead time and your fulfillment center's cutoff times before promising.
  • Complete ship-to: Reject the 850 (or escalate) if N1*ST is present but missing N3 or N4, since the order is not actionable without a full address.

Respond on time

After receiving an 850, you typically owe the trading partner three responses:

ResponseWhenPurpose
997 Functional AckWithin 24 hours"I received the 850 and it parsed"
855 PO AcknowledgmentWithin 48 hours"I will fulfill (or partially fulfill) this order"
856 ASNAt time of shipment"Here's what's on the truck"
810 InvoiceAfter delivery"Pay me this amount"

Missing a 997 is the fastest way to get flagged as non-compliant.

Common errors to avoid

Missing required segments

Bad:  BEG*00*SA*PO123**20231120~PO1*001*100*EA*15.99~CTT*1~SE*4*0001~
Good: BEG*00*SA*PO123**20231120~N1*ST*BUYER...~N3*ADDR~N4*CITY*ST*ZIP~PO1...~CTT*1~SE*7*0001~

You need at minimum a ship-to (N1*ST + N3 + N4) for the order to be actionable.

Invalid UPC format

Bad:  PO1*001*100*EA*15.99*PE*VN*PROD-1*UP*12345
Good: PO1*001*100*EA*15.99*PE*VN*PROD-1*UP*012345678901

UPCs are 12 digits with a mod-10 check digit. Anything shorter is malformed.

Date format errors

Bad:  DTM*002*11/20/2023
Good: DTM*002*20231120

X12 dates are always CCYYMMDD — no separators, no two-digit years.

Test your own 850s

Drop your own EDI 850 file into our free EDI Inspector to:

  • Validate segment structure against the X12 spec
  • Check for missing required elements
  • Translate to plain English for non-EDI stakeholders
  • Export to JSON or CSV for downstream processing
  • Compare against trading partner specs

Related transaction sets

Frequently Asked Questions

What is the difference between an EDI 850 and an EDI 875?

The 850 is the general-purpose X12 purchase order used across retail, distribution, and manufacturing. The 875 is the grocery-specific PO format used by some grocery chains, with extensions for case and pallet quantities, voluntary product groups, and grocery item dimensions. If you're trading with a grocery retailer, check their implementation guide — most have moved to the 850 with grocery extensions, but a few still require the 875.

Does an 850 have to be acknowledged?

Most trading partners require both a 997 Functional Acknowledgment (proof you received the document syntactically) and an 855 Purchase Order Acknowledgment (proof you accept or reject the order at a business level). The 997 is usually due within minutes; the 855 is typically due within 24 hours. Skipping either is one of the most common chargeback triggers.

What's the difference between BEG02 = "SA" and BEG02 = "DS"?

BEG02 is the purchase order type. "SA" means stand-alone (a normal stocking order), "DS" means drop-ship (the buyer wants the goods shipped directly to a consumer or third party), and "NE" means new order (often used by Amazon Vendor Central). The type changes how you fulfill it — drop-ship orders carry consumer addresses in N1*ST, and replenishment orders carry store or DC codes.

How do I match line items between an 850 and an 856 ASN?

Use the vendor part number (PO106-PO107 on the 850 maps to LIN02-LIN03 on the ASN with VN qualifier) plus the UPC (PO108-PO109 maps to LIN02-LIN03 with UP qualifier). Buyer ERPs match on both. If your part numbers drift between the 850 and 856, expect rejections.

Why does an 850 sometimes have multiple N1*ST segments?

Because the order is split across multiple ship-to locations. Walmart and Target chain orders frequently carry one PO with line items destined for different stores. The HL hierarchy or repeated N1*ST blocks tell you which lines go where. If you flatten this away during import, you lose the routing data and goods will end up in the wrong places.

Need help?

Try our free EDI inspector to validate your 850 documents, or contact our team for implementation support.

James Darby
Last updated: 5/9/2026
EDI 850 Purchase Order: Complete Guide | OrderSync