BR-DE-30: Creditor identifier (BT-90) is missing for direct debit
Official message
[BR-DE-30] Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Bank assigned creditor identifier" BT-90 übermittelt werden.
[BR-DE-30] Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Bank assigned creditor identifier" BT-90 übermittelt werden.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- XRechnung (CII), XRechnung (UBL)
- Affected fields
- BG-19, BT-90
What does this mean?
If the invoice contains direct debit information (BG-19), the bank assigned creditor identifier (BT-90) must be provided. It is missing.
Typical causes
Mandate reference (BT-89) or the debited account (BT-91) are given, but not the creditor identifier.
The creditor identifier only appears in free text or in the remittance information.
How to fix the error
Enter the payee's SEPA creditor identifier (in Germany issued by the Deutsche Bundesbank, structure e.g. DE98ZZZ09999999999).
CII: ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID; UBL: cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID or cac:PayeeParty/cac:PartyIdentification/cbc:ID, each with schemeID="SEPA".
If payment is not made by direct debit, remove the mandate reference and the debited account.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form ("Experte" view), section "Zahlungsinformationen / SEPA" (payment information), fill in the field "Gläubiger-ID SEPA (BT-90)".
Example
Wrong
<ram:ApplicableHeaderTradeSettlement>
...
<ram:SpecifiedTradePaymentTerms>
<ram:DirectDebitMandateID>MANDATE-2026-001</ram:DirectDebitMandateID>
</ram:SpecifiedTradePaymentTerms>
</ram:ApplicableHeaderTradeSettlement>
Correct
<ram:ApplicableHeaderTradeSettlement>
<ram:CreditorReferenceID>DE98ZZZ09999999999</ram:CreditorReferenceID>
...
<ram:SpecifiedTradePaymentTerms>
<ram:DirectDebitMandateID>MANDATE-2026-001</ram:DirectDebitMandateID>
</ram:SpecifiedTradePaymentTerms>
</ram:ApplicableHeaderTradeSettlement>
For developers: test expression per syntax
XRechnung (CII) (CII)
Context: /rsm:CrossIndustryInvoice
(($BT-89-path or $BT-91-path) and $BT-90-path) or $BG-19-not-existing
XRechnung (UBL) (UBL)
Context: /ubl:Invoice | /cn:CreditNote
not(cac:PaymentMeans/cac:PaymentMandate) or (cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID='SEPA'] | cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID='SEPA'])
Related validation rules
- BR-DE-1: Payment instructions (BG-16) are missing
- BR-DE-10: Deliver to city (BT-77) is missing
- BR-DE-11: Deliver to post code (BT-78) is missing
- BR-DE-14: VAT category rate (BT-119) is missing in the VAT breakdown
- BR-DE-15: Buyer reference (BT-10) is missing
- BR-DE-16: Seller VAT ID, tax number or tax representative is missing
Last updated:
Explanation of the validation rule, not legal or tax advice.