API documentation

What eunormia checks

The core of eunormia is a guarantee: only what passes validation is ever delivered. Two checks always run, two more are optional.

veraPDF — PDF/A-3 (always)

veraPDF is the industry-supported reference validator for PDF/A. It machine-checks whether the PDF container meets the archiving standard ISO 19005-3 (PDF/A-3B) — fonts, colour spaces, metadata, structure. An e-invoice with a non-conformant container gets rejected by receiving systems no matter how good the XML is.

EN 16931 — Schematron (always)

The European norm for the semantic content: mandatory fields, tax logic, totals rules. The embedded CII XML is checked against the official Schematron rules. In addition, eunormia recalculates all totals server-side when creating — mismatches produce a 422, never a silent correction.

KoSIT — XRechnung/Germany (optional, kosit)

The official validator of the German coordination body for IT standards — the same tool the public-sector receiving portals use. XRechnung is stricter than EN 16931 (additional mandatory fields such as the Leitweg-ID). A verdict of ACCEPTABLE effectively means: the authority will accept the invoice. Recommended for anyone invoicing German public-sector customers.

FR-CTC — France (optional, frCtc)

The French CTC rules (BR-FR) published by FNFE-MPE for the e-invoicing reform (mandatory from 09/2026): additional required statements such as late payment interest and recovery costs. A substantive Factur-X profile check with the official rulesets — final acceptance in France happens via the accredited platforms (PDP).

Which check when?

ScenarioRecommendation
B2B invoice DE/AT (ZUGFeRD)standard gates are sufficient
Invoice to a German authorityprofile=XRECHNUNG + kosit=true
Invoice to FrancefrCtc=true
Inbound checking (any origin)/v1/validate, enable checks as needed