BR-DE-24-a: Kartenzahlung ohne Kartenangaben

Bei Kartenzahlung (Code 48, 54 oder 55) muss genau eine Gruppe „Payment card information“ (BG-18) enthalten sein.

Regelwerk
XRechnung (KoSIT)
Syntax
UBL und CII
Betroffene Felder
BG-18, BT-81

Offizieller Regeltext

Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), muss genau BG-18 "PAYMENT CARD INFORMATION" übermittelt werden.

Regeltext aus dem XRechnung-Schematron in Version 2.6.0 (KoSIT), Lizenz Apache 2.0; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.

Schweregrad

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Die Zahlungsart wird gesetzt, die (gekürzte) Kartennummer aber nicht übergeben.

So behebst du den Fehler

Die Kartenangaben übermitteln (UBL cac:CardAccount mit cbc:PrimaryAccountNumberID, CII ram:ApplicableTradeSettlementFinancialCard/ram:ID). Nie die vollständige Kartennummer übermitteln – EN 16931 erlaubt nach den Vorgaben des PCI Security Standards Council höchstens die ersten sechs und die letzten vier Ziffern.

Geprüftes Beispiel: falsch und richtig

Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.

Beispiel in UBL

Änderung gegenüber der gültigen Rechnung: Kartenzahlung (Code 54) ohne Kartenangaben (BG-18).

Falsch – ab Zeile 79 · markierte Zeilen fehlen hier
  <cbc:PaymentMeansCode name="Kreditkarte">54</cbc:PaymentMeansCode>
  <cbc:PaymentID>TEST-2026-0014</cbc:PaymentID>
</cac:PaymentMeans>
<cac:PaymentTerms>
Richtig – ab Zeile 79
  <cbc:PaymentMeansCode name="Kreditkarte">54</cbc:PaymentMeansCode>
  <cbc:PaymentID>TEST-2026-0014</cbc:PaymentID>
  <cac:CardAccount>
    <cbc:PrimaryAccountNumberID>1234</cbc:PrimaryAccountNumberID>
    <cbc:NetworkID>VISA</cbc:NetworkID>
    <cbc:HolderName>Max Mustermann</cbc:HolderName>
  </cac:CardAccount>
</cac:PaymentMeans>
<cac:PaymentTerms>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-DE-24-a Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), muss genau BG-18 "PAYMENT CARD INFORMATION" übermittelt werden. Fundstelle: /Invoice[1]/PaymentMeans[1]

Vollständige Dateien im Testkorpus: br-de-24-a-karte-ohne-kartendaten_ubl.xml (falsch) und kartenzahlung_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Kartenzahlung (Code 54) ohne Kartenangaben (BG-18).

Falsch – ab Zeile 120 · markierte Zeilen fehlen hier
  <ram:TypeCode>54</ram:TypeCode>
  <ram:Information>Kreditkarte</ram:Information>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:ApplicableTradeTax>
Richtig – ab Zeile 120
  <ram:TypeCode>54</ram:TypeCode>
  <ram:Information>Kreditkarte</ram:Information>
  <ram:ApplicableTradeSettlementFinancialCard>
    <ram:ID>1234</ram:ID>
    <ram:CardholderName>Max Mustermann</ram:CardholderName>
  </ram:ApplicableTradeSettlementFinancialCard>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:ApplicableTradeTax>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-DE-24-a Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), muss genau BG-18 "PAYMENT CARD INFORMATION" übermittelt werden. Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/SpecifiedTradeSettlementPaymentMeans[1]

Vollständige Dateien im Testkorpus: br-de-24-a-karte-ohne-kartendaten_cii.xml (falsch) und kartenzahlung_cii.xml (richtig).

Testdateien zu BR-DE-24-a

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('48','54','55')]

Prüfausdruck:

ram:ApplicableTradeSettlementFinancialCard

UBL

Kontext:

/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('48','54','55')] |/cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('48','54','55')]

Prüfausdruck:

cac:CardAccount

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.