What does BR-DE-20 mean?
With payment means 59 (SEPA direct debit), XRechnung checks whether the debtor IBAN (BT-91) is a valid IBAN: country code, check digits, then up to 30 letters or digits, and the check digits must add up. The rule comes from KoSIT (XRechnung) and is a warning: the invoice stays valid.
Common causes of BR-DE-20
- The IBAN is shortened, for example with asterisks or X as on the paper invoice (DE89 **** **** 3000).
- A typo: then the check digits do not add up.
- Dots, hyphens or other characters in the value. Spaces do no harm, the check removes them first.
- The debtor IBAN is missing altogether. Then the warning comes too, and XRechnung adds the error BR-DE-31 or BR-DE-25-a.
How to fix BR-DE-20
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-91 along this XPath:
//ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANID - Apply the fix. With payment means 59 the debtor IBAN (BT-91) should be a valid IBAN. A shortened or wrong IBAN causes this warning; the invoice stays valid. If the debtor IBAN is missing altogether, the warning comes too, and XRechnung adds an error: BR-DE-31, or BR-DE-25-a if the mandate reference and the creditor ID are missing as well. To avoid the warning, enter the full IBAN in 'ram:PayerPartyDebtorFinancialAccount/ram:IBANID', for example 'DE89370400440532013000'.
- Validate again. Save the file and validate it again to check that BR-DE-20 is no longer reported.
With payment means 59 the debtor IBAN (BT-91) should be a valid IBAN. A shortened or wrong IBAN causes this warning; the invoice stays valid. If the debtor IBAN is missing altogether, the warning comes too, and XRechnung adds an error: BR-DE-31, or BR-DE-25-a if the mandate reference and the creditor ID are missing as well. To avoid the warning, enter the full IBAN in 'ram:PayerPartyDebtorFinancialAccount/ram:IBANID', for example 'DE89370400440532013000'.
//ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANIDBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:PayerPartyDebtorFinancialAccount>
<ram:IBANID>DE89**************3000</ram:IBANID>
</ram:PayerPartyDebtorFinancialAccount>
<ram:PayerPartyDebtorFinancialAccount>
<ram:IBANID>DE89370400440532013000</ram:IBANID>
</ram:PayerPartyDebtorFinancialAccount>
Frequent questions about BR-DE-20
Is BR-DE-20 still checked?
How do I fix BR-DE-20?
Related error codes
Check BR-DE-20 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.