EDI Envelope — ISA, GS, GE, IEA

Last updated

EDI Envelope Segments — ISA, GS, GE, IEA

Overview

Every EDI transaction is wrapped in envelope segments. These are consistent across all transaction types (846, 850, 856, 810).

code
ISA ─── Interchange Header (outermost envelope)
 GS ─── Functional Group Header
  ST ─── Transaction Set Header
  ... transaction content ...
  SE ─── Transaction Set Trailer
 GE ─── Functional Group Trailer
IEA ─── Interchange Control Trailer

ISA - Interchange Header

ElementNameLengthM/OValue/Notes
ISA01Authorization Info Qualifier2 IDRequired00 (No authorization info present)
ISA02Authorization Information10 ANRequiredNot Used (space-filled)
ISA03Security Info Qualifier2 IDRequired00 (No security info present)
ISA04Security Information10 ANRequiredNot Used (space-filled)
ISA05Interchange ID Qualifier2 IDRequiredZZ (Mutually Defined) or 01 (DUNS)
ISA06Interchange Sender ID15 ANRequiredIf sender is FLX → FLXPOINT. If sender is Vendor → vendor's ISA ID number. Right-padded with spaces to 15 chars
ISA07Interchange ID Qualifier2 IDRequiredZZ (Mutually Defined)
ISA08Interchange Receiver ID15 ANRequiredIf receiver is FLX → FLXPOINT. Right-padded to 15 chars
ISA09Date6 DTRequiredYYMMDD format
ISA10Time4 TMRequiredHHMM format
ISA11Interchange Control Standards ID1 IDRequiredU (US EDI Community of X12, TDCC, UCS)
ISA12Interchange Control Version5 ANRequired00401
ISA13Interchange Control Number9 NRequiredSequential number starting with 1, incremented by 1 per transmission
ISA14Acknowledgment Requested1 IDRequired0 (No Interchange Acknowledgment TA1 requested)
ISA15Test Indicator1 IDRequiredP (Production) or T (Test)
ISA16Sub-element Separator1 ANRequiredDeclare the separator you use and use it consistently throughout the file (> and : are both common). Flxpoint's 850 carries the separator set on your connection, : when none is set, so read it from ISA16 rather than assuming one. 992 support emails in 6 months mention delimiter/separator issues.

Delimiter Troubleshooting

  • Flxpoint's 850: segment terminator ~, element separator *, and the sub-element separator set on your connection in ISA16 (: when none is set; older copies of the Flxpoint spec show >). Exception: the 997 reuses the delimiters of the file it acknowledges, terminator and trailing whitespace included.
  • Invalid terminator (Flxpector TOK-003): if the character after ISA16 is the replacement character U+FFFD (shown as � in some editors) or a raw control byte such as 0x85, the file went through an encoding conversion that corrupted it. Every segment ends with it and most receivers reject the file. Flxpector's "Apply fix" rewrites the terminator to ~. If the file is a Flxpoint-generated 997, contact support@flxpoint.com with the file attached so it can be re-issued, and switch your own outbound terminator to ~ so the next 997 does not inherit the problem.
  • Common issue: files have line breaks (CR/LF) before ~ — Flxpoint's parser handles this, but be aware
  • Unusual delimiters: if a vendor uses | instead of *, the ISA header must declare it correctly at the fixed position
  • Data containing delimiters: if product names or descriptions contain *, ~, or >, this will break the parser. These characters must be escaped or removed from data fields.

ISA ID Qualifier Codes (ISA05/ISA07)

CodeDescription
01DUNS (Dun & Bradstreet)
14DUNS Plus Suffix
30U.S. Federal Tax ID
32U.S. Federal Employer ID (FEIN)
ZZMutually Defined (default)

X12 defines 30+ qualifier codes but FLX typically uses ZZ.


GS - Functional Group Header

