Skip to content
GitHub

Conformance checklist

Where every format in the registry stands, generated from the code and the test fixtures on each build. Back to the converter.

What it reads, country by country

Every EU country also sends Peppol BIS Billing 3.0, which converts fully. The tiles show each country's own formats; each one links to its page.

  • Converted to canonical JSON
  • Identified; parser still to come

Beyond the EU

Peppol PINT jurisdictions and Saudi ZATCA, mapped on top of the UBL parser. The PINT Schematron is not bundled, so these get the UBL schema check only.

Checklist by format

  • 46 of 46 formats have a parser; 44 convert at least one fixture, 21 of them from a real public sample.
  • 2 formats have a parser but no fixture that exercises it, and 1 have no fixture at all.
  • 2 detection rules are unverified. 38 formats run schema or Schematron validation.
FormatCountriesDetection ruleFixtures detectedParserFixtures convertedReal samples convertedMapping sourceValidation
XRechnung (UBL)xrechnung-ubl DE current 2 yes 2 1 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic, profile
NLCIUS (UBL)nlcius-ubl NL current 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
RO e-Factura (CIUS-RO)cius-ro RO current 1 yes 1 1 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
CIUS-PTcius-pt PT current 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
HR-CIUS (Fiskalizacija 2.0)hr-cius HR current 1 yes 1 1 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
France CTC (UBL)fr-ctc-ubl FR current 2 yes 2 1 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
OIOUBL 3.0oioubl-3 DK current 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema
Poland PEF (Peppol BIS 3 + PL extension)pl-pef PL current 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
Peppol BIS Billing 3.0peppol-bis3 EU current 4 yes 4 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic, profile
Peppol BIS Self-Billing 3.0peppol-bis3-selfbilling EU current 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema
Peppol PINT Singapore (InvoiceNow)pint-sg SG current 1 yes 1 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT SG (GST as VAT-like scheme, UEN EAS 0195) schema
Peppol PINT Australia and New Zealandpint-aunz AU, NZ current 2 yes 2 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT A-NZ (ABN EAS 0151, NZBN EAS 0088, GST scheme); stored under extensions.au or extensions.nz schema
Peppol PINT Japanpint-jp JP current 2 yes 2 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT JP and the non-tax-registered variant (qualified invoice issuer number T + 13 digits) schema
Peppol PINT Malaysia (MyInvois)pint-my MY current 1 yes 1 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT MY (TIN in the GST scheme, SST in VAT, MSIC code, LHDN references) schema
Peppol PINT United Arab Emiratespint-ae AE current 1 yes 1 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT AE (eight transaction-type flags in ProfileExecutionID, TIN EAS 0235) schema
Peppol PINT Omanpint-om OM current 1 yes 1 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT OM: detected only, parsed as plain UBL schema
Peppol PINT EUpint-eu EU current 1 yes 1 0 Peppol PINT specification pages (docs.peppol.eu/poac), PINT EU: parsed as plain UBL schema
Peppol PINT (base and other jurisdictions)peppol-pint EU current 3 yes 3 2 Peppol PINT specification pages (docs.peppol.eu/poac): PINT base and older BIS Billing International identifiers; common part from the EN 16931 UBL binding schema
Saudi ZATCA e-invoice (UBL, KSA profile)zatca-ubl SA current 3 yes 3 3 ZATCA E-Invoicing Detailed Technical Guidelines and XML Implementation Standard (zatca.gov.sa): InvoiceTypeCode/@name NNPNESB, ICV/PIH/QR references, XAdES invoice hash, QR TLV tags 1-9 schema
UBL.BEubl-be BE legacy 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema
EN 16931 (UBL), no CIUSen16931-ubl EU current 2 yes 2 2 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema, semantic
Peppol BIS 2 / CEN BII (incl. Svefaktura BIS 5A, EHF 2)peppol-bis2 EU legacy 1 yes 1 0 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema
OIOUBL 2.xoioubl-2 DK legacy 3 yes 3 2 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages not yet
UBL 2.x invoice, unknown profileubl-unknown EU unverified 2 yes 2 1 EN 16931-3-2 (UBL binding) as documented in the Peppol BIS Billing 3.0 syntax pages schema
XRechnung (CII)xrechnung-cii DE current 2 yes 2 1 EN 16931-3-3 (CII binding) as documented by FNFE-MPE / FeRD for Factur-X and KoSIT for XRechnung schema, semantic, profile
NLCIUS (CII)nlcius-cii NL current 1 yes 1 0 EN 16931-3-3 (CII binding) as documented by FNFE-MPE / FeRD for Factur-X and KoSIT for XRechnung schema, semantic
France CTC (CII / Factur-X EXTENDED-CTC-FR)fr-ctc-cii FR current 2 yes 2 1 EN 16931-3-3 (CII binding) as documented by FNFE-MPE / FeRD for Factur-X and KoSIT for XRechnung schema, semantic
Factur-X / ZUGFeRD 2.xfacturx DE, FR current 3 yes 3 1 EN 16931-3-3 (CII binding) as documented by FNFE-MPE / FeRD for Factur-X and KoSIT for XRechnung schema, semantic (EN 16931 profile only)
EN 16931 (CII), no CIUSen16931-cii EU current 2 yes 2 1 EN 16931-3-3 (CII binding) as documented by FNFE-MPE / FeRD for Factur-X and KoSIT for XRechnung schema, semantic
CII invoice, unknown profilecii-unknown EU unverified 1 yes 1 0 EN 16931-3-3 (CII binding) as documented by FNFE-MPE / FeRD for Factur-X and KoSIT for XRechnung schema
ZUGFeRD 1.0zugferd-1 DE legacy 3 yes 3 2 ZUGFeRD 1.0 (FeRD) CrossIndustryDocument syntax, urn:ferd:CrossIndustryDocument:invoice:1p0; no mapping document cited in the parser not yet
FatturaPAfatturapa IT current 10 yes 10 5 FatturaPA 1.2.x (FPR12/FPA12) and FSM10 semplificata schemas (Agenzia delle Entrate); no mapping document cited in the parser schema
FatturaPA semplificatafatturapa-semplificata IT current 2 yes 1 0 FatturaPA 1.2.x (FPR12/FPA12) and FSM10 semplificata schemas (Agenzia delle Entrate); no mapping document cited in the parser schema
KSeF FA(2)/FA(3)/FA_RRksef PL current 7 yes 7 2 Ministry of Finance KSeF schemas FA(2), FA(3), FA_RR(1) (crd.gov.pl/wzor/...) and the KSeF documentation (CIRFMF/ksef-docs) schema
Facturaefacturae ES current 5 yes 4 0 Facturae 3.2 / 3.2.1 / 3.2.2 schemas (Spain); no mapping document cited in the parser schema
ISDOCisdoc CZ current 5 yes 5 3 ISDOC 5.2 to 6.x schema (isdoc.cz); no mapping document cited in the parser schema
ebInterfaceebinterface AT current 7 yes 6 4 ebInterface 3.0 to 6.1 schemas (ebinterface.at; 3.0 to 4.2 as shipped in phax/ph-ebinterface); no mapping document cited in the parser schema
ebInterface 2.xebinterface-2 AT legacy 0 yes 0 0 Not mapped: the ebinterface parser reads 3.0 to 6.1; versions 2.0-2.2 are reported as unsupported (1.0 has no namespace and is not detected) not yet
Finvoicefinvoice FI current 3 yes 3 1 Finvoice 3.0 mapping onto EN 16931 (Finnish Federation of Financial Services) schema
TEAPPSXMLteappsxml FI current 1 yes 1 0 TEAPPSXML v.3.0 Implementation Guide and 'Empty INVOICES-structure with explanations' (Tieto) not yet
Estonian e-invoice (e-arve)e-arve EE current 2 yes 1 0 Estonian e-invoice (e-arve) 1.2 / 1.2.EN; no mapping document cited in the parser schema
eSLOG 2.0eslog-2 SI current 3 yes 2 0 e-SLOG 2.0 Electronic Invoice, Part 2: Document Composition (April 2018) schema
eSLOG 1.6eslog-1 SI current 1 yes 0 0 Not mapped: the eslog parser reads eSLOG 2.0 only not yet
Svefaktura 1.0svefaktura-1 SE legacy 3 yes 3 0 SFTI, Mapping of Svefaktura 1.0 onto EN 16931-1, v1.4 not yet
Greece myDATA invoice XMLgr-mydata GR current 4 yes 4 3 AADE myDATA InvoicesDoc XSD, invoice namespace v1.0 and income/expenses classification v1.0 not yet
Mexico CFDI 3.3 / 4.0mx-cfdi MX current 5 yes 5 1 SAT Anexo 20 and the CFDI schemas cfdv40.xsd / cfdv33.xsd (sat.gob.mx/sitio_internet/cfd), with the TimbreFiscalDigital 1.1 stamp not yet

