Standards & sources
Validation built on official published standards.
BaseInvoice does not maintain its own rule set. Every validation rule is derived from the official schematron files published by the standard bodies listed below. We implement what they publish — nothing more.
EN 16931
65
Rules implemented
EN 16931 is the European semantic standard for electronic invoicing, mandated by EU Directive 2014/55/EU. BaseInvoice implements the official CEN schematron rules for both UBL 2.1 and UN/CEFACT CII syntax bindings, covering mandatory fields, code list constraints, and arithmetic consistency rules.
XRechnung 3.x
50
Rules implemented
XRechnung is Germany's national e-invoicing standard for public-sector invoicing, maintained by KoSIT on behalf of the German Federal Government. It extends EN 16931 with ~50 additional German-specific rules (prefixed BR-DE-), covering supplier VAT IDs, German-specific payment terms, and mandatory fields required by German procurement law.
Peppol BIS 3.0
30
Rules implemented
Peppol BIS Billing 3.0 is the cross-border e-invoicing standard used by 40+ countries for public procurement, operated by OpenPeppol under the Nordic countries' initiative. BaseInvoice implements the UBL binding of the Peppol schematron, which adds ~30 rules on top of EN 16931 covering Peppol-specific profile identifiers and network routing requirements.
Factur-X / ZUGFeRD 2.x
65
Rules implemented
Factur-X (France) and ZUGFeRD (Germany) are hybrid PDF/XML formats that embed a CII XML invoice inside a PDF/A-3 file. The embedded XML must conform to EN 16931 at the COMFORT or EN 16931 profile level. BaseInvoice validates the embedded CII layer against the same CEN schematron rules used for standalone CII files.
How we count rules
- 1Rule counts reflect implemented schematron assertions — not every assertion in the upstream file, only those that apply to the invoice types we support (UBL and CII).
- 2We do not inflate rule counts. A rule that applies to both UBL and CII is counted once.
- 3Format-specific extensions (XRechnung BR-DE-* rules, Peppol PEPPOL-EN16931-* rules) are counted separately from the base EN 16931 rules they extend.
- 4Counts are approximate and updated when we update the underlying schematron version.
Rule updates
When standard bodies publish new schematron versions, we review and integrate the changes. The 'Source updated' date on each card reflects the upstream version we currently implement, not the date of our last release.