Common EDI Errors
Common EDI Errors & Troubleshooting
Top Failure Reasons
1. Missing Shipping Provider (856)
Error: TD5 segment missing or incomplete
Fix: Always include TD502=2, TD503=SCAC code (e.g. UPSN), TD512=service level
Impact: Fails validation and FLX processing
2. Mismatched Product Codes
Error: SKU/UPC/EAN in 856 or 810 doesn't match what was sent in the 850 Fix: Return the EXACT same product identifiers from the original 850 Impact: FLX cannot update order status or process invoice
3. Wrong PO Number
Error: 856 or 810 references a PO number not matching any 850 Fix: Use PRF01 (856) or BIG04 (810) with exact PO number from BEG03 of 850 Impact: Transaction cannot be linked to order
4. Invoice Date Out of Range (810)
Error: BIG01 date is in the future or more than 17 months old Fix: Use current or recent date in CCYYMMDD format Impact: Strict validators reject; FLX may also reject
5. Control Number Mismatch
Error: SE02 ≠ ST02, GE02 ≠ GS06, or IEA02 ≠ ISA13 Fix: Ensure all trailer control numbers match their header counterparts Impact: Structural validation failure in both systems
6. TDS Implied Decimal Confusion (810)
Error: Sending 12.00 instead of 1200 for $12.00
Fix: TDS uses implied 2 decimal places: multiply dollar amount by 100
Impact: Incorrect invoice total processed
7. IT1 Unit Price Format (810)
Error: Using implied decimal for unit price (sending 1595 for $15.95)
Fix: IT1 unit price does NOT use implied decimal: send 15.95
Impact: Incorrect line item pricing
8. Segment Count Wrong (SE01)
Error: SE01 doesn't match actual segment count (including ST and SE) Fix: Count every segment from ST through SE inclusive Impact: Structural validation failure
9. ISA Field Padding
Error: ISA06/ISA08 not padded to exactly 15 characters Fix: Right-pad with spaces to exactly 15 chars Impact: Strict validators may reject; FLX may still accept
10. Sending Both REFCN and MANCP in 856
Error: Including tracking number at both Shipment (REF) and Pack (MAN) levels Fix: Choose ONE method — they are mutually exclusive Impact: Ambiguous tracking data
11. UPC/EAN Wrong Digit Count
Error: UPC is not 12 digits or EAN is not 13 digits Evidence: 616 product-code support emails in 6 months. Leading zeros stripped from UPC is the #1 issue. Fix: UPC must be exactly 12 numeric digits (pad with leading zeros if needed). EAN must be exactly 13 digits. Check for spreadsheet/data-import stripping leading zeros. Impact: Product matching fails — shipment or invoice cannot link to order items
12. DTM Date Invalid
Error: DTM02 is not valid CCYYMMDD format, or has impossible date (e.g., Feb 30) Evidence: 91 date-format emails, 43 body-pattern matches in 6 months Fix: Use CCYYMMDD format (e.g., 20260413). Validate month is 01-12, day is valid for that month. Feb has 28/29 days. Impact: Date parsing fails on the receiving side
13. N1/N102 Ship-To Name Too Long
Error: N102 field exceeds 60-character maximum
Evidence: PO# 111-4788281-4221863 rejected — "invalid N102 field. The ship-to name exceeds the maximum allowed length of 60 characters." (469 related support emails in 6 months)
Fix: Truncate ship-to name to 60 characters. Also validate: N401 (city) <= 30 chars, N402 (state) = exactly 2 chars, N403 (zip) <= 15 chars. Flxpector auto-repair can truncate automatically.
Impact: Hard rejection on 850, 856, 810 — file will not process (typical error: TextParsingException: Length of parsed input)
Transaction-Specific Gotchas
846 Inventory
| Issue | Details |
|---|---|
| QTY=0 effect | Does NOT cancel existing pending orders |
| LIN03 uniqueness | Must be unique across ALL items in the file |
| Missing REF*IA | Must include FLX-assigned vendor number |
850 Purchase Order
| Issue | Details |
|---|---|
| N9 customer order # | MUST be printed on packing slip |
| TD5 service level | Supplier MUST use this shipping method |
| DTM cancel-after | Default is 7 days after order date |
| PID 80 char limit | Text over 80 characters is trimmed and excluded |
| Postal code format | No hyphens or blanks in N403 |
| N102 name max length | 60 characters max — exceeding causes hard rejection (FLX-ALL-007) |
856 Ship Notice
| Issue | Details |
|---|---|
| BSN05 hierarchy | Must be 0001 (S,O,P,I) or 0004 (S,O,I) |
| N1*SF required | Ship-From with code 92 and FLX supplier number |
| Item codes | LIN03 MUST match the 850 item codes exactly |
| DTM time | Both date AND time required for shipped date |
| N1 name length | N102 max 60 chars; N401 max 30; N402 = 2 chars; N403 max 15 (FLX-ALL-007) |
810 Invoice
| Issue | Details |
|---|---|
| Ship first | Invoice only accepted for shipped items (856 before 810) |
| REF*DP | Always 0000 — fixed value, mandatory |
| SAC codes | Only G821 (Shipping) supported by FLX |
| ITD conditionals | Complex pairing rules for discount fields |
| BIG04 | PO Number is REQUIRED (listed as M in FLX PDF) |
| N1 name length | N102 max 60 chars; city max 30; state exactly 2; zip max 15 (FLX-ALL-007) |
Version Handling
Historical context — 137 tagged emails over 6 months (Oct 2025 – Apr 2026) were filed as "version errors". Most of them were either vendor-specific strict-VICS overrides (e.g. Land n Sea) or ISA padding failures mis-diagnosed as version problems. The authoritative global rule (Faiyaz Ahmed, Integrations, 2026-04-16) is documented in Flxpoint Parser Rules. The table below reflects that rule.
| GS08 value | Flxpoint behavior | Flxpector finding |
|---|---|---|
004010VICS | Preferred — matches VICS-specific segments cleanly | Clean |
004010 (no VICS suffix) | Accepted — processes normally | Warning (not error). Auto-fix to 004010VICS is offered, not required. |
005010 | Accepted — processes normally | Warning. Auto-fix to 004010VICS is offered if you want to standardize. |
| Anything else | Processing depends on whether segment structure still parses | Warning with no safe auto-fix |
| Wrong GS01 code | Must match transaction type | IB=846, PO=850, AD=855 (PR legacy), SH=856, IN=810, FA=997, PI=832 |
| Wrong ST01 code | Must match: 846, 850, 855, 856, 810, 832, or 997 | — |
| ISA06/ISA08 not 15 chars | Hard reject — parser fails to find segment terminator | Error (format) |
| ISA13 duplicate in 24h window from same sender | Hard reject | Error (structural) |
| GS06 ≠ GE02, or ST02 ≠ SE02 | Hard reject | Error (structural) |
Real case: Going Going Gone onboarding (Apr 2026) — "850 failed expecting 4010VICS" turned out to be a vendor-specific strict-VICS requirement, not a global Flxpoint rule.
Flxpector vs FLX Processing Quick Reference
| Scenario | Flxpector | FLX Processing |
|---|---|---|
| Non-unique ISA control numbers | Warns | Accepts |
| Extra segments (CTP, N2) | Passes | Ignores (no error) |
| Non-G821 SAC codes | Warns | May not process |
| Missing TD5 SCAC | Fails | Fails |
| QTY as simple element | Passes | Accepts |
| Loose field lengths | Fails | May accept |
| N102 name > 60 chars | Fails (FLX-ALL-007) | Fails (hard rejection) |
Something unclear?
Ask our AI assistant — it knows this spec and can explain any segment, error, or rule in plain English.