BR-01: Spezifikationskennung (BT-24) fehlt
Die Rechnung nennt nicht, nach welcher Spezifikation sie erstellt wurde. Häufigster Auslöser ist ein selbst erzeugtes oder konvertiertes XML, in dem der Kontextblock am Dokumentanfang fehlt.
An Invoice shall have a Specification identifier (BT-24).
Die Spezifikationskennung ist das erste Feld, das ein Validator liest: Sie sagt ihm, gegen welches Regelwerk er die Datei überhaupt prüfen soll. Fehlt sie, scheitert die Prüfung, bevor sie richtig begonnen hat.
Was die Regel prüft
BT-24 (BT = Business Term, so nummeriert die Norm EN 16931 ihre Felder) muss vorhanden und gefüllt sein. Der Wert ist eine URN, die die Spezifikation und gegebenenfalls das Profil benennt. Für eine XRechnung 3.0 lautet sie urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0, für ZUGFeRD im Profil EN 16931 urn:cen.eu:en16931:2017. In der CII-Syntax steht der Wert ganz am Anfang der Datei im Element ram:GuidelineSpecifiedDocumentContextParameter.
BR-01 prüft nur, ob die Kennung da ist. Ob sie syntaktisch zur XRechnung passt, prüft die deutsche Zusatzregel BR-DE-21.
Warum sie in der Praxis fehlschlägt
Wer eine fertige E-Rechnungs-Software nutzt, sieht diesen Fehler praktisch nie, denn die Kennung ist kein Eingabefeld, sondern wird vom Programm gesetzt. Er tritt in drei Situationen auf:
- Das XML wurde selbst gebaut (Skript, ERP-Eigenentwicklung, Template) und der Kontextblock
rsm:ExchangedDocumentContextwurde vergessen oder nur teilweise befüllt. - Ein Konverter hat das Format gewechselt (etwa UBL nach CII) und die Kennung nicht mit übernommen.
- Das Element ist vorhanden, aber leer, weil eine Konfigurationsvariable im Template nicht gesetzt war.
So behebst du den Fehler
Trag die zur gewünschten Zielspezifikation passende URN in BT-24 ein. Entscheidend ist, dass die Kennung zu dem passt, was der Empfänger erwartet: Verlangt ein Auftraggeber XRechnung, genügt die reine EN-16931-Kennung nicht, dann gehört die XRechnung-URN hinein. Kopier den Wert exakt, ohne Leerzeichen oder Zeilenumbrüche, die URN wird als Zeichenkette verglichen. Wenn du deine Rechnungen mit Belegschmied erzeugst, wird die Kennung automatisch passend zum gewählten Format gesetzt.
XML-Beispiel: vorher und nachher
<rsm:ExchangedDocumentContext>
<!-- verletzt BR-01: kein GuidelineSpecifiedDocumentContextParameter, BT-24 fehlt -->
</rsm:ExchangedDocumentContext>
<rsm:ExchangedDocumentContext>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
Rechnung selbst prüfen
Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.