# BR-02 Invoice number is required

An invoice shall have an Invoice number (BT-1) that uniquely identifies the document for the issuer.

## Problem Description

> **ERROR**: EN 16931 core business rule (CEN)

## Context and Significance

This is an EN 16931 core rule. The invoice number is the main reference for reconciliation, payment matching and audit. BR-02 checks that the number is not empty: the error usually comes from an export that writes an empty ID, for example for a draft that has not been numbered yet. In CII, BT-1 is rsm:ExchangedDocument/ram:ID.

## Solution

Populate cbc:ID with the sequential invoice number used in your accounting system; it must not be empty.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-02)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-02)

## Valid Examples

- BT-1 = RE-2024-0001 — a non-empty unique document number

## Invalid Examples

- cbc:ID is present but empty (<cbc:ID></cbc:ID>); in UBL a missing cbc:ID is already an XML schema error

## Code Examples

### Valid XML
```
<cbc:ID>RE-2024-0001</cbc:ID>
<cbc:IssueDate>2024-05-01</cbc:IssueDate>
```

### Invalid XML
```
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID></cbc:ID>
<cbc:IssueDate>2024-05-01</cbc:IssueDate>
```

## Affected Fields

- [BT-1 Invoice number](/resources/xrechnung/bt-1-invoice-number)

## Related Rules

- [BR-03](/resources/kosit-validator-errors/br-03-invoice-issue-date-required)
- [BR-04](/resources/kosit-validator-errors/br-04-invoice-type-code-required)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
