Rule BR-02
An invoice must have an invoice number
Every invoice carries exactly one invoice number, the identifier the seller assigns to this document.
Business term BT-1, Invoice number. Source: EN 16931. Our wording, not the normative text, which is published in the Peppol BIS Billing 3.0 rule list and was checked against it on 2026-08-16.
Why it fires on invoices that look fine
Almost nobody hits this rule because they forgot the field exists. They hit it because something between their system and the document dropped it, changed its shape, or filled it with a value that is right somewhere else. These are the causes worth checking first.
- The number exists in the accounting system but is written to a different field on export, most often an internal document key or a database id rather than the number printed on the invoice.
- The document is a draft. Systems that assign the number at posting time will export a blank until the invoice is actually issued.
- The number is present but empty after trimming: a single space, a non-breaking space pasted from a spreadsheet, or the string "null" written literally.
What to change
- Send the number the buyer would quote when disputing the invoice. That is the one the rule is about.
- If your system assigns numbers at posting, do not export drafts to the e-invoicing pipeline at all. A placeholder number is worse than a rejection, because it will be accepted and then collide with a real one.
- Check for whitespace-only values before sending. This rule fires on them and the reason is invisible in any viewer.
The validator runs in your browser. Nothing is uploaded, and you can confirm that yourself with the network panel open.
Rules you are likely to hit next
A document that breaks BR-02 usually breaks one of these too, because the same mapping gap tends to affect neighbouring fields.
Questions people actually ask
- What does BR-02 mean?
- Every invoice carries exactly one invoice number, the identifier the seller assigns to this document.
- Which field does BR-02 apply to?
- BT-1, Invoice number. That is the name the semantic model uses, which is what you search for in your own system's mapping when the identifier alone does not tell you which field to look at.
- Does our validator check BR-02?
- Yes. Paste your invoice data into the free validator and it reports this rule with the value it actually saw, without the document leaving your browser.