Developer ToolsFree generatorPDF, Excel, Word export

X12 850 Purchase Order EDI Skeleton Generator

The ANSI X12 850 is the electronic purchase order. This generator produces a minimal, correctly counted 850 with one line so you can test a trading partner connection or see where each PO field lands.

Fill in

ISA06 is a fixed 15 character field.

ISA08 is a fixed 15 character field.

Generated code
Download:

850 interchange

ISA*00*          *00*          *ZZ*BUYERCO        *ZZ*SUPPLIERCO     *261020*0900*U*00401*000000001*0*T*>~
GS*PO*BUYERCO*SUPPLIERCO*20261020*0900*1*X*004010~
ST*850*0001~
BEG*00*SA*PO100245**20261020~
DTM*002*20261020~
N1*ST*ACME PRECISION PLANT 2*92*PLANT02~
PO1*1*250*EA*12.4500**BP*BRK-1001-A~
CTT*1~
SE*7*0001~
GE*1*1~
IEA*1*000000001~

This is a minimal skeleton for testing and mapping, not a complete trading partner implementation. ISA06 and ISA08 must be exactly 15 characters, so pad with spaces. The SE01 count of 7 covers ST through SE and must be updated when you add segments. Many partners require PER, REF, ITD, N3, N4, SCH or PID segments and their own version, such as 004010 or 005010. Follow the partner's implementation guide and keep the ISA usage indicator at T until testing is signed off.

EDI mapping from your ERP

Optional: discuss mapping your ERP's PO tables to an X12 850 and the acknowledgements that come back.

Optional. The tool and every export work without this. No spam.

How to use it

Fill in sender and receiver IDs, PO number, ship-to and the line details, then copy the result into a text file. Most EDI translators expect no line breaks within the interchange, so check whether your tool needs segments on one line or one per line. Send it to your own test mailbox first, and only then to the partner. Keep the usage indicator at T for test until both sides confirm acknowledgements with a 997 or 999.

  • Pad ISA06 and ISA08 to 15 characters
  • Keep the segment terminator and element separator consistent with the partner's setup
  • Confirm the version, for example 004010, with the trading partner

Segments explained

ISA and IEA wrap the interchange, and GS and GE wrap a functional group of related documents. ST and SE wrap the 850 transaction itself, and SE01 holds the number of segments between and including them. BEG starts the PO with the purpose code, the PO type and the PO number and date. DTM carries dates, N1 identifies parties such as ship-to, and PO1 holds the line: quantity, unit of measure, unit price and a qualifier pair like BP for buyer's part number. CTT counts line items.

Common mistakes

The usual causes of rejection are a wrong segment count in SE01, ISA fields with the wrong length, mismatched control numbers between ISA and IEA or GS and GE, and wrong qualifiers for the receiving system. Another frequent issue is sending decimals or units the partner does not accept. Always run the file through a validator and check the acknowledgement for the exact error segment before changing mappings.

Frequently Asked Questions

What does the 850 transaction set represent?

The 850 is the ANSI X12 Purchase Order. A buyer sends it to a supplier to order goods or services. The supplier usually answers with a 997 functional acknowledgement, then an 855 PO acknowledgement and later an 856 ship notice and an 810 invoice.

How do I count the SE01 value?

Count every segment from ST through SE, inclusive. In this skeleton that is ST, BEG, DTM, N1, PO1, CTT and SE, which is 7. Add one for each extra segment, including each additional PO1 line and any PID, REF or PER segments you insert.

Why does the ISA need fixed-length fields?

The ISA segment is fixed-width by specification: each element has a set length, and the interchange sender and receiver IDs are 15 characters. Parsers use these lengths to detect the separators, so wrong widths can make the whole file unreadable.

Can I use this in production?

Use it as a starting point for mapping and testing only. Production 850s need the full set of segments your trading partner requires, unique control numbers, validation and acknowledgement handling. Follow the partner's implementation guide and switch the ISA15 indicator to P only after sign-off.

Netray can help build the integration between your ERP purchasing tables and your EDI translator, with a human approval step before any outbound PO is released.