850

EDI 850 — Purchase Order

Flxpoint → Supplier · Purchase order from retailer

EDI 850 — Purchase Order

Purpose

Transmit new orders from Retailer (via FLX) to Supplier. Originates with the Retailer, sent to FLX, then FLX sends to Supplier.

In Plain English

The 850 is the order itself — the retailer's commitment to buy, including what, how many, where to ship it, and how fast. Flxpoint generates the 850 from the underlying channel order (Shopify, Amazon, etc.) and drops it in the supplier's inbound SFTP directory. Everything downstream — the 855 acknowledgement, the 856 ship notice, the 810 invoice — is tied back to the PO number assigned on this 850. That is why the PO number, customer order number, and item identifiers on the 850 must be echoed exactly on every follow-up transaction. A single mismatch and the supplier's shipment won't match back to an order on the retailer's side.

Frequency

Hourly recommended, daily minimum. Can arrive at any time of day.

Business Rules

  • Customer order number (N9 segment) MUST be printed on the packing slip
  • Supplier MUST adhere to the shipping service level in TD5 segment
  • Cancel After date (DTM) defaults to 7 days after order date
  • PO number and UPC/EAN/SKU must be returned on 856 and 810
  • Billing address only included if enabled within Flxpoint
  • Order types: Standard B2B/B2C account types are supported in Send FR mapping. Promotion order types are not yet supported as an account type option. Custom order type handling requires Integrations team configuration.

Segment Hierarchy

