XRechnung prüfen und validieren: was geprüft wird, woran es scheitert
Eine XRechnung ist dann gültig, wenn sie das XML-Schema ihrer Syntax (UBL 2.1 oder CII D16B) einhält, keine der Geschäftsregeln der EN 16931 (CEN-Fassung 1.3.16) verletzt und keine der deutschen Zusatzregeln der XRechnung (BR-DE-*, Fassung 2.6.0 für XRechnung 3.0.2) bricht. Das prüft der KoSIT-Validator, das prüfen die Empfangsportale des Bundes und der Länder vor der Annahme, und das prüft die kostenlose Seite XRechnung prüfen mit denselben veröffentlichten Regeldateien, 4 Mal am Tag ohne Konto. Dieser Ratgeber sagt, was dabei geprüft wird, welche Meldungen am häufigsten kommen und wie man sie liest.
- Drei Ebenen, nacheinander: das Schema (ist die Datei wohlgeformtes UBL oder CII?), die EN-16931-Regeln (Summen, Steuerkategorien, Codelisten: BR-*, BR-CO-*, BR-S-*, BR-CL-*), die XRechnung-Regeln (Käuferreferenz, Ansprechpartner, Zahlungsangaben, elektronische Adressen: BR-DE-*). Ein Fehler auf einer Ebene macht die Rechnung ungültig; Warnungen nicht.
- Jede Meldung trägt eine Regel-ID, einen Schweregrad (fatal oder warning), einen XPath auf die Stelle und den Regeltext, wie die KoSIT ihn veröffentlicht. Dieselbe Datei liefert beim KoSIT-Validator und hier dieselben Regel-IDs (Nachweis auf der Produktseite).
- Eine ZUGFeRD-/Factur-X-PDF wird an der eingebetteten XML geprüft; die PDF/A-3-Konformität der Hülle ist ein eigener Schritt (veraPDF).
- Seit dem 1. Januar 2025 müssen inländische Unternehmen E-Rechnungen empfangen können; ausstellen müssen sie ab 2027 (über 800.000 € Vorjahresumsatz) und ab 2028 alle (§ 14 UStG). Keine Steuerberatung.
Was wird bei einer XRechnung geprüft?
Zuerst das Schema: eine Datei, die kein gültiges UBL-2.1-Invoice (oder CreditNote) oder keine gültige CII-D16B-CrossIndustryInvoice ist, kommt nicht weiter. Dann die Schematron-Regeln der EN 16931: Rechnungssummen (BR-CO-10 bis BR-CO-17), Steueraufschlüsselung je Kategorie (BR-S-*, BR-Z-*, BR-E-*, BR-AE-*, BR-IC-*), Pflichtfelder (BR-01 bis BR-65) und Codelisten (BR-CL-*: Währungen, Mengeneinheiten, Steuerkategorien, Länder). Zuletzt die XRechnung-Regeln: BR-DE-1 (Zahlungsanweisungen), BR-DE-2 bis BR-DE-7 (Ansprechpartner des Verkäufers mit Name, Telefon, E-Mail), BR-DE-15 (Käuferreferenz, bei Behörden die Leitweg-ID), BR-DE-17 (Rechnungstyp), BR-DE-21 (die Spezifikationskennung in BT-24) und weitere.
Die häufigsten Fehler, und was sie bedeuten
| Regel | Meldung | Ursache und Abhilfe |
|---|---|---|
BR-DE-15 | Käuferreferenz (BT-10) fehlt | Zwischen Unternehmen eine Bestellnummer oder Kostenstelle eintragen; an Behörden die Leitweg-ID. |
PEPPOL-EN16931-R010 | Elektronische Adresse des Käufers (BT-49) fehlt | Die Rechnungs-E-Mail des Käufers als Adresse mit Schema EM eintragen, bei Behörden die Leitweg-ID mit Schema 0204. |
BR-DE-2 bis BR-DE-7 | Ansprechpartner des Verkäufers unvollständig | Name, Telefon und E-Mail des Verkäuferkontakts (BG-6) angeben; alle drei sind Pflicht. |
BR-CO-15 | Fälliger Betrag stimmt nicht mit den Summen überein | Summen nie von Hand schreiben: Positionsnetto, Nachlässe, Zuschläge und Steuer müssen rechnerisch aufgehen (Rundung auf Cent je Position). |
BR-S-08, BR-CO-17 | Steuerbetrag je Kategorie weicht ab | Steuer je Satz aus der Bemessungsgrundlage berechnen; mehrere Sätze getrennt aufschlüsseln. |
BR-CL-23 | Mengeneinheit nicht in UN/ECE Rec. 20 | Codes wie C62 (Stück), HUR (Stunde), KGM; bei XRechnung eine Warnung, bei Peppol ein Fehler. |
BR-E-10 | Steuerbefreiung ohne Grund | Bei Kategorie E (z. B. Kleinunternehmer nach § 19 UStG) den Befreiungsgrund als Text oder VATEX-Code angeben. |
BR-DE-21 | Spezifikationskennung falsch | BT-24 muss urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0 lauten. |
Womit prüfen?
Drei Wege, dieselben Regeln. Der KoSIT-Validator ist das offizielle Open-Source-Programm (Java) mit der XRechnung-Konfiguration; er ist die Referenz. Die kostenlose Seite XRechnung prüfen führt dieselben Regeldateien im Browser-Aufruf aus, ohne Installation und ohne Konto, 4 Prüfungen am Tag; die Datei wird nicht gespeichert. Per API prüft POST https://veriport.io/api/v1/einvoice/validate jede Datei für 5 Aufrufe und liefert denselben Bericht als JSON, für den Rechnungseingang in der eigenen Software.
curl -X POST "https://veriport.io/api/v1/einvoice/validate" \
-H "Content-Type: application/xml" \
--data-binary @invoice.xml{
"valid": true,
"profile": "xrechnung",
"format": "xrechnung-ubl",
"syntax": "ubl",
"container": "xml",
"attachment": null,
"errors": [],
"warnings": [],
"checks": {
"schema": {
"status": "passed",
"name": "UBL 2.1 (OASIS) and UN/CEFACT CII D16B XML schemas, from the KoSIT XRechnung validator configuration v2026-08-31"
},
"ruleSets": [
{
"id": "cen-ubl",
"name": "CEN EN 16931 validation artefacts (UBL)",
"release": "1.3.16",
"sha256": "bafada015efbc5248bf5e05ad2191e1d9833ef96e9dd5f4bce420a747342da85",
"fatal": 0,
"warnings": 0
},
{
"id": "xrechnung-ubl",
"name": "XRechnung 3.0.2 schematron (UBL)",
"release": "2.6.0",
"sha256": "ca5e07afd04e72cd283d581590ffff3a15f4aac9d2f40c993345d78e67ea22b4",
"fatal": 0,
"warnings": 0
}
],
"pdfa": null,
"veriport": 0
},
"ms": 84
}Wie liest man den Bericht?
„Gültig“ heißt: kein fataler Fehler aus Schema oder Regeln; Warnungen dürfen bleiben, sollten aber angesehen werden. Jede Meldung nennt rule (die ID), severity, path (den XPath zur Stelle in der XML) und message (den veröffentlichten Regeltext: die BR-DE-Regeln auf Deutsch, die CEN-Regeln auf Englisch). Beheben Sie zuerst Schemafehler, dann die fatalen Regeln von oben nach unten; viele Folgefehler verschwinden mit dem ersten.
Questions
- Ist „XRechnung prüfen“ dasselbe wie „validieren“?
- Ja: Validieren ist der Fachbegriff für die Prüfung gegen Schema und Schematron-Regeln; „prüfen“ sagt dasselbe. Nicht gemeint ist die fachliche Prüfung des Rechnungsinhalts (stimmt der Preis?), die bleibt beim Empfänger.
- Welche XRechnung-Version wird geprüft?
- XRechnung 3.0.2 mit der KoSIT-Konfiguration v2026-08-31. Eine Datei anderer Version wird mit den EN-16931-Regeln geprüft; die XRechnung-4.0-Regeln folgen, sobald sie veröffentlicht sind.
- Prüft die Seite auch ZUGFeRD-PDFs?
- Ja: Sie liest die eingebettete factur-x.xml und prüft sie gegen EN 16931 (und XRechnung, wenn die Datei sich als XRechnung ausweist). Die PDF/A-3-Konformität der PDF prüft sie nicht.
- Wird die Rechnung gespeichert?
- Nein. Die Datei wird im Speicher geprüft und verworfen; gezählt wird nur der Aufruf.
4 Prüfungen am Tag ohne Konto, dieselben Regeln wie der KoSIT-Validator.
XRechnung kostenlos prüfenSources
- XRechnung — the German CIUS of EN 16931 (standard, versions and bundles; version 3.0.2 in force) — KoSIT (Koordinierungsstelle für IT-Standards), Bremen, consulted 2026-10-28
- KoSIT validator (the reference validator for XRechnung), release 1.6.3 — KoSIT, consulted 2026-10-28
- Validator configuration XRechnung v2026-08-31 (XRechnung 3.0.2, CEN schematron 1.3.16, xrechnung-schematron 2.6.0) — KoSIT, consulted 2026-10-28
- EN 16931 validation artefacts 1.3.16 (UBL and CII schematron, the business rules BR-*) — CEN/TC 434, published with the European Commission (Connecting Europe), consulted 2026-10-28
- § 14 UStG (Ausstellung von Rechnungen): the e-invoice for domestic B2B supplies, receipt since 1 January 2025, issue from 1 January 2027 (turnover above €800,000) and 1 January 2028 — Bundesministerium der Justiz (gesetze-im-internet.de), consulted 2026-10-28