Back to Compliance Hub
Critical

BR-2

Invoice Number Missing (BT-1)

What This Error Means

Every EN 16931 invoice must have an invoice number (BT-1). The KoSIT report prints the rule as [BR-02]. In UBL the field is cbc:ID directly under the root, in CII rsm:ExchangedDocument/ram:ID. In UBL the element itself is mandatory in the XML schema, so a missing cbc:ID fails the schema check first; BR-02 appears when the element is present but empty or contains only spaces. The rule is fatal.

Why this happens

BR-02 tests normalize-space(cbc:ID) != '' at the document root. In practice it catches a generated but empty element: the numbering sequence was not assigned before the export ran, a template placeholder was cleared, or the number went into another element such as cbc:UUID, cac:OrderReference or a note. An empty element also triggers PEPPOL-EN16931-R008, which forbids empty elements in XRechnung. The invoice number is also a legal requirement: § 14 (4) sentence 1 no. 4 UStG asks for a sequential number, assigned once, that identifies the invoice. The validator does not check uniqueness or sequence; that is up to your numbering logic.

How to Fix It

Fill cbc:ID (after cbc:CustomizationID and cbc:ProfileID, before cbc:IssueDate) with the invoice number from your numbering sequence.

Step-by-step

1) Make sure the invoice number is assigned before the XML is generated. 2) Write it into cbc:ID directly under the Invoice root, for example RE-2026-4711; letters, digits, hyphens and slashes are fine. 3) Do not confuse cbc:ID (BT-1) with cbc:UUID or the order reference (BT-13). 4) For a credit note, the CreditNote document has its own cbc:ID; the number of the original invoice goes into BG-3 (cac:BillingReference). 5) In CII, fill rsm:ExchangedDocument/ram:ID. 6) Validate again. If the schema check fails with 'Invalid content was found starting with element cbc:IssueDate', the cbc:ID element is missing entirely.

XML Example
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>RE-2026-4711</cbc:ID>
<cbc:IssueDate>2026-07-15</cbc:IssueDate>

Fix Automatically

Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-2, and corrects supported fields with a GoBD audit trail.

Open Smart Repair

Frequently asked questions

Can the invoice number contain letters?

Yes. BT-1 is an identifier, not a number field, so values like RE-2026-4711 are valid. It only has to be present, not empty, and unique in your invoicing.

Are gaps in the numbering allowed?

The validator does not check the sequence at all. Under German VAT law the number must be unique; a gap-free sequence is not strictly required. Duplicate numbers cause problems in the buyer's accounting and in audits.

Related Errors

Other commonly encountered validation errors