Rule reference

BR-DE-31 The invoice carries a DIRECT DEBIT group (BG-19), so the debited account identifier (BT-91) must be present

The invoice carries a DIRECT DEBIT group (BG-19), so the debited account identifier (BT-91) must be present. It is the account the money will be taken from — the payer's IBAN, not yours. Under a direct debit the buyer does not act at all: they are told, on this document, which of their accounts you intend to draw on and under which mandate, and that disclosure is the only notice they get before the money moves.

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-91
Severity
fatal

What the library returns

The exact object in result.errors when this rule fires. Generated by running @attestwire/en16931, not transcribed:

TeachingError
{
  "rule": "BR-DE-31",
  "field": [
    "BG-19",
    "BT-91"
  ],
  "severity": "fatal",
  "message": "The invoice carries a DIRECT DEBIT group (BG-19), so the debited account identifier (BT-91) must be present. It is the account the money will be taken from — the payer's IBAN, not yours. Under a direct debit the buyer does not act at all: they are told, on this document, which of their accounts you intend to draw on and under which mandate, and that disclosure is the only notice they get before the money moves.",
  "fix": "Set payment.directDebit.debitedAccount to the payer's IBAN, exactly as it appears on the signed mandate. If you do not hold it, you do not have a usable mandate, and the invoice should ask for a credit transfer instead (payment.meansCode \"58\" with payment.iban).",
  "example": "\"directDebit\": { \"debitedAccount\": \"DE98700500001234567890\" }",
  "xpath": "/ubl:Invoice/cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID",
  "docsUrl": "https://attestwire.com/rules/BR-DE-31"
}

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

the shape this field expects
"directDebit": { "debitedAccount": "DE98700500001234567890" }

The fix

Set payment.directDebit.debitedAccount to the payer's IBAN, exactly as it appears on the signed mandate. If you do not hold it, you do not have a usable mandate, and the invoice should ask for a credit transfer instead (payment.meansCode "58" with payment.iban).

Arrived from a stack trace? The docsUrl on every error links straight here. Something wrong on this page — tell us.