EDIReader is a flexible and lightweight EDI parser, written in pure Java using the SAX API allowing for many integration options. Released as open source (GPL3) in 2004 and enhanced steadily since then, it has handled millions of transactions in a wide variety of products, services, industries, platforms, and custom integrations.
The EDI parser supports: * Automatic detection of EDI standard and syntax characters (terminators, delimiters, separators) * X12 and EDIFACT * Segment loops: - detects segment loops/groups within a transaction/message - using EDIReader plugins - reflected in XML as nested elements * Handles multiple: - interchanges per input stream - functional groups per interchange - transactions/messages per functional group * Command line tools: - EDI to XML - splitting EDI input into multiple XML single-transaction output files - scanning EDI input to produce a summary of transactions * Java API - based on XML push-parser patterns - can be configured with custom SAX content handlers * Detailed error messages for EDI syntax issues - for example: Segment count error in UNT segment. Expected 8 instead of 88 at segment 9, field 2 - option to continue parsing after recoverable errors * High performance - parses arbitrarily large input streams - without growing in-memory data structures or file I/O * Acknowledgments as a by-product of parsing - 997, 999 (X12) - CONTRL (EDIFACT) * Binary sequences - BIN segment (X12) - UNO/UNP (EDIFACT)
EDIReader may be easily integrated using: * Command line interface tools accepting filename arguments * Java API for embedding in your own Java system
The EDIReader Framework is a set of Java modules built on top of the Community Edition. Unlike the Community Edition, it is not released as open source but may be licensed from BerryWorks Software. It adds many additional EDI features such as:
$ claude mcp add edireader \
-- python -m otcore.mcp_server <graph>