Generated 2026-10-18 by scripts/conformance.ts. Hand-maintained facts (which fixtures are real public samples, mapping sources) live in conformance/notes.json.

Performance

Documents converted per second by convert() on bun 1.4.2 (darwin-arm64), measured 2026-10-16; peak memory is the resident set of a fresh process that converts the file once. Numbers depend on the machine; the CI gate compares ratios to a calibration loop, not these figures.

CaseInputDocuments/sPeak memory
Peppol BIS 3 invoice (UBL)11.6 KB146046 MB
XRechnung (CII)8.5 KB233142 MB
FatturaPA5.2 KB279542 MB
KSeF FA(3)1.0 KB595839 MB
Factur-X PDF/A-337.0 KB94356 MB
FatturaPA in CAdES .p7m5.2 KB52655 MB
ZIP archive23.9 KB87954 MB
UBL with relations and provenance11.6 KB124246 MB
UBL with XSD and Schematron validation11.6 KB7.74337 MB
Generated invoice, 1,000 lines724.3 KB16105 MB
Generated invoice, 10,000 lines7217.8 KB1.70517 MB
Invoice with a 20 MB attachment27677.9 KB6.29303 MB

Browser converter: 879.4 KB of JavaScript loaded up front, 1784.0 KB with everything it can load later (the PDF and CMS chunks load only when a file needs them, the other languages when chosen). Full results: bench/results.md.