Was der ZUGFeRD- & XRechnung-Validator prüft
Eine Datei zu erzeugen ist nicht dasselbe wie eine gültige Datei zu erzeugen. Der Validator führt bei jedem Upload drei unabhängige Prüfungen durch: alle drei müssen bestanden werden, damit Ihre Rechnung von Buchhaltungssystemen und Behördenportalen akzeptiert wird.
Prüfschicht 1: XML-Schema
Das eingebettete XML muss dem Cross Industry Invoice (CII) D16B Schema entsprechen. Schema-Fehler sind struktureller Natur: ein fehlendes Element, ein falscher Datentyp oder ein Attribut im falschen Namespace. Sie werden erkannt, bevor Geschäftsregeln angewendet werden, und weisen meist auf einen Fehler bei der Code-Generierung oder Serialisierung hin.
Prüfschicht 2: EN 16931 Schematron-Regeln
Die Schematron-Schicht erzwingt über 200 semantische Geschäftsregeln des europäischen E-Rechnungsstandards. Regeln sind durch Codes wie BR-01, BR-CO-15 oder DE-R-001 identifiziert. Häufige Fehler:
- BR-08 - Rechnungswährungscode fehlt (BT-5)
- BR-CO-15 - MwSt.-Kategoriesteuerbetrag stimmt nicht mit dem berechneten Wert überein
- BR-S-08 - Steuersatz (BT-119) ist Pflicht, wenn die MwSt.-Kategorie „Standard" ist
- DE-R-003 - Steuer-ID des Verkäufers (BT-31 oder BT-32) ist für deutsche Inlandsrechnungen erforderlich
Jeder Fehler im Bericht enthält den Regelcode, den XPath des fehlerhaften Elements und eine verständliche Beschreibung, kein Lesen der Spezifikation nötig, um zu verstehen, was zu beheben ist.
Prüfschicht 3: PDF/A-3b-Konformität (nur ZUGFeRD)
ZUGFeRD erfordert, dass der PDF-Container ein PDF/A-3b-Archiv ist. Ein normales PDF schlägt fehl, auch wenn das eingebettete XML vollständig gültig ist. Häufige Ursachen: fehlende eingebettete Schriften, kein ICC-Output-Intent, falsche XMP-Metadaten oder die XML-Anlage nicht mit dem AFRelationship-Schlüssel „Alternative" deklariert.
Profilspezifische Prüfungen
Der Validator wendet zusätzliche Regeln an, je nachdem welches ZUGFeRD-Profil die Datei deklariert. Höhere Profile erfordern mehr Datenfelder: das Einreichen einer MINIMUM-Profildatei, wo EN 16931 erwartet wird, erzeugt Dutzende Fehlende-Feld-Fehler.
| Profil | Zeilenpositionen erforderlich | Zu-/Abschläge | Vollständige EN 16931-Regeln |
|---|---|---|---|
| MINIMUM | Nein | Nein | Nein |
| BASIC WL | Nein | Ja | Nein |
| BASIC | Ja | Nein | Nein |
| EN 16931 | Ja | Ja | Ja |
| EXTENDED | Ja | Ja | Ja + Erweiterungen |
XRechnung-spezifische Prüfungen
XRechnung ist reines XML: es gibt keine PDF-Schicht, daher entfällt die PDF/A-3b-Konformität. Der Validator erzwingt stattdessen die deutsche CIUS (Core Invoice Usage Specification) zusätzlich zu EN 16931:
- DE-R-001 - BT-10 (Käuferreferenz / Leitweg-ID) ist für alle XRechnung-Rechnungen Pflicht
- DE-R-002 - Die Leitweg-ID muss dem Muster {Behörden-ID}-{optionales-Suffix}-{Prüfziffer} entsprechen
- DE-R-009 - Zahlungsartcode muss einer der zulässigen Werte sein (30, 58 oder 59)
Wenn Sie an ein Bundes- oder Landesportal (ZRE, OZG-RE) übermitteln, muss die Leitweg-ID vor der Rechnungsstellung beim Auftraggeber eingeholt werden, der Validator meldet eine fehlende oder fehlerhafte ID sofort.