Purchase Order
The X12 850 is the electronic purchase order a buyer sends to a supplier to request goods or services, replacing paper or PDF POs with a structured, machine-readable document.
In this guide
850 Purchase Order moves from Buyer / Retailer / Distributor to Supplier / Manufacturer / Vendor (Buyer → Seller) via AS2, SFTP, VAN. The interactive diagram below traces every business and technical step the message passes through — press Play Flow to watch it travel, or click any step for detail.
How it works
How 850 Purchase Order Works
Sender
Buyer / Retailer / Distributor
Receiver
Supplier / Manufacturer / Vendor
Direction
Buyer → Seller
Standard
ANSI ASC X12
Version
005010
Transport
AS2 / SFTP / VAN
Business Purpose
Order Management
Sender — Buyer / Retailer / Distributor
EDI Transmission
850
Purchase Order
ANSI ASC X12 004010 / 005010
Receiver — Supplier / Manufacturer / Vendor
Related transaction flows
Need help understanding this EDI flow?
Ask EDI AI →850 Purchase Order workflow. Steps: Create Purchase Order, ERP Order Record, Generate X12 850, Validation, AS2 / SFTP / VAN, Supplier EDI Gateway, Translate to ERP, Order Processing. Transmitted from Buyer / Retailer / Distributor to Supplier / Manufacturer / Vendor via AS2, SFTP, VAN, following ANSI ASC X12 004010 / 005010.
Overview
Communicates what the buyer wants to order: items, quantities, prices, ship-to/bill-to locations, and requested delivery dates. It is usually the first transaction in the order-to-cash cycle.
Sender
Buyer / Retailer / Distributor
Receiver
Supplier / Manufacturer / Vendor
Direction
Buyer → Seller
Standard / Version
ANSI ASC X12 004010 / 005010
Segment structure
Key segments that make up this transaction set:
| Segment | Name | Purpose |
|---|---|---|
| BEG | Beginning Segment for Purchase Order | PO number, PO type code, and order date. |
| REF | Reference Identification | Additional references such as contract or department codes. |
| N1 | Party Identification | Identifies buyer, ship-to, and bill-to parties. |
| PO1 | Baseline Item Data | One iteration per line item: quantity, unit price, product/service ID. |
| CTT | Transaction Totals | Total number of line items for control purposes. |
Interactive example
Click any segment below to see its business meaning.
ISA
This is an envelope or control segment. Select a highlighted segment on the left (shown in green) for a full business explanation.
View raw EDI
ISA*00* *00* *ZZ*BUYERCORP *ZZ*ACMESUPPLY *230914*1230*U*00401*000000101*0*P*>~
GS*PO*BUYERCORP*ACMESUPPLY*20230914*1230*101*X*004010~
ST*850*0001~
BEG*00*NE*PO-2024-88213**20230914~
REF*DP*410~
N1*ST*BuyerCorp Distribution Center 4~
N3*4400 Commerce Pkwy~
N4*Columbus*OH*43215~
PO1*1*100*EA*25.00*PE*VP*SKU-10293*IN*44921~
PID*F****Wireless Barcode Scanner~
PO1*2*250*EA*4.50*PE*VP*SKU-38810*IN*44987~
PID*F****USB-C Charging Cable, 2m~
CTT*2~
SE*12*0001~
GE*1*101~
IEA*1*000000101~Mapping example
A representative field-level mapping from a common source system into this transaction:
| Source | Source Field | Target Field |
|---|---|---|
| SAP IDoc (ORDERS05) | E1EDP01-MENGE | PO102 (Quantity Ordered) |
| SAP IDoc (ORDERS05) | E1EDP01-VPREI | PO104 (Unit Price) |
| SAP IDoc (ORDERS05) | E1EDP01-MATNR | PO108 (Product/Service ID) |
| SAP IDoc (ORDERS05) | E1EDT10-NTANF | DTM*002 (Requested Delivery Date) |
Validation rules
- BEG03 (PO number) must be unique per trading partner and non-blank.
- Each PO1 loop must resolve to a valid, active item number in the supplier's catalog.
- N1 loops must include at least one Ship To (ST) party with a resolvable address.
- CTT01 must equal the actual count of PO1 loops in the transaction.
- Quantity (PO102) and Unit Price (PO104) must be numeric and greater than zero.
Common errors & troubleshooting
999/997 rejects with segment count mismatch
Cause: SE01 does not match the actual number of segments between ST and SE.
Fix: Recalculate the segment count in the mapping engine before transmission.
Supplier reports "unknown item" on PO1
Cause: PO108 uses the buyer's internal SKU instead of the agreed vendor part number qualifier.
Fix: Confirm the PO107 qualifier (VP, BP, UP) matches the cross-reference table both parties agreed on.
Ship-to address not found
Cause: N1*ST loop references a location code not yet set up in the supplier's partner master.
Fix: Send new location codes to the supplier ahead of the first order using that ship-to.
Related articles
Frequently asked questions
Conceptually yes — it carries the same business information — but it's structured data designed for system-to-system exchange rather than a human-readable document.
Still have questions about 850?
Ask EDI AI →