X12

Use X12Parser for ANSI ASC X12 messages.

using EDIParser;

var parser = new X12Parser
{
    Message = File.ReadAllText("850.edi")
};

parser.ParseMsg();

var transactionSet = parser.GetValue("ST.1", 1, 1);
var purchaseOrderNumber = parser.GetValue("BEG.3", 1, 1);

Separators

The parser detects X12 separators from the interchange header when possible. X12 messages commonly use:

  • ~ for segments
  • * for data elements
  • : for components
  • ^ for repetitions in newer versions

Example

ISA*00*          *00*          *ZZ*SENDER         *ZZ*RECEIVER       *260731*1512*U*00401*000000001*0*T*:~
GS*PO*SENDER*RECEIVER*20260731*1512*1*X*004010~
ST*850*0001~
BEG*00*SA*12345**20260731~
SE*3*0001~
GE*1*1~
IEA*1*000000001~