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
- The payment means carries code 59 but neither mandate reference nor creditor ID nor debtor IBAN.
- The direct debit data appears only in the payment terms text or on the PDF.
- The wrong code was chosen: the buyer should transfer the amount (58).
How to fix BR-DE-25-a
- 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'] - 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.
- Validate again. Save the file and validate it again to check that BR-DE-25-a is no longer reported.
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.
//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).
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>59</ram:TypeCode>
</ram:SpecifiedTradeSettlementPaymentMeans>
<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?
What does BR-DE-25-b check?
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.