Was der ZUGFeRD-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
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 |
Sie möchten eine XRechnung prüfen?
Die XRechnung ist reines XML mit eigenem deutschen Regelwerk (CIUS) zusätzlich zur EN 16931, einschließlich der verpflichtenden Leitweg-ID. Dafür gibt es ein eigenes Werkzeug: