Error codes · EN 16931

BR-01In your invoicing software

An Invoice shall have a Specification identifier (BT-24)

This is the rejection, word for word: „[BR-01] BR-01 fires when cbc:CustomizationID is missing or empty. The specification identifier (BT-24) tells the receiver which EN 16931 profile the document claims to conform to, and every downstream validator selects its rule set from this value. Without it a receiving Access Point cannot decide which Schematron to run, so the invoice is rejected at the door.

The EN 16931 Schematron rule BR-01 has context /ubl:Invoice (or /ubl:CreditNote) and asserts normalize-space(cbc:CustomizationID) != ''. XPath: /Invoice/cbc:CustomizationID. Note that the assertion uses normalize-space(), so a present-but-whitespace-only element fails exactly like a missing one. The element must also be the first child of the Invoice root, before cbc:ProfileID and cbc:ID. Correct values depend on the profile: Peppol BIS Billing 3.0 uses urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0, while XRechnung 3.0 (UBL) uses urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0. A wrong-but-present value satisfies BR-01 but fails the profile-specific rule instead.

What to have readyNothing. The file has to be re-exported from your invoicing software; we check it again afterwards.
What we doInsert cbc:CustomizationID as the first child of the Invoice root, with the identifier string for the profile you are actually sending. Invoice Navigator auto-fixes BR-01 at 0.95 confidence by inferring the intended profile from the document's namespaces, ProfileID and country-specific elements.
If you enter it yourself in your invoicing software
Before
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
  <cbc:CustomizationID></cbc:CustomizationID>
  <cbc:ID>INV-2026-0417</cbc:ID>
  <cbc:IssueDate>2026-08-19</cbc:IssueDate>
After
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>INV-2026-0417</cbc:ID>
  <cbc:IssueDate>2026-08-19</cbc:IssueDate>

Element order is part of the rule: if the element sits in the wrong place, the validator rejects with BR-01.

What the finding looks likeExample
FindingStructure invalid · BR-01
Location/Invoice/cbc:CustomizationID
From youA re-exported file
ThenRe-export
ProofSHA-256 and /verify link after the check