Skip to content
Novus Examples
edi486 B

X12 EDI 850 Purchase Order

An ANSI X12 850 purchase order — ISA/GS/ST envelope with BEG, N1, and PO1 line items. A fixture for testing EDI parsers and translators. Paired with the 810 invoice for the same order.

Preview — first 14 linesedi
ISA*00*          *00*          *ZZ*NOVUSBUYER      *ZZ*EXAMPLESUPPLIER *260115*0930*U*00401*000000001*0*P*>~
GS*PO*NOVUSBUYER*EXAMPLESUPPLIER*20260115*0930*1*X*004010~
ST*850*0001~
BEG*00*SA*PO-2026-0042**20260115~
REF*DP*DEPT-14~
N1*ST*Novus Buyer Ltd*92*BUYER-001~
PO1*1*10*EA*12.50**BP*SKU-0001*VP*Wireless Mouse~
PO1*2*5*EA*79.99**BP*SKU-0006*VP*Noise-cancelling Headphones~
PO1*3*20*EA*3.20**BP*SKU-0011*VP*Cable Organiser~
CTT*3~
SE*10*0001~
GE*1*1~
IEA*1*000000001~

Specifications

Standard
ANSI X12 004010
Transaction
850 (Purchase Order)
Note
synthetic trading partners

What is a .edi file?

EDI (Electronic Data Interchange), in the ANSI X12 family, is a structured plain-text format for exchanging business documents like purchase orders (850) and invoices (810) between trading partners. It is built from segments (ISA, GS, ST, …) separated by delimiters, with tightly specified element positions. It underpins much of B2B supply-chain and retail commerce.

How to use this file

Use an example X12 EDI file to test EDI parsers and translators, segment/element extraction, and mapping from EDI to JSON or XML. The parties and values here are synthetic.

How to use this file for testing

“X12 EDI 850 Purchase Order” is a deterministic Novus Examples fixture for Data import, Conversion testing. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.

Documented properties for this file: EDI · 486 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Document fixtures list their internal structure (pages, fields, tracked changes, embedded objects) in the spec table. Test extractors, converters, and OCR against that known structure, and compare searchable↔scanned or format-twin companions when present.

Code examples

from pydifact.segmentcollection import Interchange  # EDIFACT

inter = Interchange.from_file("purchase-order-850.edi")
for seg in inter.segments:
    print(seg.tag, seg.elements)

Generated by generation/docs_realworld.py. Free for any use, no attribution required — license.