Skip to content

BR – Core rules of EN 16931

BR-02: invoice number (BT-1) missing

ErrorEN 16931 business rule (CEN)

Official message

[BR-02]-An Invoice shall have an Invoice number (BT-1).

Source: CEN EN 16931, version 1.3.16

How to fix it

Write the final, unique invoice number into the ID element directly under the invoice root. Letters, digits and separators are allowed; the number must never repeat.

Before – invalid
<ubl:Invoice>
  <cbc:ID></cbc:ID>
  <cbc:IssueDate>2026-09-01</cbc:IssueDate>
</ubl:Invoice>
After – corrected
<ubl:Invoice>
  <cbc:ID>RE-2026-0142</cbc:ID>
  <cbc:IssueDate>2026-09-01</cbc:IssueDate>
</ubl:Invoice>

What the message means

The invoice has no invoice number, or the field is empty. The number is the invoice's unique identifier: without it the recipient cannot file it, pay it or refer to it, and VAT law requires it on every invoice anyway. An empty field or a lone space counts as missing.

Common causes

  • The number is only assigned at posting time, but the XML file is generated before that.
  • The field holds a placeholder such as "DRAFT" or just spaces.
  • The ID element was mapped to the wrong field when exporting from the ERP system.

Frequently asked

May the invoice number contain letters?

Yes. The norm only requires a unique string. Sequential ranges with a prefix such as RE-2026-0142 are common and allowed.

Does BR-02 apply to credit notes too?

Yes. A credit note also needs its own unique number in BT-1; the number of the original invoice belongs in BT-25.

Fields concerned

  • BT-1

Related rules

Check your invoice

The EN 16931 validator reports this rule with the line number and location – right in your browser, without upload.

Open the EN 16931 validator

Technical details
UBL · Context (XPath)
/ubl:Invoice | /cn:CreditNote
UBL · Schematron test
normalize-space(cbc:ID) != ''
CII · Context (XPath)
/rsm:CrossIndustryInvoice
CII · Schematron test
normalize-space(rsm:ExchangedDocument/ram:ID) != ''

Explanation written on 13 September 2026