fakturai blog

Technical validation

Technical validation for German e-invoices — KoSIT, EN 16931 and sum validation

fakturai validates every generated invoice in 4 layers before delivery. The decisive step is the official KoSIT validator of the German tax authority returning “ACCEPT”. Here is what is actually checked — and what fakturai deliberately does not replace (substantive correctness stays with the issuer, GHOA-1671).

The 4 validation layers (from engine Report.passed)

1. PDF/A-3b compliance (WeasyPrint + veraPDF). 2. Structural XSD schema check (CII for EN 16931). 3. Schematron business rules via Mustang (EN 16931 core + German BR-DE-* as informational for B2B). 4. KoSIT accept (the authoritative instance).

Only pdfa_compliant + !hard_failures + kosit=="accept" passes. Hard failures are EN 16931 core rules; BR-DE/PEPPOL are advisory for B2B.

What fakturai checks (KoSIT-Accept-Gate)

XSD + Mustang + veraPDF + official KoSIT ACCEPT before delivery. This is the central trust feature: format provably accepted by the authority reference engine.

What fakturai does not replace (GHOA-1671)

Substantive/tax correctness (amounts, correct VAT rates for place of performance, service description, taxability, reverse-charge etc.) remains entirely with the issuer. No accounting/ERP, no tax/legal advice, no complete GoBD archival process beyond the file format. No hard guarantees.

Free validator · Create API key · API docs