← All work

EDI X12 Toolkit

Read an interchange in the browser

  • Completed
  • May 2025

Overview

A trading partner rejects a file and the rejection does not say which segment is wrong. This finds it. Drop an interchange into the playground and it names the segment, the element number and the element, and says what it expected instead.

It parses and validates X12 204, 210, 214 and 997. Two things most parsers get wrong are handled properly here. Delimiters are read from the ISA segment rather than assumed, so a file delimited with pipes and newlines reads exactly as cleanly as one with stars and tildes. And SE01 counts the ST and SE segments themselves, which is the commonest silent rejection in freight EDI.

1 / 7

Engineering

How it was built

Frontend

  • Browser playground running the parser compiled to WebAssembly
  • Interchanges parsed in the page — nothing is uploaded
  • Built-in samples including a broken envelope and a pipe-delimited interchange

Backend & services

  • .NET library targeting netstandard2.0 and net8.0, with no runtime dependencies
  • Delimiters resolved from the ISA segment, reported with the offset each came from
  • Envelope validation across ISA, GS and ST, with GE, SE and IEA counts and control numbers checked against them
  • Validation returns diagnostics rather than throwing, so one bad file yields every problem in it
  • Segment and element breakdown by position, identifier and element name

Integrations

  • Transaction sets 204, 210, 214 and 997
  • dotnet global tool with a non-zero exit code on an invalid file

Testing & verification

  • 114 tests

Applied

Skills on this project

EDI X12C#.NETWebAssemblyBlazorCLI toolingAPI Integration

Next step

Tell us what you're building

Book a free 30-minute call with the engineer who would do the work. You get a written summary afterward, whether or not we work together.

Book a call or email disit.tech@gmail.com

Prefer to write? A developer reads every message and replies within one business day.