BR-DE-24-a
A card payment code is used without card information.
ErrorXRechnungUBLCII
Why it happens
Payment means code 48, 54 or 55 without the card group.
How to fix it
Add the payment card information group. Never include a full card number — BR-51 limits you to the first six and last four digits.
The official rule
XRechnung, official German wording[BR-DE-24-a] Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), muss genau BG-18 "PAYMENT CARD INFORMATION" übermittelt werden.
Our English rendering: If BT-81 "Payment means type code" contains a card-payment code (48, 54, 55), then exactly one BG-18 "PAYMENT CARD INFORMATION" must be provided.
Technical detail — where the rule is evaluated and the exact test
| Syntax | Context and assertion |
|---|---|
| UBL | /ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('48','54','55')] |/cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('48','54','55')] |
cac:CardAccount | |
| CII | /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('48','54','55')] |
ram:ApplicableTradeSettlementFinancialCard |
Check your own invoice
Paste or drop your UBL or CII file into the free validator. It runs the official EN 16931 ruleset plus the German XRechnung layer and lists every rule that fires, BR-DE-24-a included — no signup, no limit.
Validate an e-invoice freeFixing the data at source instead? The CSV converter builds a compliant invoice from a spreadsheet export.