BR-48: what it means and how to fix it

Each VAT breakdown row must have a VAT rate, except when the invoice is not subject to VAT.

RuleBR-48
StandardEN 16931-1, the European standard for electronic invoices
SeverityError (the invoice is not conformant)
ConcernsBT-119: VAT category rate

How to fix it

Add the rate as a percentage (19, 7, 0).

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

Each VAT breakdown row must have a VAT rate, except when the invoice is not subject to VAT. It is a rule of EN 16931-1, the European standard for electronic invoices.

How do I fix BR-48?

Add the rate as a percentage (19, 7, 0).

Is BR-48 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.

Related rules

Rule numbers are those of EN 16931-1; the explanation is ours. Not tax or legal advice.