Attestwire › XRechnung-Regeln › BR-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
"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.
{
"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.