ElementNameLengthM/OValue/Notes
GS01Functional Identifier Code2 IDRequiredSee table below
GS02Application Sender's Code15 ANRequiredSender's ID
GS03Application Receiver's Code15 ANRequiredReceiver's ID
GS04Date8 DTRequiredCCYYMMDD format
GS05Time4 TMRequiredHHMM format
GS06Group Control Number9 NRequiredControl number, starting with 1, incremented by 1
GS07Responsible Agency Code2 IDRequiredX (Accredited Standards Committee X12)
GS08Version12 ANRequired004010VICS

GS01 Functional Identifier Codes

Authoritative code table per the Flxpoint Integrations team. See Flxpoint Parser Rules for envelope-layer behavior.

CodeTransactionNotes
IB846 Inventory Inquiry/Advice
PO850 Purchase Order
AD855 PO AcknowledgementCanonical Flxpoint code
PR855 PO AcknowledgementLegacy alias — still accepted by the parser
SH856 Ship Notice/Manifest
IN810 Invoice
PI832 Price/Sales Catalog
FA997 Functional Acknowledgment

Accepted Versions (GS08)

Flxpoint accepts three variants:

  • 004010VICS — preferred (matches VICS-specific segments)
  • 004010 — accepted with a warning (not hard-rejected even if VICS-specific segments are present)
  • 005010 — accepted

ISA15 Usage Indicator

  • P = Production, T = Test.
  • Flxpoint does not read ISA15 on the files you send. A file with T is processed exactly like a file with P: a test 846 updates real stock, and a test 855, 856 or 810 updates the order whose PO number it carries. During testing, send documents only for the test orders Flxpoint sends you.
  • On Flxpoint's own 850s, ISA15 is P unless Flxpoint has set your connection to test, in which case the 850s carry T.
  • Flxpector shows a "Test Mode" pill on a file whose ISA15 is T, so you can see which value a file carries before you upload it. That pill is Flxpector only; it does not change how Flxpoint processes the file.

GE - Functional Group Trailer

ElementNameLengthM/OValue/Notes
GE01Number of Included Transaction Sets6 NRequiredCount of ST segments within the group
GE02Group Control Number9 ANRequiredMust match GS06

IEA - Interchange Control Trailer

ElementNameLengthM/OValue/Notes
IEA01Number of Included Functional Groups5 NRequiredCount of GS segments within the interchange
IEA02Interchange Control Number9 NRequiredMust match ISA13

Control Number Matching Rules

Trailer FieldMust MatchDescription
SE02ST02Transaction Set Control Number
GE02GS06Group Control Number
IEA02ISA13Interchange Control Number

FLX Envelope Requirements vs Generic X12

AspectFLX SpecGeneric X12 004010
ISA05ZZ or 0130+ qualifier codes supported
ISA13 uniquenessNot required by FLX (best practice)Some validators enforce
ISA date formatYYMMDDYYMMDD (match)
GS date formatCCYYMMDDCCYYMMDD (match)
GS time formatsHHMMHHMM, HHMMSS, HHMMSSD, HHMMSSDD

Test vs. Production traffic

Two levers distinguish test from production interchanges:

LeverTestProduction
ISA15 (usage indicator)T — on your files, not read: processed exactly like P, so it changes real dataP — live processing
Trading-partner IDs (ISA06/08, GS02/03)Often a suffixed test ID (e.g. the production ID + trailing T, commonly under qualifier ZZ)The production ID/qualifier agreed with Flxpoint

Go-live checklist: flip ISA15 T→P; make sure no test file is still waiting in the inbound folder, because Flxpoint does not tell test files from production files; switch to the production IDs on BOTH sides at the same time (a one-sided switch means a translator stops matching the other side's files); keep ISA13 incrementing — never reuse control numbers across the cutover; send one small production file and confirm it processes before full volume. A "missing trading partner profile" notice from a VAN after the switch means the production IDs aren't provisioned on the receiving side yet.

Something unclear?

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

Was this page helpful?

Can't find what you need?

EDI Envelope — ISA, GS, GE, IEA | Flxpoint EDI Help Center