AttestwireXRechnung-RegelnBR-DE-23-a

BR-DE-23-a Der Überweisungscode verlangt die Überweisungsgruppe

Ihre Rechnung wurde abgelehnt, weil sie „Überweisung“ als Zahlungsart nennt, aber kein Konto angibt, auf das überwiesen werden soll. Wer eine Zahlungsart nennt, muss die dazugehörigen Daten liefern; bei einer Überweisung ist das die IBAN. Im Standard ist das die Gruppe BG-17 bei Zahlungsart 30 oder 58 (BT-81); BR-DE-23-a ist die Regel, die beides koppelt.

Die Regelnummer bezeichnet die fehlgeschlagene Prüfung. BT steht für ein Rechnungsfeld, BG für eine Gruppe von Feldern. XRechnung ergänzt die europäische Norm EN 16931 um deutsche Anforderungen (CIUS).

Informationselement
BG-17 / BT-84
Schweregrad
fatal — Ablehnung: das Dokument ist nicht konform
Gilt für
xrechnung-ubl, xrechnung-cii
Regelwerk
XRechnung-CIUS (KoSIT) — nationale Verschärfung der EN 16931

Die Lösung

Geben Sie das Konto an, auf das überwiesen werden soll: die IBAN in payment.iban. War keine Überweisung gemeint, ändern Sie payment.meansCode; beachten Sie aber, dass jeder Code seine eigene Pflichtgruppe mitbringt.

Ein Wert, der die Prüfung besteht

So sieht das Feld aus, wenn es stimmt
"payment": { "meansCode": "58", "iban": "DE02120300000000202051", "accountName": "Acme GmbH" }

Was die Regel verlangt

Die Codes 30 und 58 sagen dem Empfänger: „Überweisen Sie.“ Dann muss auch dastehen, wohin. Die Gruppe BG-17 (Überweisung) ist damit Pflicht; in UBL ist das cac:PayeeFinancialAccount.

Diese Bibliothek erzeugt die Gruppe genau dann, wenn Sie eine Kontokennung liefern. Praktisch heißt das: payment.iban setzen.

Dieselbe Anforderung stellt die EN 16931 als BR-61. BR-DE-23-a formuliert sie noch einmal gegen die Gruppe statt gegen das Feld — in einem KoSIT-Bericht sehen Sie deshalb beide Meldungen für denselben Mangel.

Der offizielle Regeltext

Die Regel BR-DE-23-a stammt aus der XRechnung-CIUS und wird im Schematron der KoSIT geführt, den offiziellen Prüfregeln. Ein wörtliches Zitat des Regeltextes liegt uns für diese Regel nicht vor; was Sie oben lesen, ist unsere Erklärung. Maßgeblich ist die Veröffentlichung der KoSIT.

Warum es die Regel gibt

Eine Zahlungsanweisung, die eine Zahlungsart nennt, aber nicht die dazugehörigen Daten, ist keine Anweisung. Die CIUS koppelt Code und Gruppe deshalb hart aneinander: Was der Code ankündigt, muss die Rechnung auch liefern.

So sieht der Befund aus

Genau dieses Objekt liefert die Bibliothek in result.errors, wenn die Regel anschlägt. Es wird beim Bauen dieser Seite durch Ausführen von @attestwire/en16931 erzeugt und entspricht dem Text, den Sie in Ihrem eigenen Log sehen. Die Meldung selbst ist englisch, weil die Bibliothek englisch meldet.

TeachingError
{
  "rule": "BR-DE-23-a",
  "field": [
    "BG-17",
    "BT-84"
  ],
  "severity": "fatal",
  "message": "The payment means type code (BT-81) is \"58\", which XRechnung treats as a credit transfer, so the CREDIT TRANSFER group (BG-17) must be present. In UBL that group is cac:PayeeFinancialAccount, and this library emits it only when you supply an account identifier. Core EN 16931 states the same requirement as BR-61; BR-DE-23-a is the German CIUS restating it against the group rather than the field, and both appear in a KoSIT report.",
  "fix": "Set payment.iban to the account the buyer should transfer to. If you did not intend a credit transfer, change payment.meansCode — \"59\" for SEPA direct debit (then supply payment.directDebit), \"48\" for card (then supply payment.card), \"97\" for clearing between partners — but note each of those brings its own mandatory group.",
  "example": "\"payment\": { \"meansCode\": \"58\", \"iban\": \"DE02120300000000202051\", \"accountName\": \"Acme GmbH\" }",
  "xpath": "/ubl:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount",
  "docsUrl": "https://attestwire.com/rules/BR-DE-23-a"
}

xpath zeigt auf das Element in einem UBL-Dokument — dort meldet auch ein KoSIT-Validator denselben Mangel. Bei einer CII-Rechnung (xrechnung-cii, ZUGFeRD, Factur-X) erhalten Sie dieselbe Zeichenkette und müssen sie selbst auf das CII-Element übertragen.

Häufige Fragen

Was bedeutet BR-DE-23-a?
Ihre Rechnung wurde abgelehnt, weil sie „Überweisung“ als Zahlungsart nennt, aber kein Konto angibt, auf das überwiesen werden soll. Wer eine Zahlungsart nennt, muss die dazugehörigen Daten liefern; bei einer Überweisung ist das die IBAN. Im Standard ist das die Gruppe BG-17 bei Zahlungsart 30 oder 58 (BT-81); BR-DE-23-a ist die Regel, die beides koppelt.
Wie behebe ich BR-DE-23-a?
Geben Sie das Konto an, auf das überwiesen werden soll: die IBAN in payment.iban. War keine Überweisung gemeint, ändern Sie payment.meansCode; beachten Sie aber, dass jeder Code seine eigene Pflichtgruppe mitbringt.
Ist BR-DE-23-a Pflicht für XRechnung?
Ja. Ein Verstoß führt zur Ablehnung. Die Gegenrichtung wird ebenfalls geprüft: BR-DE-23-b weist Kartendaten zurück, wenn der Code eine Überweisung ankündigt.

Über eine Fehlermeldung hierhergekommen? Der docsUrl jedes Befunds führt auf die englische Seite; diese hier ist ihre deutsche Fassung. Etwas stimmt nicht — schreiben Sie uns.