Cross.EdiEngine 1.7.2

dotnet add package Cross.EdiEngine --version 1.7.2
                    
NuGet\Install-Package Cross.EdiEngine -Version 1.7.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cross.EdiEngine" Version="1.7.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cross.EdiEngine" Version="1.7.2" />
                    
Directory.Packages.props
<PackageReference Include="Cross.EdiEngine" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cross.EdiEngine --version 1.7.2
                    
#r "nuget: Cross.EdiEngine, 1.7.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cross.EdiEngine@1.7.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cross.EdiEngine&version=1.7.2
                    
Install as a Cake Addin
#tool nuget:?package=Cross.EdiEngine&version=1.7.2
                    
Install as a Cake Tool

Cross.EdiEngine Nuget Documentation

Simple .NET EDI Reader, Writer and Validator. Read, Write and Validate X12 EDI files with EDI Parser written on C#.

Main Features:

  • EDI to JSON and JSON to EDI conversion. Uses System.Text.Json (replaced Newtonsoft.Json) for serialization and a custom JSON reader for deserialization. JSON is a handy extension for the library. Imagine you can parse your EDI object directly in Angular or jQuery app.
  • EDI to XML and XML to EDI conversion. EdiEngine does not use XML as intermediate format, as many other engines do. It uses POCO objects and XML is just an extension.
  • Deterministic output: control segments (ISA, GS, ST, SE, IEA, GE) and XML serialization use InvariantCulture for numbers and dates, so EDI/XML/JSON do not contain locale-dependent characters (e.g. NNBSP).
  • Configurable EDI X12 997 - Functional Acknowledgment generation. You can setup whether to accept all messages, accept but say errors were noted or reject depending on your needs.
  • HL Loop Hierarchical parsing - Create a real tree structure based on HL segment hierarchy. No need to map every HL to map, this means one map can serve multiple needs. Say for ASN it can be S-O-P-I or S-O-I hierarchy in one map.
  • Syntax Notes. All types of EDI Syntax notes are supported. P Paired, R Required, E Exclusion, C Conditional, L List Conditional
  • Composite Data Elements are supported, which is really important for HIPAA and sometimes for other transactions even in retail.
  • X12 Maps Current repository contains all 004010 maps, including Purchase Order, Invoice, Shipment and many others. You can easily craft yours on their basis.
  • .NET Standard 2.1, .NET 6, .NET 8 and Source Linking. Multi-targeting support. Source linking enabled and symbol package is published to NuGet symbols server, making debugging easier.

Install NuGet package

Install the package Cross.EdiEngine NuGet package into your ASP.NET Core project:

Install-Package Cross.EdiEngine

or

dotnet add package Cross.EdiEngine

How To's

Please use Wiki for documentation and usage examples.

Usage examples

EdiEngine.Samples — runnable examples for 210 (Freight Invoice), 322 (Terminal), 810 (Invoice), 850 (Purchase Order), 997 (Functional Acknowledgment):

dotnet run --project EdiEngine.Samples

EdiEngine.Tests — unit tests with additional examples. Clone the repository to explore.

Roadmap:

  • Json Serialization and Deserialization
  • Xml Serialization and Deserialization
  • Craft more maps (Added all 004010 maps)
  • 997 generation
  • HL loop hierarchical parsing
  • Syntax Notes
  • Composite data elements
  • .NET Core support
  • HIPAA support
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.7.2 0 3/7/2026
1.7.2-preview.7 0 3/7/2026
1.7.2-preview.6 0 3/7/2026
1.7.2-preview.5 0 3/7/2026
1.7.2-preview.4 0 3/7/2026
1.7.2-preview.3 0 3/7/2026
1.7.2-preview.2 0 3/7/2026
1.7.1 72 2/28/2026
1.7.1-preview.1 38 2/28/2026
1.7.0 69 2/28/2026
1.7.0-preview.120 44 2/28/2026
1.6.1 584 11/2/2023

- EdiEngine.Samples: project with examples (210, 322, 810, 850, 997); Common.WriteTransToJson/WriteTransToXml.
- M_210: added L_SPO loop to map.
- M_602: fixed MS segment reference.
- Removed simplified test maps (M_940, M_001) from EdiEngine.Tests.
- Composite tests now use M_850 from EdiStandards with 850.Composite.SLN.OK test data.
- Replaced SegmentDefinitions with EdiEngine.Standards.X12_004010.Segments in tests.
- TargetFrameworks normalized to net6.0, net7.0 and net8.0 in project files.
- README: badges, improved installation section.
- XmlDataWriter: null-safe when batch has no envelope; InvariantCulture for numbers/dates in XML.
- Control segments and AckBuilder: InvariantCulture for numbers/dates (no NNBSP); time format "hhmm" unchanged.
- Tests: NonPrintableCharactersTests (EDI/XML/JSON free of non-printable chars); Xml/JsonReadWrite round-trip assertions.
- Build: duplicate props removed from .csproj (use Directory.Build.props); .csproj UTF-8 BOM.