Step 2 of 4 · ProjectsAPIs
ESJ (EN 16931 Semantic JSON)
JSON binding of the EN 16931 invoice model, with a Java library, CLI, validation and UBL/CII conversion.
What it does
Reads EN 16931 invoices from UBL 2.1, CII D16B XML or hybrid PDFs into a flat JSON map keyed by business term, and writes, validates (XSD, Schematron, business rules), converts between UBL and CII and renders PDFs with the XML embedded. Java 17 or later, with a command line and native executables; TypeScript and C# versions exist. Apache-2.0; a release candidate, not a CEN or KoSIT deliverable.
Where it fits on the map
Similar projects
Of the same kind, for a shared jurisdiction or tax area. Not a ranking.
- aade-mydataPHP client for Greece's AADE myDATA invoicing API: send, cancel and retrieve invoices.
- BelgiumVatChecker.NET Web API that validates Belgian and EU VAT numbers using the VIES service.
- BrevJVM library to write and read Peppol BIS Billing 3.0 invoices and credit notes, with Norwegian identifiers.
- cbam-apiGo API on the EU Carbon Border Adjustment Mechanism (CBAM) data model.
- chinaport-data-signatureSigns China E-Port customs messages (CEB, 179 data) for cross-border e-commerce declarations.
- commerceguys/taxPHP tax library for commerce applications: tax types, zones and rates.
Maintain this project?
Link to this page from your README, so readers find the facts, the notes and where it fits. The badge is a small SVG served from this site.
[](https://tax-oss.com/projects/esj/)