Home › Error code lexicon › BR-DE-23-b
BR-DE-23-b Field BT-81 German business rules (BR-DE)

Fix BR-DE-23-b: Credit transfer with card or direct debit data

If BT-81 "Payment means type code" contains a code for credit transfer (30, 58), BG-18 and BG-19 must not be provided.

BR-DE-23-b in your own invoice? Upload the file and find every error in seconds.

What does BR-DE-23-b mean?

With payment means 30 or 58 (credit transfer) the invoice must not contain card data (BG-18) or direct debit data (BG-19). BG-19 covers the mandate reference (BT-89), the creditor ID (BT-90) and the debtor IBAN (BT-91). In CII the mandate reference and the creditor ID do not sit in the payment means but apply to the whole invoice, so they always count. The rule comes from KoSIT (XRechnung) and is an error there. For ZUGFeRD our validator only reports it as info.

Common causes of BR-DE-23-b

How to fix BR-DE-23-b

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-81 along this XPath://ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']
  2. Apply the fix. With payment means 30 or 58 (credit transfer) the invoice must not contain card data (BG-18, 'ram:ApplicableTradeSettlementFinancialCard') or direct debit data (BG-19). BG-19 covers the mandate reference ('ram:DirectDebitMandateID'), the creditor ID ('ram:CreditorReferenceID') and the debtor IBAN ('ram:PayerPartyDebtorFinancialAccount'). Remove them, or use payment means 59 if you collect the amount. For ZUGFeRD the validator only reports the rule as info; it applies to XRechnung.
  3. Validate again. Save the file and validate it again to check that BR-DE-23-b is no longer reported.
Concrete fix

With payment means 30 or 58 (credit transfer) the invoice must not contain card data (BG-18, 'ram:ApplicableTradeSettlementFinancialCard') or direct debit data (BG-19). BG-19 covers the mandate reference ('ram:DirectDebitMandateID'), the creditor ID ('ram:CreditorReferenceID') and the debtor IBAN ('ram:PayerPartyDebtorFinancialAccount'). Remove them, or use payment means 59 if you collect the amount. For ZUGFeRD the validator only reports the rule as info; it applies to XRechnung.

XPath//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']

Before / after: the XML example

This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).

Wrong
<ram:SpecifiedTradeSettlementPaymentMeans>
  <ram:TypeCode>58</ram:TypeCode>
  <ram:PayeePartyCreditorFinancialAccount>
    <ram:IBANID>DE02120300000000202051</ram:IBANID>
  </ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:SpecifiedTradePaymentTerms>
  <ram:Description>Payable by 2026-11-12 without deduction.</ram:Description>
  <ram:DirectDebitMandateID>MANDAT-4711</ram:DirectDebitMandateID>
</ram:SpecifiedTradePaymentTerms>
Correct
<ram:SpecifiedTradeSettlementPaymentMeans>
  <ram:TypeCode>58</ram:TypeCode>
  <ram:PayeePartyCreditorFinancialAccount>
    <ram:IBANID>DE02120300000000202051</ram:IBANID>
  </ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:SpecifiedTradePaymentTerms>
  <ram:Description>Payable by 2026-11-12 without deduction.</ram:Description>
</ram:SpecifiedTradePaymentTerms>

Frequent questions about BR-DE-23-b

I collect the amount. What is right?
Payment means 59 instead of 58, plus mandate reference, creditor ID and debtor IBAN. The account for credit transfer is then dropped (BR-DE-25-b).
What does BR-DE-23-a check?
The first part of the same rule: with credit transfer the account must be in the invoice (BG-17).

Related error codes

Check BR-DE-23-b automatically

Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online: upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.

Find every error automatically instead of searching by hand

Upload your ZUGFeRD, Factur-X or XRechnung file: you get every violation back with rule ID, field, fix and XPath.

Validate online for free
Check invoice