BR-DE – XRechnung
BR-DE-24-b: card payment combined with account or direct debit data
ErrorXRechnung business rule (KoSIT)
Official message
[BR-DE-24-b] Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), dürfen BG-17 und BG-19 nicht übermittelt werden.Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)
What the message means
Your invoice states a card payment (code 48, 54 or 55) and next to it lists data that belongs to other means of payment: a payee account for credit transfers or a direct debit mandate. XRechnung admits in one payment entry only the data of the chosen method. The reason is practical: the recipient's software must know unambiguously how to pay, not choose between card, transfer and collection.
Common causes
- The template writes the seller's bank details into every invoice, even for card payment.
- Mandate data from the customer master is copied regardless of the payment method.
- Several means of payment were merged into one block.
How to fix it
For the card codes remove the groups BG-17 and BG-19: in UBL cac:PayeeFinancialAccount and cac:PaymentMandate inside the same cac:PaymentMeans, in CII the creditor account and the mandate reference. If the credit transfer should stay as an alternative, use a second payment entry with code 58 for it.
<cac:PaymentMeans>
<cbc:PaymentMeansCode>54</cbc:PaymentMeansCode>
<cac:CardAccount>
<cbc:PrimaryAccountNumberID>4321</cbc:PrimaryAccountNumberID>
<cbc:NetworkID>VISA</cbc:NetworkID>
</cac:CardAccount>
<cac:PayeeFinancialAccount>
<cbc:ID>DE02120300000000202051</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans><cac:PaymentMeans>
<cbc:PaymentMeansCode>54</cbc:PaymentMeansCode>
<cac:CardAccount>
<cbc:PrimaryAccountNumberID>4321</cbc:PrimaryAccountNumberID>
<cbc:NetworkID>VISA</cbc:NetworkID>
</cac:CardAccount>
</cac:PaymentMeans>Frequently asked
Can I offer both card and credit transfer?
Yes, with two separate payment entries: one with a card code and BG-18, one with code 58 and BG-17. Together in one block it is invalid.
Does the rule apply to credit notes as well?
Yes. The check reads every payment entry with the card codes 48, 54 or 55 in invoices and credit notes alike; in both document types no account or mandate data may stand next to it.
Fields concerned
- BT-81
- BG-17
- BG-18
- BG-19
Related rules
Check your invoice
The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.
Technical details
- UBL · Context (XPath)
/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('48','54','55')] |/cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('48','54','55')]- UBL · Schematron test
not(cac:PayeeFinancialAccount) and not(cac:PaymentMandate)- CII · Context (XPath)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('48','54','55')]- CII · Schematron test
not(ram:PayeePartyCreditorFinancialAccount) 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)
Explanation written on 14 September 2026