Validation Notes & Known Differences

Validation Notes & Known Differences

Overview

Flxpoint's EDI guides define specific validation rules. Generic X12 validators and other inspector tools sometimes apply stricter — or simply different — rules than what Flxpoint actually accepts. This document maps every known difference so you can build files that pass cleanly in Flxpoint.

The key insight: a file that passes a generic X12 inspector may still be rejected by Flxpoint if it does not match the FLX spec, and vice versa. Always build to the FLX PDF spec.


Version Standard

Authoritative rule confirmed with Faiyaz Ahmed (Integrations) on 2026-04-16. See Flxpoint Parser Rules for the full envelope spec.

AspectFlxpoint
Preferred version004010VICS — matches Flxpoint's VICS-specific segments
004010 (no VICS)Accepted; Flxpector emits a warning, parser does not reject
005010Accepted; Flxpector emits a warning if you want to standardize
Hard rejectsStructural parse failures only (ISA06/ISA08 padding, GS06↔GE02 / ST02↔SE02 mismatches, duplicate ISA13)

Vendor-specific overrides (e.g. Land n Sea requires strict 004010VICS on its integration) are tracked in vendor-specific-behaviors.md.


Cross-Transaction Summary

Things That PASS in Flxpoint but May FAIL in Stricter X12 Validators

#TransactionIssueWhy It May Fail Elsewhere
1846QTY03 sent as simple EA elementStrict X12 validators expect composite C001 structure
2856Missing TD512 service level codeSome validators treat it as required in certain configs
3810SAC with only G821 codeOther validators check against a broader code list
4AllISA Control Numbers not uniqueFLX does not require uniqueness; some validators do
5AllLoose element length enforcementSome validators strictly check min/max lengths. Update (Apr 2026): Flxpector now validates N102 (name) ≤ 60 chars, N401 (city) ≤ 30 chars, N402 (state) = 2 chars, N403 (zip) ≤ 15 chars via FLX-ALL-007

Things Generic X12 Allows but Flxpoint May NOT Process

#TransactionIssueWhy FLX May Reject/Ignore
1810SAC codes outside the whitelist (AFEE, G740, H750, etc.)SAC02 whitelist (Faiyaz 2026-04-16): G821/C310/D240/F050. Codes outside this list are warned on, not auto-rewritten.
1b846CTT segmentStedi flags this; Flxpoint ignores it entirely. Faiyaz 2026-04-16: the 846 parser stops after the last detail loop and does not reject on CTT. Flxpector matches the parser behavior.
2846CTP pricing segment (UCP/WHL)Not in FLX PDF; ignored
3810CTP pricing at detail levelNot in FLX PDF; ignored
4810SAC at detail level (per-item charges)Not in FLX PDF; only summary-level SAC
5850Multiple PO1 product ID qualifier pairs (up to 6)FLX PDF shows single pair
6850N2 (additional name) segmentNot in FLX PDF
7856Extra ISA qualifier codes beyond ZZFLX typically uses ZZ

Per-Transaction Detailed Notes

846 Inventory Advice

Segment/ElementFlxpointGeneric X12Note
QTY03 structureSimple element EAComposite C001 with sub-componentsStrict validators may reject simple format
CTP segmentNot presentOptional (UCP/WHL pricing)FLX ignores
PID max useUnspecified200Limit difference
LIN conditional pairsLIN04-07 optionalSame with strict conditional enforcementStrict validators check pairing

850 Purchase Order

Segment/ElementFlxpointGeneric X12Note
PO1 ID pairsSingle pair (PO106/PO107)Up to 6 pairs (PO108-PO117)FLX uses one pair only
PO1-08 qualifiersNot in PDFBP, MG, VP, UP, ENNot used by FLX
N1-03/N1-04Not in PDFOptional ZZ qualifier + ID codeNot used by FLX
N2 segmentNot in PDFOptional additional name infoIgnored by FLX
PER headingOnly seller phone (EA)EA + NT contact typesFLX uses EA only
TD5 elementsTD505 + TD512 onlyFull TD5 specFLX uses simplified subset

856 Ship Notice

Segment/ElementFlxpointGeneric X12Note
TD5 shipping providerRequired (SCAC)Required (SCAC)Missing provider = FAIL everywhere
TD512 service levelMandatory in FLXOften optionalFLX stricter
REF/MAN exclusivityMutually exclusiveEnforcedMatch
LIN02 qualifiersUP, EN, SK, BPTypically SK, UPFLX accepts more options
BSN05 structure codes0001, 00040001, 0004Match

810 Invoice

Segment/ElementFlxpointGeneric X12Note
REF*DPMandatory (fixed 0000)Optional variantFLX stricter
SAC codesOnly G821 (Shipping)AFEE, C310, D240, G740, G821, H750FLX limited
SAC at detail levelNot supportedAllowedIgnored by FLX
CTP at detail levelNot supportedAllowedIgnored by FLX
IT1 extra ID pairsSingle pairMultiple pairs possibleFLX uses one pair
IT104 formatReal number (15.95)Type RMatch
TDS formatImplied decimal N2Implied decimal N2Match
BIG01 date validationCurrent or within 17 monthsSameMatch

Critical Failure Points

These are the most common reasons EDI files get rejected:

1. Missing Shipping Provider (856 TD5)

If the SCAC code is missing, the 856 fails.

  • TD502 must be 2 (SCAC qualifier)
  • TD503 must have a valid SCAC code (e.g., UPSN, FEDX)

2. Strict Conditional Element Enforcement

  • If PER-03 present → PER-04 required (and vice versa)
  • If ISS-03 present → ISS-04 required
  • If CAD-07 present → CAD-08 required
  • ITD discount field dependencies

3. Control Number Mismatch

  • SE02 must match ST02
  • GE02 must match GS06
  • IEA02 must match ISA13

4. Element Length Violations

  • ISA06/ISA08: exactly 15 chars (right-padded with spaces)
  • ISA13: exactly 9 digits (left-padded with zeros)
  • Various ID fields with specific length requirements

Recommendations for Suppliers

  1. Build to the FLX PDF spec as the primary reference
  2. Validate against Flxpector for structural correctness
  3. Always include: SCAC code in TD5, service level code, matching PO numbers and item codes
  4. Prefer 004010VICS — plain 004010 and 005010 are also accepted (with warnings), but 004010VICS is the cleanest match for Flxpoint's VICS-specific segments

Something unclear?

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