Attestwire › Rule reference › BR-DE-31
BR-DE-31 A direct debit needs the account to be debited
noun · XRechnung · fatal · BG-19 / BT-91
Your invoice was refused because it carries direct debit details but the account to collect from is missing. That is the payer’s IBAN from the signed mandate, not yours. In the standard the field is BT-91 in group BG-19; BR-DE-31 is the rule that requires it.
Diese Regel auf Deutsch: BR-DE-31 — auf Deutsch erklärt.
- Business term
BG-19 / BT-91— Debited account identifier- Severity
fatal- Applies to
xrechnung-ubl, xrechnung-cii
The fix
Set payment.directDebit.debitedAccount to the payer’s IBAN, exactly as on the signed mandate. If you do not have that IBAN, you do not have a usable mandate, and the invoice should ask for a credit transfer instead: payment.meansCode "58" with payment.iban.
What the rule requires
Set the debited account (BT-91): the IBAN the money is collected from. It belongs to the payer.
Copy it exactly from the signed mandate. The check digits are verified separately, by BR-DE-20.
In this library the field is payment.directDebit.debitedAccount.
Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Debited account identifier" BT-91 übermittelt werden.
A passing value
"directDebit": { "debitedAccount": "DE98700500001234567890" }Why it exists
Under a direct debit your customer does nothing. This document tells them which of their accounts you will debit, under which mandate, and that notice is the only one they get before the money moves. Without the account, there is no notice.
What the library returns
The full error returned by @attestwire/en16931. It includes the rule ID,
affected field and suggested correction. Developers can use this object in their application:
{
"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 is always a UBL path. On a CII invoice, look for the
matching CII field instead.
How our check differs
Presence only. Whether the IBAN is valid is BR-DE-20’s check, and that one is a warning. The rule runs whenever payment.directDebit is present.
See also: BR-DE-30 — the creditor identifier in the same group; BR-DE-20 — the IBAN check on this field.