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

Each VAT breakdown row must give its VAT rate.

RuleBR-DE-14
StandardXRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT)
SeverityError (the invoice is not conformant)
ConcernsBT-119: VAT category rate

How to fix it

Add the rate to every VAT breakdown row, 0 included.

Where the field is in the XML

TermCII (XRechnung-CII, ZUGFeRD, Factur-X)UBL (XRechnung-UBL, Peppol)
BT-119
VAT category rate
ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercentcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

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-14 mean?

Each VAT breakdown row must give its VAT rate. It is a rule of XRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT).

How do I fix BR-DE-14?

Add the rate to every VAT breakdown row, 0 included.

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

An error: a validator reports the invoice as not conformant, and a recipient that validates incoming e-invoices can reject it.

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