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

When a VAT category S, Z, E, AE, K, G, L or M is used, the seller's VAT identifier or tax registration number must be given.

RuleBR-DE-16
StandardXRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT)
SeverityError (the invoice is not conformant)
ConcernsBT-31, BT-32: Seller VAT identifier, Seller tax registration identifier

How to fix it

Add the seller's VAT number (USt-IdNr.) or tax number (Steuernummer).

Where the field is in the XML

TermCII (XRechnung-CII, ZUGFeRD, Factur-X)UBL (XRechnung-UBL, Peppol)
BT-31
Seller VAT identifier
ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA']cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (with cac:TaxScheme/cbc:ID = VAT)
BT-32
Seller tax registration identifier
ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID='FC']cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (with a cac:TaxScheme/cbc:ID other than VAT)

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

When a VAT category S, Z, E, AE, K, G, L or M is used, the seller's VAT identifier or tax registration number must be given. It is a rule of XRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT).

How do I fix BR-DE-16?

Add the seller's VAT number (USt-IdNr.) or tax number (Steuernummer).

Is BR-DE-16 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-16 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.