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:PayeeFinancialAccountCII
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.