Zum Inhalt springen

Prüfung und Normkonformität (EN 16931)

Eine E-Rechnung zu prüfen heißt festzustellen, ob sie die Regeln ihres Formats erfüllt — bevor der Empfänger sie ablehnt. Der Bericht kennt genau zwei Stufen: Error und Warning. „Konform“ heißt „kein Befund der Stufe Error“. Eine Warnung bleibt im Bericht stehen und sollte gelesen werden, macht die Rechnung aber nicht unwirksam.

Formate Weg Angezeigte Prüfstufe
XRechnung, ZUGFeRD/Factur-X, Peppol BIS nativer EN-16931-Validator: die Schematron-Regeln als C#-Prädikate portiert, mit Regel-IDs und BT-Fundstellen. Bei Peppol entscheidet eine Jurisdiktions-Weiche über die PINT-Regelsätze „EN 16931 … (nativ)“
FatturaPA, Finvoice, ebInterface, Austrofix, FA_VAT, Facturae amtliches XSD, Geschäftsregeln und eine rechnerische Gegenrechnung „Rechnerische Konsistenz + Geschäftsregeln“
ERP-Formate, außereuropäische Formate, ZUGFeRD 1.0 nicht prüfbar — kein EN-16931-Dokument. Die Antwort nennt das Format und verweist aufs Umwandeln „Format-Erkennung“
Spalte Inhalt
Regel die verletzte Regel: BR-… (EN 16931), BR-DE-… (deutsche Ausprägung), PEPPOL-EN16931-…, CONS-… (eigene Konsistenzregeln). Ein — bedeutet Befund ohne Regelbezug
Schwere Error oder Warning
Meldung der Text der Prüf-Engine
Ort die Fundstelle — ein XPath oder ein Geschäftsbegriff wie BT-10

Peppol verlangt eine Referenz. PEPPOL-EN16931-R003 fordert entweder eine Käuferreferenz (BT-10) oder eine Bestellreferenz (BT-13) — als Error, nicht als Warnung.

XRechnung ist strenger. BR-DE-15 verlangt BT-10 selbst; eine Bestellreferenz genügt nicht. Bei öffentlichen Auftraggebern ist BT-10 die Leitweg-ID. Hinterlegen Sie sie im Kundenstamm, dann fehlt sie nicht mehr.

Wahrscheinlich ist es ZUGFeRD 1.0. Das Format ist älter als EN 16931 und damit lesbar, aber nicht prüfbar. Wandeln Sie es in eine aktuelle Fassung um und prüfen Sie diese — genau das ist der Migrationsweg für ein Altarchiv.

Eng gefasste Defekte werden vor dem Lesen behoben: falsche Kodierungsnamen, ungültige Tag-Namen, nackte &, Steuerzeichen, Müll vor der XML-Deklaration, ein verwaistes End-Tag am Dateiende. Jede Reparatur steht im Bericht; nichts davon geschieht stillschweigend. Eine falsch verschachtelte oder mitten im Element abgebrochene Datei behält ihren Fehler.

Der Warnkasten über dem Bericht sagt auch, was daraus folgt: Die Originaldatei bleibt fehlerhaft und scheitert bei jedem weiteren Empfänger — der Absender sollte seinen Export korrigieren.

  • Kein <!DOCTYPE> und kein xsi:schemaLocation. Beides würde das hochgeladene Dokument darüber entscheiden lassen, wogegen geprüft wird. Es gelten ausschließlich die mitgelieferten Schemata.
  • Fehlende Codelisten lassen die Prüfung nicht scheitern — sie würde sonst fälschlich ablehnen. Stattdessen werden diese Regeln ausgelassen und der Bericht trägt eine Warnung. So wird eine ungeprüfte Rechnung nie als geprüfte gemeldet.
  • Über die API bedeutet 200 nur „geprüft“. Die Aussage steht in isValid und errorCount; ein 400 heißt, dass die Prüfung gar nicht laufen konnte.