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

The specification identifier should be the XRechnung identifier.

RuleBR-DE-21
StandardXRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT)
SeverityWarning
ConcernsBT-24: Specification identifier

How to fix it

Set it to urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0.

Where the field is in the XML

TermCII (XRechnung-CII, ZUGFeRD, Factur-X)UBL (XRechnung-UBL, Peppol)
BT-24
Specification identifier
rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:IDcbc:CustomizationID

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://tools.funwords.eu/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-21 mean?

The specification identifier should be the XRechnung identifier. It is a rule of XRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT).

How do I fix BR-DE-21?

Set it to urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0.

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

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

Does BR-DE-21 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.