We ran 12,000 e-invoices through KoSIT, EN 16931 and Peppol. Passing the validator isn't enough
Description and use
The matrix uncovered that 39.7% of WooCommerce PDF Invoices, 32.7–42.7% of Odoo, and 90.7–98% of other generators fail critical validation rules or miscalculate totals. Several bugs were fixed in subsequent releases, and the CI workflow now ensures ongoing compliance.
Problem
Open-source e‑invoice generators often produce invoices that pass schema validators but still violate business rules or miscalculate totals, leading to compliance and financial errors.
Outcome
The matrix uncovered that 39.7% of WooCommerce PDF Invoices, 32.7–42.7% of Odoo, and 90.7–98% of other generators fail critical validation rules or miscalculate totals. Several bugs were fixed in subsequent releases, and the CI workflow now ensures ongoing compliance.
Workflow
- Generate 600 synthetic tax‑inclusive shop orders (19%/7% VAT, coupons, shipping).
- Run each order through the selected e‑invoice generator.
- Validate each generated invoice against KoSIT 1.6.3, CEN EN 16931, and Peppol BIS 3.0.20 rule sets.
- Compare the invoice amount due with the actual charged amount.
- Record failures and identify root causes.
- Fix identified bugs in the generators or adjust rounding matrices.
- Commit fixes and update the matrix repository.
- Add the matrix as a CI step using the GitHub Action kobima6813/einvoice-conformance-matrix.
- Maintain the generator list via Listing request issues or PRs.
Evidence
We built an open, reproducible matrix. It takes the same 600 synthetic tax-inclusive shop orders (19 %/7 % VAT, percentage coupons, shipping), runs them through each generator, and checks every invoice with pinned official rule sets: KoSIT 1.6.3 + XRechnung 3.0.2, CEN EN 16931 and Peppol BIS 3.0.20.
WooCommerce PDF Invoices 5.16.4, Factur-X: 39.7 % schema-invalid. RoundingAmount is written in the wrong XSD position (reported upstream).
Odoo 19, Factur-X: with round_globally, 32.7 % (B2B) and 42.7 % (B2C) fail CEN calculation rules, and 80.7 % of B2B invoices fail Peppol R120.
Run the same checks on your own invoices in CI: - uses: kobima6813/einvoice-conformance-matrix@main with: invoices: out/invoices
- Record date: 2026-10-24T18:41:06.621Z