AttestwireXRechnung-RegelnBR-DE-24-a

BR-DE-24-a Der Kartencode verlangt die Kartengruppe

Ihre Rechnung wurde abgelehnt, weil sie Kartenzahlung als Zahlungsart nennt, aber keine Karteninformationen enthält. Zu einer Zahlungsart gehört die passende Datengruppe; bei einer Karte ist das die maskierte Kartennummer. Im Standard ist das die Gruppe BG-18 bei Zahlungsart 48, 54 oder 55 (BT-81); BR-DE-24-a ist die Regel, die sie verlangt.

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-18
Schweregrad
fatal — Ablehnung: das Dokument ist nicht konform
Regelwerk
XRechnung-CIUS (KoSIT) — nationale Verschärfung der EN 16931

Die Lösung

Setzen Sie payment.card mit der maskierten Kartennummer (BT-87) und optional dem Karteninhaber (BT-88). Wird die Rechnung nicht per Karte beglichen, ändern Sie stattdessen payment.meansCode — "58" mit payment.iban ist der Normalfall.

Ein Wert, der die Prüfung besteht

So sieht das Feld aus, wenn es stimmt
"payment": { "meansCode": "48", "card": { "primaryAccountNumber": "4111111111", "holderName": "M Mustermann" } }

Was die Regel verlangt

Bei den Kartencodes 48, 54 und 55 ist die Gruppe BG-18 Pflicht, und zwar genau einmal.

BG-18 ist ausdrücklich keine Einladung, eine Kartennummer auf die Rechnung zu schreiben. BR-51 begrenzt die Kartennummer (BT-87) auf zehn Zeichen, und mehr erlaubt der PCI-Standard auch nicht: die ersten sechs und die letzten vier Stellen. Der Zweck der Gruppe ist Abstimmung — Ihr Kunde soll diese Rechnung einer Position auf seiner Kartenabrechnung zuordnen können, die ihm bereits belastet wurde.

Der offizielle Regeltext

Die Regel BR-DE-24-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

Kartenzahlungen laufen bereits, bevor die Rechnung geschrieben wird. Ohne einen Anker in der Rechnung kann die Buchhaltung Belastung und Beleg nicht zusammenführen, und der Vorgang bleibt in der Klärung hängen. Die maskierte Nummer ist genau so viel Information, wie für die Zuordnung nötig und datenschutzrechtlich vertretbar ist.

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-24-a",
  "field": "BG-18",
  "severity": "fatal",
  "message": "The payment means type code (BT-81) is \"48\", which XRechnung treats as a card payment, so exactly one PAYMENT CARD INFORMATION group (BG-18) must be present. BG-18 is not an invitation to put a card number on an invoice: BR-51 caps the primary account number (BT-87) at ten characters, which is the most the PCI Security Standards Council permits — the first six and the last four digits. What the group is actually for is letting the buyer reconcile this invoice against a card statement line they have already been charged for.",
  "fix": "Set payment.card with the masked primary account number (BT-87) and, optionally, the cardholder name (BT-88). If the invoice is not settled by card, change payment.meansCode instead — \"58\" (SEPA credit transfer) with payment.iban is what most invoices want.",
  "example": "\"payment\": { \"meansCode\": \"48\", \"card\": { \"primaryAccountNumber\": \"4111111111\", \"holderName\": \"M Mustermann\" } }",
  "xpath": "/ubl:Invoice/cac:PaymentMeans/cac:CardAccount",
  "docsUrl": "https://attestwire.com/rules/BR-DE-24-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-24-a?
Ihre Rechnung wurde abgelehnt, weil sie Kartenzahlung als Zahlungsart nennt, aber keine Karteninformationen enthält. Zu einer Zahlungsart gehört die passende Datengruppe; bei einer Karte ist das die maskierte Kartennummer. Im Standard ist das die Gruppe BG-18 bei Zahlungsart 48, 54 oder 55 (BT-81); BR-DE-24-a ist die Regel, die sie verlangt.
Wie behebe ich BR-DE-24-a?
Setzen Sie payment.card mit der maskierten Kartennummer (BT-87) und optional dem Karteninhaber (BT-88). Wird die Rechnung nicht per Karte beglichen, ändern Sie stattdessen payment.meansCode — "58" mit payment.iban ist der Normalfall.
Ist BR-DE-24-a Pflicht für XRechnung?
Ja. Ein Verstoß führt zur Ablehnung, aber nur, wenn Ihre Rechnung einen der Kartencodes trägt.

Ü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.