XRechnung · ZUGFeRD · Factur-X — EN 16931

Validate e-invoices in seconds

Free quick check in your browser — profile detection, mandatory fields, totals arithmetic, EN 16931 / XRechnung / France rules. The same engine is available as an API: validate, parse and generate — embeddable, self-hostable.

Drop your invoiceExplore the developer API

  • Runs 100% in your browser — no uploads
  • 86/86 official KOSIT test cases passing
  • Rules for Germany & France
Drop your invoice here
XRechnung (XML), ZUGFeRD / Factur-X (PDF or XML)

🔒 100% local in your browser — your invoice is never uploaded

Checking invoice …
86/86
official KOSIT test cases passing
325+
corpus files tested (KOSIT, FNFE, ZUGFeRD)
< 1 s
check time, locally in your browser
0
uploads — your data stays with you

What the quick check covers

Profile & format

Detects UBL and CII, every XRechnung version and all ZUGFeRD/Factur-X profiles — including embedded in PDF/A-3.

Mandatory fields & totals

EN 16931 core rules: required fields, VAT breakdown and the complete totals arithmetic (BR-CO).

Germany & France

German XRechnung requirements including Leitweg-ID, plus French SIREN/SIRET and VAT checks for the 2026 reform.

Supported formats & country rules

All formats, profiles and validation rules at a glance.

FormatDetection & validationCountry rules
XRechnung 1.2 – 3.0
UBL & CII
full (profile, mandatory fields, totals)DEGerman mandatory fields incl. Leitweg-ID
ZUGFeRD 2.x / Factur-X
all profiles, PDF/A-3 & XML
full, incl. XML extraction from PDFDEGerman mandatory fields
FRSIREN/SIRET & VAT (2026 reform)
UBL / CII (EN 16931) EN 16931 core rules (BR, BR-CO)EUEU standard, country-neutral
Peppol BIS Billing 3.0
UBL & CII
EN 16931 rules + Peppol requirements (electronic addresses)EUPeppol network (CIUS on EN 16931)
ZUGFeRD 1.0 Legacy detection + migration notice (not an EN 16931 format)

FatturaPA (IT), FacturaE (ES) and KSeF (PL) are separate national systems and currently not covered by the validator.

More than validation: the e-invoicing layer

The same engine that checks invoices here in your browser powers the developer API — one model for every format: validate, parse, generate and convert between UBL, CII and Factur-X. Embeddable, self-hosted, EU-hosted.

ValidateParseGenerateConvert
curl -X POST https://api.billhorse.com/v1/validate \
  -H "Authorization: Bearer $KEY" \
  --data-binary @rechnung.xml

"profile": "xrechnung-3.0", "valid": false,
"ruleset": "2026.07"

Explore the API

The API is live — start free

Validate, parse, generate and convert over HTTP — the same engine as this validator, messages in three languages, self-hosted option included. Start with no credit card: 100 requests/month free.

Start freePricing

Note: This quick check covers the key business rules but does not replace a full Schematron validation (e.g. the official KOSIT validator) or tax advice. No guarantee of completeness.