XRechnung (nationale Regeln)

BR-DE-21: Spezifikationskennung (BT-24) ungültig

BT-24 muss die XRechnung-Kennung tragen – sonst wird die Rechnung nicht als XRechnung erkannt.

Steckbrief

Regel
BR-DE-21
Schweregrad
Warnung – die Rechnung bleibt gültig
Regelwerk
XRechnung 3.0 (KoSIT)
Betroffene Felder
BT-24
Syntax
CII & UBL

Rechnung jetzt prüfen

PDF oder XML hochladen – kostenlos, ohne Anmeldung, gegen die offiziellen Regelwerke.

Zum Online-Validator

Offizieller Wortlaut

[BR-DE-21] Das Element "Specification identifier" (BT-24) soll syntaktisch der Kennung des Standards XRechnung entsprechen.

Quelle: offizielle Schematron der KoSIT für XRechnung 3.0.

Was die Regel verlangt

Die Spezifikationskennung (Specification identifier, BT-24) sagt, nach welchem Standard die Rechnung erstellt wurde. Für XRechnung 3.0 lautet sie genau:

urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0

Daneben erlaubt die Regel nur die Kennungen der XRechnung-Extension und der Variante für saubere Fahrzeuge (CVD). BR-DE-21 ist eine Warnung, die Rechnung bleibt formal gültig. Empfangsplattformen wählen ihre Prüfung aber anhand von BT-24 aus – eine falsche Kennung führt dort leicht zur Ablehnung.

Typische Ursachen

  • Die Patch-Version steht mit in der Kennung, etwa xrechnung_3.0.2 – gültig ist nur xrechnung_3.0.
  • Der alte Namensraum aus XRechnung 2.x wurde mit der neuen Versionsnummer kombiniert: urn:xoev-de:kosit:standard:xrechnung_3.0.
  • Tippfehler oder Leerzeichen am Ende, häufig bei fest im Code hinterlegten Kennungen.
  • Eine noch ältere Kennung wie xrechnung_2.3: Viele Prüfwerkzeuge erkennen die Rechnung dann gar nicht mehr als XRechnung 3.0 und prüfen sie nicht nach deren Regeln.

So sieht es im XML aus

✗ CII – falsch (Patch-Version)
<rsm:ExchangedDocumentContext>
    <ram:GuidelineSpecifiedDocumentContextParameter>
        <ram:ID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0.2</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
✓ CII – korrekt
<rsm:ExchangedDocumentContext>
    <ram:BusinessProcessSpecifiedDocumentContextParameter>
        <ram:ID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ram:ID>
    </ram:BusinessProcessSpecifiedDocumentContextParameter>
    <ram:GuidelineSpecifiedDocumentContextParameter>
        <ram:ID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>

In UBL steht dieselbe Kennung in cbc:CustomizationID, der Geschäftsprozess (BT-23) in cbc:ProfileID.

Lösung in C#

Im Facturexa Creator wählen Sie nur das Profil; die Kennung schreibt der Creator selbst. Setzen Sie zusätzlich den Geschäftsprozess (BT-23) – XRechnung verlangt ihn über die Regel PEPPOL-EN16931-R001.

C#
rechnung.BusinessProcess = "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0"; // BT-23

// Das Profil XRechnung schreibt die gültige Kennung in BT-24:
// urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0
rechnung.Save(xmlStream, InvoiceProfile.XRechnung);

Verwandte Regeln

Alle erklärten Prüfregeln