CRATEAPI

BR-01

EN 16931 FATAL

Every invoice must carry a Specification identifier (BT-24, cbc:CustomizationID) - the string that declares which rule set the invoice claims to follow. Without it, validators cannot even decide which rules apply, so this is usually the very first error you meet.

How to fix it
  1. Add cbc:CustomizationID as the first element of the invoice body.
  2. For Peppol use urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0.
  3. For plain EN 16931 use urn:cen.eu:en16931:2017; for XRechnung use the German CIUS identifier.
Example
− Rejected
<Invoice>
  <!-- no CustomizationID -->
  <cbc:ID>INV-001</cbc:ID>
+ Accepted
<Invoice>
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ID>INV-001</cbc:ID>
Official rule text
An Invoice shall have a Specification identifier (BT-24).

Developers also reach this page searching for an “invoice validation error”, an “e-invoice rejected” message, or how to fix a failed EN 16931 compliance check — it's the same issue, explained above.

Fix it faster

Paste your invoice XML in our free validator - every finding comes with its rule ID. Then generate, convert and render compliant invoices through one API.

Related rules