BR-DE-23-b: Card or direct debit sent together with a credit transfer
Severity: fatal · Syntax: CII, UBL
Official message
Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), dürfen BG-18 und BG-19 nicht übermittelt werden.
What this means
If BT-81 is 30 or 58, BG-18 and BG-19 must not be transmitted. UBL checks not(cac:CardAccount) and not(cac:PaymentMandate).
Typical cause
The file contains a card account or a direct-debit mandate next to the credit transfer.
How to fix it
Remove CardAccount and PaymentMandate when the code is a credit transfer.
UBL
<!-- BT-81 = 30 oder 58: kein cac:CardAccount und kein cac:PaymentMandate -->CII
<!-- BT-81 = 30 or 58: no card account and no direct-debit mandate -->
Business term
BT-81, BG-18, BG-19
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
not(cac:CardAccount) and not(cac:PaymentMandate)CII
not(ram:ApplicableTradeSettlementFinancialCard) and not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID or ram:PayerPartyDebtorFinancialAccount/ram:IBANID)
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-DE-23-b actually check?
If BT-81 is 30 or 58, BG-18 and BG-19 must not be transmitted. UBL checks not(cac:CardAccount) and not(cac:PaymentMandate).
How do I fix BR-DE-23-b?
Remove CardAccount and PaymentMandate when the code is a credit transfer.
If BR-DE-23-b 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.