Rule BR-25
Each invoice line must contain an item name
Every line names what is being sold, in words a person reading the invoice can understand.
Business term BT-153, Item name. 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 line identifies the item only by SKU or article number, which means something in the seller's catalogue and nothing in the buyer's.
- The description lives in a long free-text field and the short name field was never populated.
- The line is a discount or a rounding adjustment that the exporter treats as an amount with no subject.
What to change
- Send a human-readable name. This is the text a person in accounts payable reads when deciding whether to approve the invoice.
- Keep the SKU as well, in the item identifier fields. It is useful, it is just not a name.
- Name adjustments too: "Volume discount" is a valid item name and makes the document legible.
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-25 usually breaks one of these too, because the same mapping gap tends to affect neighbouring fields.
Questions people actually ask
- What does BR-25 mean?
- Every line names what is being sold, in words a person reading the invoice can understand.
- Which field does BR-25 apply to?
- BT-153, Item name. 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-25?
- 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.