BR-DE-19: what it means and how to fix it

With payment means code 58 (SEPA credit transfer) the payment account should be a correct IBAN.

RuleBR-DE-19
StandardXRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT)
SeverityWarning
ConcernsBT-84: Payment account identifier (IBAN)

How to fix it

Check the IBAN: country code, length and check digits.

Where the field is in the XML

TermCII (XRechnung-CII, ZUGFeRD, Factur-X)UBL (XRechnung-UBL, Peppol)
BT-84
Payment account identifier (IBAN)
ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANIDcac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID

Check your own file for this rule

Up to 5 MB. Read in memory for this one request and not stored.

From your code

curl -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/xml" \
  --data-binary @invoice.xml "https://agent-data-tools.revmesh2074.workers.dev/einvoice/validate"

The answer lists every broken rule with its number, the field, a message with the figures from your file and the fix. E-invoice API: validate, convert to JSON, and create XRechnung or ZUGFeRD XML from JSON.

Questions

What does BR-DE-19 mean?

With payment means code 58 (SEPA credit transfer) the payment account should be a correct IBAN. It is a rule of XRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT).

How do I fix BR-DE-19?

Check the IBAN: country code, length and check digits.

Is BR-DE-19 an error or a warning?

A warning: the invoice is still conformant, but the value should be corrected.

Does BR-DE-19 apply to ZUGFeRD and Factur-X too?

Only when the file declares the XRechnung specification identifier (the ZUGFeRD profile "XRECHNUNG" does). Files in the plain EN 16931 profile are checked against the European rules, not the German additions.

Related rules

Rule numbers are those of XRechnung 3.0 (KoSIT); the explanation is ours. Not tax or legal advice.