Back to Compliance Hub
Critical

BR-DE-30

Direct Debit Without Creditor Identifier (BT-90)

What This Error Means

BR-DE-30 applies to invoices that are paid by direct debit. If the DIRECT DEBIT group (BG-19) is present, the bank assigned creditor identifier (BT-90), in Germany the SEPA Gläubiger-Identifikationsnummer, must be provided. In UBL, BG-19 is cac:PaymentMeans/cac:PaymentMandate, and BT-90 is a cac:PartyIdentification/cbc:ID with schemeID="SEPA" in the seller party (or in cac:PayeeParty if a different payee collects). In CII, BT-90 is ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID. The rule is fatal. KoSIT message: 'Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Bank assigned creditor identifier" BT-90 übermittelt werden.'

Why this happens

In UBL the rule reads: if cac:PaymentMeans/cac:PaymentMandate exists, a seller or payee cac:PartyIdentification/cbc:ID with schemeID='SEPA' must exist. It does not look at the payment means code. So BR-DE-30 fires for a real SEPA direct debit (code 59) without creditor ID, but also when a stray cac:PaymentMandate is left in a credit transfer (code 58), where BR-DE-23-b and BR-DE-31 join in. In CII, BG-19 counts as present as soon as one of BT-89 (ram:DirectDebitMandateID), BT-90 (ram:CreditorReferenceID) or BT-91 (ram:PayerPartyDebtorFinancialAccount/ram:IBANID) appears; the rule then needs BT-90 together with BT-89 or BT-91. Typical causes: the creditor ID is known to the banking module for SEPA files but never mapped into the invoice; it was written into cac:PartyLegalEntity/cbc:CompanyID, cbc:PaymentID or the mandate instead; or cac:PartyIdentification was used without schemeID="SEPA".

How to Fix It

Add your SEPA creditor identifier as cac:PartyIdentification/cbc:ID with schemeID="SEPA" to the seller's cac:Party (after cbc:EndpointID, before cac:PartyName). Complete BG-19 as well: mandate reference in cac:PaymentMandate/cbc:ID (BT-89) and the buyer's IBAN in cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID (BT-91, required by BR-DE-31).

Step-by-step

1) Check that the invoice really is to be paid by direct debit. If not, remove cac:PaymentMandate and use code 58 with BG-17. 2) For a SEPA direct debit set cbc:PaymentMeansCode to 59. 3) Add cac:PartyIdentification with cbc:ID schemeID="SEPA" to the seller party. A German creditor ID has 18 characters: DE, two check digits, a three-character business code (usually ZZZ) and an 11-digit national number, such as DE98ZZZ09999999999. 4) If a factoring company or other payee collects the money, put the creditor ID into cac:PayeeParty/cac:PartyIdentification instead. 5) Fill cac:PaymentMandate/cbc:ID with the mandate reference (BT-89, required by PEPPOL-EN16931-R061) and cac:PayerFinancialAccount/cbc:ID with the buyer's IBAN (BT-91, BR-DE-31; BR-DE-20 warns if it is malformed). 6) Do not add cac:PayeeFinancialAccount or cac:CardAccount to a code-59 payment means (BR-DE-25-b). 7) Validate again.

XML Example
<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="EM">rechnung@muster.de</cbc:EndpointID>
    <cac:PartyIdentification>
      <cbc:ID schemeID="SEPA">DE98ZZZ09999999999</cbc:ID>
    </cac:PartyIdentification>
    <!-- PartyName, PostalAddress, PartyTaxScheme, PartyLegalEntity, Contact ... -->
  </cac:Party>
</cac:AccountingSupplierParty>

<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cbc:ID>MANDAT-2026-0815</cbc:ID>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE75512108001245126199</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>

Fix Automatically

Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-DE-30, and corrects supported fields with a GoBD audit trail.

Open Smart Repair

Frequently asked questions

Where do I get a creditor identifier?

In Germany the Deutsche Bundesbank issues it on application. Anyone who collects SEPA direct debits needs one anyway, so check your SEPA settings or ask your bank before applying.

Why does the validator also report BR-DE-31?

BR-DE-31 is the sibling rule: whenever BG-19 is present, the debited account (BT-91, the buyer's IBAN) must be given. Fix both together.

I don't collect by direct debit. Why does BR-DE-30 fire?

Your file probably contains an empty or leftover cac:PaymentMandate, for example from a template. In UBL its mere presence counts as BG-19. Remove it.

Related Errors

Other commonly encountered validation errors