Electronic Data Interchange (EDI)

Overview
A modular, ERP-independent EDI engine written in Go.
This project introduces a clean architectural separation between business logic and transport formats.
It provides:
- Canonical business document models
- X12 generation and parsing
- BOD XML integration (Infor M3 and beyond)
- Clean, strongly-typed APIs
- Extensible transaction routing
Core Separation Principle
BOD XML β Canonical β X12
Canonical models are the stable core of the system.
Adapters handle format transformations.
β οΈ Project Status
This project is currently in v0.x (active development).
Breaking changes may occur until v1.0.0.
Installation
Install latest version:
go get github.com/entiqon/edi
Install specific version:
go get github.com/entiqon/edi@v0.1.0-dev.1
Status Legend
- β³ Planned
- π§ In Progress
- β
Implemented
- π Stable (post v1.0)
Goals
ERP-independent canonical models
- β³ 810 Invoice
- β³ 832 Price/Sales Catalog
- β³ 846 Inventory Inquiry/Advice
- β³ 850 Purchase Order (IN + OUT)
- π§ 855 Purchase Order Acknowledgment (IN + OUT)
- β³ 856 Advance Ship Notice (IN + OUT)
- β³ 870 Order Status Report
- β³ 940 Warehouse Shipping Order
- β³ 943 Warehouse Stock Transfer Shipment Advice
- β³ 944 Warehouse Stock Transfer Receipt Advice
- β³ 945 Warehouse Shipping Advice
X12 generation and parsing
- β³ 810
- β³ 832
- β³ 846
- β³ 850 (IN + OUT)
- π§ 855 (IN + OUT)
- β³ 856 (IN + OUT)
- β³ 870
- β³ 940
- β³ 943
- β³ 944
- β³ 945
Architecture
The canonical layer is format-agnostic.
Rules:
- No ERP-specific logic inside canonical.
- No X12 segment leakage into canonical.
- Adapters convert formats into canonical.
- Canonical remains stable long-term.
Adapters may evolve. Canonical must endure.
Roadmap
- v0.1.x β BOD SalesOrder + 855
- v0.2.x β 850 IN/OUT canonical + X12
- v0.3.x β 856 ASN support
- v1.0.0 β Stable canonical API
Contributing
Contributions are welcome.
Before submitting a PR:
- Ensure tests pass
- Respect canonical isolation principles
- Avoid ERP/X12 leakage into core models
- Update documentation (README, doc.go, CHANGELOG)
- Follow semantic versioning
See full contribution guidelines in
π CONTRIBUTING.md
π License
π‘ Originally created by Isidro A. Lopez G.
π’ Maintained by the Entiqon Labs Organization
MIT β Β© Isidro A. LΓ³pez G. / Entiqon Project