code
ISA  Interchange Header
 GS  Group Header (GS01 = "PO")
  ST   Transaction Set Header (ST01 = "850")
  BEG  Beginning Segment for Purchase Order
  CUR  Currency
  REF  Reference Identification (Internal Vendor #)
  PER  Administrative Communications Contact (Seller's Phone)
  DTM  Date/Time Reference (Cancel After)
  TD5  Carrier/Shipment Details
  N9   Reference Identification (Customer Order #)
  ┌─ N1 Loop - Ship-To (Mandatory)
  │  N1   Name (ST = Ship To)
  │  N3   Address Information
  │  N4   Geographic Location
  │  PER  Communications Contact
  └─
  ┌─ N1 Loop - Bill-To (Optional)
  │  N1   Name (BT = Bill To)
  │  N3   Address Information
  │  N4   Geographic Location
  │  PER  Communications Contact
  └─
  ┌─ PO1 Loop (repeats per line item)
  │  PO1  Baseline Item Data
  │  PID  Product/Item Description (title)
  │  PID  Product/Item Description (customizations - optional, multiple)
  └─
  CTT  Transaction Set Totals
  SE   Transaction Set Trailer
 GE  Group Trailer
IEA  Interchange Trailer

Segment Overview

SegmentNameFLX StatusNotes
STTransaction Set HeaderRequiredST01 = 850
BEGBeginning SegmentRequiredPurpose 00, type SA
CURCurrencyRequiredAlways BY / USD
REFReference IdentificationRequiredIA = Internal Vendor #
PERCommunications ContactSituationalSeller phone at heading level
DTMDate/Time ReferenceSituationalCancel After date
TD5Carrier DetailsRequiredTD512 service level code is mandatory
N9Extended ReferenceRequiredCustomer order # — must go on packing slip
N1 / N3 / N4 / PERShip-To LoopRequiredShip-to address and contact
N2Additional NameNot UsedGeneric X12 accepts; FLX ignores this segment entirely
N1 / N3 / N4 / PERBill-To LoopSituationalOnly included if billing address enabled in FLX
PO1 / PIDLine Item LoopRequiredRepeats once per line item
CTTTransaction TotalsRequiredCount of PO1 segments
SETransaction Set TrailerRequired

Segment Specifications

ST - Transaction Set Header

ElementNameLengthM/OValue/Notes
ST01Transaction Set ID Code3 IDRequired850
ST02Transaction Set Control Number9 NRequiredUnique, incremented by 1

BEG - Beginning Segment for Purchase Order

ElementNameLengthM/OValue/Notes
BEG01Transaction Set Purpose Code2 IDRequired00 (Original)
BEG02Purchase Order Type Code2 IDRequiredSA (Stand-Alone Order)
BEG03Purchase Order Number22 ANRequiredUnique PO identifier
BEG05Date8 DTRequiredCCYYMMDD format

CUR - Currency

ElementNameLengthM/OValue/Notes
CUR01Entity Identifier Code3 IDRequiredBY (Buying Party)
CUR02Currency Code3 IDRequiredUSD

REF - Reference Identification

ElementNameLengthM/OValue/Notes
REF01Reference ID Qualifier2 IDRequiredIA (Internal Vendor Number)
REF02Reference Identification30 ANRequiredFLX-assigned vendor number. Max size: 10

PER - Administrative Communications Contact (Seller's Phone)

ElementNameLengthM/OValue/Notes
PER01Contact Function Code2 IDOptionalEA (EDI Coordinator)
PER03Communication Number Qualifier2 IDOptionalTE (Telephone Number)
PER04Communication Number80 ANOptionalFreeform telephone number

DTM - Date/Time Reference

ElementNameLengthM/OValue/Notes
DTM01Date/Time Qualifier3 IDRequired001 (Cancel After)
DTM02Date8 DTRequiredCCYYMMDD. Default: 7 days after order date

TD5 - Carrier/Shipment Details

ElementNameLengthM/OValue/Notes
TD505Routing35 ANOptionalFree-form name of requested carrier. Conform to trading partner's supported options
TD512Service Level Code2 IDRequiredShipping method the Retailer is requesting

TD512 Service Level Codes:

CodeDescription
D33 Day Select
NDNext Day Air Saver
SCSecond Day Air
SIStandard Ground
SPSurePost

These values may vary based on trading partner.

N9 - Reference Identification (Customer Order Number)

ElementNameLengthM/OValue/Notes
N901Reference ID Qualifier3 IDRequiredCO (Customer Order Number)
N902Reference Identification30 ANRequiredCustomer order number - MUST be put on packing slip

N1 - Ship-To Name (Mandatory)

ElementNameLengthM/OValue/Notes
N101Entity Identifier Code3 IDRequiredST (Ship To)
N102Name60 ANRequiredCustomer name. Display on packing slip. Max 60 chars — exceeding causes hard rejection (FLX-ALL-007)

N3 - Ship-To Address

ElementNameLengthM/OValue/Notes
N301Address Information55 ANRequiredFirst address line. Display on package label
N302Address Information55 ANOptionalSecond address line

N4 - Ship-To Geographic Location

ElementNameLengthM/OValue/Notes
N401City Name30 ANRequiredShip-To city
N402State Code2 ANRequiredShip-To state
N403Postal Code15 NRequiredZip code, no hyphens or blanks

PER - Ship-To Communications Contact

ElementNameLengthM/OValue/Notes
PER01Contact Function Code2 IDOptionalNT (Notification Contact)
PER03Communication Number Qualifier2 IDOptionalTE (Telephone)
PER04Communication Number80 ANOptionalPhone number
PER05Communication Number Qualifier2 IDOptionalEM (Email)
PER06Communication Number80 ANOptionalEmail address

N1 - Bill-To Name (Optional)

ElementNameLengthM/OValue/Notes
N101Entity Identifier Code3 IDOptionalBT (Bill To). Only included if enabled in Flxpoint
N102Name60 ANOptionalCustomer name

Bill-To loop includes same N3, N4, PER segments as Ship-To.

PO1 - Baseline Item Data (Repeating Loop)

PO1 supports multiple product identifier pairs starting at position 6. Flxpoint reads the first pair (PO106/PO107) as the primary identifier. Additional pairs (PO108–PO117) can carry secondary identifiers like manufacturer codes, alternate UPCs, or buyer part numbers.

ElementNameLengthStatusValue/Notes
PO101Assigned Identification20 NRequiredLine item number. Starts at 1, incrementing
PO102Quantity Ordered15 NRequiredWill be 1 or more
PO103Unit of Measure2 IDRequiredEA (Each) always
PO104Unit Price17 NRequiredExpected cost. Format: 99.99 (e.g., 1.5, 150, 0.95)
PO106Prod/Serv ID Qualifier2 IDRequiredPrimary ID type: UP (UPC), EN (EAN), or SK (SKU)
PO107Prod/Serv ID48 ANRequiredPrimary identifier. Exact size: UPC=12, EAN=13, SKU≤30
PO108Prod/Serv ID Qualifier2 IDSituationalAdditional type: MG (Manufacturer), BP (Buyer Part #), VN (Vendor #), UP, EN, SK
PO109Prod/Serv ID48 ANSituationalValue for PO108 qualifier
PO110Prod/Serv ID Qualifier2 IDSituationalAdditional type (third pair)
PO111Prod/Serv ID48 ANSituationalValue for PO110 qualifier
PO112Prod/Serv ID Qualifier2 IDSituationalAdditional type (fourth pair)
PO113Prod/Serv ID48 ANSituationalValue for PO112 qualifier
PO114–PO117Additional ID PairsSituationalUp to two more pairs (positions 14–17)

FLX reads up to 6 identifier pairs per line item. Always include at least one of SK, UP, or EN in the first pair. Additional pairs improve matching accuracy but are not required.

PID - Product/Item Description (title)

ElementNameLengthM/OValue/Notes
PID01Item Description Type1 IDOptionalF (Free-form)
PID02Product Characteristic Code2 IDOptional08 (Product)
PID05Description80 ANOptionalFirst PID = product title. Text over 80 chars trimmed

PID - Item Customizations (Optional, Multiple)

ElementNameLengthM/OValue/Notes
PID01Item Description Type1 IDOptionalF
PID02Product Characteristic Code2 IDOptional08
PID05Description80 ANOptionalKey-value format: [key] : [value]. Only for suppliers who need them. 80 char limit, trimmed

CTT - Transaction Set Totals

ElementNameLengthM/OValue/Notes
CTT01Number of Line Items6 NRequiredCount of PO1 segments

SE - Transaction Set Trailer

ElementNameLengthM/OValue/Notes
SE01Number of Included Segments6 NRequiredIncluding ST and SE
SE02Transaction Set Control Number9 NRequiredMust match ST02

Validation Notes

FLX-Specific Requirements vs Generic X12

FieldFLX SpecGeneric 004010Impact
PO1 qualifiersUP, EN, SKSK primary + BP, MG, VP, UP, EN secondaryGeneric X12 allows more qualifier pairs
PO1 extra ID pairsNot usedUp to PO1-17 (6 pairs)Generic X12 more permissive
N1-03/N1-04Not in FLX specOptional (ZZ qualifier, ID code)Additional facility/location code
N2 segmentNot UsedOptional additional nameFLX ignores N2 entirely — don't include it
PER in headingOnly seller phoneEA + NT contact codesGeneric X12 has both EDI coordinator and notification

What Strict Validators May Flag

  • Missing N1-03/N1-04 identification code qualifier pair (optional in both)
  • PO1 with only one product identifier pair (generic X12 supports many)
  • Missing PER segment (optional)

Example File

EDI · 004010VICS
ISA*00* *00* *ZZ*FLXPOINT *ZZ*123456 *120111*2309*U*00401*000007607*0*P*>~
GS*PO*FLXPOINT*001017078*20180111*2309*7607*X*004010VICS~
ST*850*0001~
BEG*00*SA*75070461**20180111~
CUR*BY*USD~
REF*IA*123456~
PER*EA**TE*8011234567~
DTM*001*20180116~
TD5*****UPS******SI~
N9*CO*10007241899999~
N1*ST*John Smith~
N3*1234 E Main Street~
N4*City*UT*84003~
PER*NT**TE*8011234567*EM*shippingemail@gmail.com~
N1*BT*John Smith~
N3*1234 E Main Street~
N4*City*UT*84003~
PER*NT**TE*8011234567*EM*billingemail@gmail.com~
PO1*0001*1*EA*14.4**UP*123456789159~
PID*F*08***Item Title Here~
PID*F*08***Customization Text : Happy Birthday, Gift Recipient!~
PID*F*08***Custom Image Link : tinyurl.com/80CharacterLimit.................cutoff~
CTT*1~
SE*22*0001~
ST*850*0002~
BEG*00*SA*75070462**20180111~
CUR*BY*USD~
REF*IA*123456~
PER*EA**TE*9999999999~
DTM*001*20180112~
TD5*****any******ND~
N9*CO*10007247199999~
N1*ST*Fake Name~
N3*456 N 200 S~
N4*Nowhereville*UT*84003~
PER*NT**TE*(801)123-4567*EM*anothershippingemail@gmail.com~
PO1*0001*1*EA*27.5**UP*123456789951~
PID*F*08***Item Title Here~
PO1*0002*1*EA*27.5**UP*456789111213~
PID*F*08***Item Title Here~
CTT*2~
SE*18*0002~
GE*2*7607~
IEA*1*000007607~

Notes:

  • First transaction includes optional billing address + item customizations (PID key:value)
  • Second transaction has no billing address, 2 line items, Next Day Air shipping

Something unclear?

Ask our AI assistant — it knows this spec and can explain any segment, error, or rule in plain English.