BG-17Credit transferBT-81Payment means type code
Offizieller Regeltext
[BR-DE-23-a] Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden.
Warum dieser Fehler auftritt
Ist der Zahlungsmittelcode (BT-81) 30 (Überweisung) oder 58 (SEPA-Überweisung), verlangt XRechnung die Gruppe BG-17 mit dem Konto des Zahlungsempfängers. Die Regel sucht cac:PayeeFinancialAccount innerhalb des cac:PaymentMeans mit diesem Code (UBL) bzw. ram:PayeePartyCreditorFinancialAccount innerhalb von ram:SpecifiedTradeSettlementPaymentMeans (CII). Ohne Konto kann die Behörde nicht zahlen. Sie schlägt typischerweise fehl, wenn die Bankdaten in den Stammdaten fehlen oder der Export nur den Code schreibt.
So beheben Sie den Fehler
In UBL dem cac:PaymentMeans ein cac:PayeeFinancialAccount mit cbc:ID (IBAN, BT-84), optional cbc:Name (Kontoinhaber, BT-85) und cac:FinancialInstitutionBranch/cbc:ID (BIC, BT-86) hinzufügen. In CII ram:PayeePartyCreditorFinancialAccount mit ram:IBANID und ram:AccountName ergänzen, bei Bedarf ram:PayeeSpecifiedCreditorFinancialInstitution/ram:BICID. Bei Code 58 muss die IBAN gültig sein (BR-DE-19). Bei einer Überweisung keine Karten- oder Lastschriftgruppen mitschicken (BR-DE-23-b).
Beispiel (gültig)
<cac:PaymentMeans>
<cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
<cac:PayeeFinancialAccount>
<cbc:ID>DE89370400440532013000</cbc:ID>
<cbc:Name>Muster GmbH</cbc:Name>
<cac:FinancialInstitutionBranch><cbc:ID>COBADEFFXXX</cbc:ID></cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
Was der Validator prüft
Geprüftes Element (Kontext):
UBL
/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')]Test (XPath):
cac:PayeeFinancialAccountCII
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('30','58')]Test (XPath):
ram:PayeePartyCreditorFinancialAccount
Rechnung prüfen
Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.
Dieselbe Prüfung per API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateVerwandte Regeln
BR-DE-24-bWenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48,…BR-DE-25-bWenn BT-81 "Payment means type code" einen Schlüssel für Lastschriften enthält (59),…BR-DE-19Kontokennung (BT-84) ist keine gültige IBANBR-DE-20"Debited account identifier" soll eine korrekte IBAN enthalten, wenn in "Payment means…BR-DE-23-bWenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30,…BR-DE-24-aWenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48,…BR-DE-25-aWenn BT-81 "Payment means type code" einen Schlüssel für Lastschriften enthält (59),…BR-DE-1Zahlungsinformationen (BG-16) fehlen
Häufige Fragen
Was bedeutet BR-DE-23-a?
BR-DE-23-a ist eine XRechnung-Regel: Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden.
Wird meine Rechnung wegen BR-DE-23-a abgelehnt?
Ja. BR-DE-23-a ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE) weisen die Rechnung zurück, bis der Fehler behoben ist.
Für welche Formate gilt BR-DE-23-a?
XRechnung in UBL- oder CII-Syntax, einschließlich ZUGFeRD-/Factur-X-PDFs mit dem Profil XRECHNUNG. Rechnungen an deutsche öffentliche Auftraggeber (Bund, Länder, Kommunen) müssen sie bestehen. Syntax: UBL und CII.
Quelle: XRechnung 3.0.2, schematron 2.6.0 (KoSIT, September 2026). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.