Home › Error code lexicon › BR-DE-25-a
BR-DE-25-a Field BG-19 German business rules (BR-DE)

Fix BR-DE-25-a: Direct debit data (BG-19) missing

If BT-81 "Payment means type code" contains a code for direct debit (59), exactly one BG-19 "DIRECT DEBIT" must be provided.

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

What does BR-DE-25-a mean?

With payment means 59 (SEPA direct debit) the invoice must contain the direct debit data (BG-19): mandate reference (BT-89), creditor ID (BT-90) and debtor IBAN (BT-91). This rule only checks whether one of the three is there; BR-DE-30, BR-DE-31 and PEPPOL-EN16931-R061 require the others. 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-25-a

How to fix BR-DE-25-a

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BG-19 along this XPath://ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='59']
  2. Apply the fix. With payment means 59 (SEPA direct debit) the invoice must contain the direct debit data (BG-19): the mandate reference in 'ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID' (BT-89), the creditor ID in 'ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID' (BT-90) and the debtor IBAN in 'ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANID' (BT-91). One of the three is enough for this rule; XRechnung still requires all three (BR-DE-30, BR-DE-31, PEPPOL-EN16931-R061). 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-25-a is no longer reported.
Concrete fix

With payment means 59 (SEPA direct debit) the invoice must contain the direct debit data (BG-19): the mandate reference in 'ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID' (BT-89), the creditor ID in 'ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID' (BT-90) and the debtor IBAN in 'ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANID' (BT-91). One of the three is enough for this rule; XRechnung still requires all three (BR-DE-30, BR-DE-31, PEPPOL-EN16931-R061). For ZUGFeRD the validator only reports the rule as info; it applies to XRechnung.

XPath//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='59']

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>59</ram:TypeCode>
</ram:SpecifiedTradeSettlementPaymentMeans>
Correct
<ram:CreditorReferenceID>DE98ZZZ09999999999</ram:CreditorReferenceID>
<!-- ... -->
<ram:SpecifiedTradeSettlementPaymentMeans>
  <ram:TypeCode>59</ram:TypeCode>
  <ram:PayerPartyDebtorFinancialAccount>
    <ram:IBANID>DE89370400440532013000</ram:IBANID>
  </ram:PayerPartyDebtorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<!-- ... -->
<ram:SpecifiedTradePaymentTerms>
  <ram:DirectDebitMandateID>MANDAT-4711</ram:DirectDebitMandateID>
</ram:SpecifiedTradePaymentTerms>

Frequent questions about BR-DE-25-a

Is one of the three enough?
For BR-DE-25-a, yes. XRechnung still requires all three: without creditor ID you get BR-DE-30, without debtor IBAN BR-DE-31, without mandate reference PEPPOL-EN16931-R061.
What does BR-DE-25-b check?
The second part of the same rule: with direct debit the payment means must not contain an account for credit transfer or card data.

Related error codes

Check BR-DE-25-a 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