Error codes

BR-DE-23-a: Credit transfer group (BG-17) missing for a transfer code

Severity: fatal · Syntax: CII, UBL

Official message

Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden.

What this means

If BT-81 contains a credit-transfer code (30 or 58), BG-17 CREDIT TRANSFER must be transmitted. UBL checks cac:PayeeFinancialAccount. CII checks ram:PayeePartyCreditorFinancialAccount.

Typical cause

The payment code is 58, and the payee account is missing.

How to fix it

Add the payee account. The IBAN shape for code 58 is checked by BR-DE-19.

UBL

<cac:PayeeFinancialAccount>
  <cbc:ID>DE89370400440532013000</cbc:ID>
</cac:PayeeFinancialAccount>

CII

<ram:PayeePartyCreditorFinancialAccount>
  <ram:IBANID>DE89370400440532013000</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>

Business term

BT-81, BG-17

Related rules

Context and assertion

UBL /ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')]

CII /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('30','58')]

UBL

cac:PayeeFinancialAccount

CII

ram:PayeePartyCreditorFinancialAccount

Check a file now, free of charge

curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate

Questions

What does BR-DE-23-a actually check?

If BT-81 contains a credit-transfer code (30 or 58), BG-17 CREDIT TRANSFER must be transmitted. UBL checks cac:PayeeFinancialAccount. CII checks ram:PayeePartyCreditorFinancialAccount.

How do I fix BR-DE-23-a?

Add the payee account. The IBAN shape for code 58 is checked by BR-DE-19.

If BR-DE-23-a passes, is the invoice legally compliant?

No. This page helps you read this one Schematron assertion. A pass is not a statement about tax law, portal acceptance, or bank overlays.