BR-01
The invoice is missing its specification identifier (BT-24) — the field that tells the receiver which e-invoicing standard the file follows.
Why it happens
The document has no CustomizationID, or it was stripped by an export step. Every EN 16931 invoice must declare the specification it conforms to, and receivers route on this value.
How to fix it
Add BT-24. In UBL that is cbc:CustomizationID as the first child of the Invoice; in CII it is ram:GuidelineSpecifiedDocumentContextParameter/ram:ID. Use the exact string for your target profile — the XRechnung 3.0 or Peppol BIS Billing 3.0 identifier, not a shortened version.
The official rule
EN 16931, EnglishAn Invoice shall have a Specification identifier (BT-24).
Technical detail — where the rule is evaluated and the exact test
| Syntax | Context and assertion |
|---|---|
| UBL | /ubl:Invoice | /cn:CreditNote |
normalize-space(cbc:CustomizationID) != '' | |
| CII | /rsm:CrossIndustryInvoice |
normalize-space(rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID) != '' |
Check your own invoice
Paste or drop your UBL or CII file into the free validator. It runs the official EN 16931 ruleset plus the German XRechnung layer and lists every rule that fires, BR-01 included — no signup, no limit.
Validate an e-invoice freeFixing the data at source instead? The CSV converter builds a compliant invoice from a spreadsheet export.