BR-DE-30 The invoice carries a DIRECT DEBIT group (BG-19), so the bank assigned creditor identifier (BT-90) must be present
The invoice carries a DIRECT DEBIT group (BG-19), so the bank assigned creditor identifier (BT-90) must be present. This is your SEPA Gläubiger-Identifikationsnummer — in Germany a 18-character identifier issued by the Bundesbank, of the form DE98ZZZ09999999999 — and it is what the payer's bank uses to check the collection you are about to raise against the mandate they hold. A mandate reference with no creditor identifier names a permission without naming who holds it. Note where it goes in the XML: EN 16931's UBL binding puts BT-90 on the seller party as a cac:PartyIdentification with schemeID="SEPA", not inside the payment group, which is why a document can look complete and still fail this rule.
This rule is implemented and its error payload below is real, but the long-form write-up — normative text, worked example, divergence note — is not written yet. Everything the library knows about this rule is on this page. Ask and we will prioritise it.
- Business term
BG-19 / BT-90- Severity
fatal
What the library returns
The exact object in result.errors when this rule fires.
Generated by running @attestwire/en16931, not transcribed:
{
"rule": "BR-DE-30",
"field": [
"BG-19",
"BT-90"
],
"severity": "fatal",
"message": "The invoice carries a DIRECT DEBIT group (BG-19), so the bank assigned creditor identifier (BT-90) must be present. This is your SEPA Gläubiger-Identifikationsnummer — in Germany a 18-character identifier issued by the Bundesbank, of the form DE98ZZZ09999999999 — and it is what the payer's bank uses to check the collection you are about to raise against the mandate they hold. A mandate reference with no creditor identifier names a permission without naming who holds it. Note where it goes in the XML: EN 16931's UBL binding puts BT-90 on the seller party as a cac:PartyIdentification with schemeID=\"SEPA\", not inside the payment group, which is why a document can look complete and still fail this rule.",
"fix": "Set payment.directDebit.creditorIdentifier to your SEPA creditor identifier. Your bank issues it once, on application; it is not derived from your IBAN or your VAT number.",
"example": "\"directDebit\": { \"creditorIdentifier\": \"DE98ZZZ09999999999\" }",
"xpath": "/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID",
"docsUrl": "https://attestwire.com/rules/BR-DE-30"
}
xpath locates the element in the generated UBL document,
which is where a KoSIT or Peppol validator will report the same problem.
A passing value
"directDebit": { "creditorIdentifier": "DE98ZZZ09999999999" }The fix
Set payment.directDebit.creditorIdentifier to your SEPA creditor identifier. Your bank issues it once, on application; it is not derived from your IBAN or your VAT number.