How to fix BR-02
An Invoice shall have an Invoice number (BT-1).
What this rule checks
Each invoice must carry a unique invoice number (BT-1, mapped to cbc:ID) that identifies it within the seller's system. This number is essential for reconciliation, payment matching, and legal compliance. Tax authorities and buyers rely on it to reference the invoice in correspondence and accounting systems.
Referenced business terms
This rule references the following EN 16931 business term. Click through for the full definition, the UBL XPath and the cardinality.
How to fix it
Add a cbc:ID element at the Invoice root level with the invoice number value.
Common causes
- The
cbc:IDelement is missing from the Invoice root. - The
cbc:IDelement is present but contains only whitespace. - The element was removed during an XML transformation or template error.
- A copy-paste error placed
cbc:IDinside a line item instead of the document level.
Example: before (broken)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<!-- cbc:ID is missing -->
<cbc:IssueDate>2024-01-15</cbc:IssueDate>
</Invoice>Example: after (fixed)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ID>INV-2024-001</cbc:ID>
<cbc:IssueDate>2024-01-15</cbc:IssueDate>
</Invoice>Related rules
Rule sets
BR-02 is in these rule sets. Each page lists all its rules and the pinned version.
Validate your invoice
Upload your corrected invoice to check it passes BR-02 and all other EN 16931 and Peppol BIS 3.0 rules. Free, instant, no signup.