XRechnung (Germany)

BR-DE-21

Specification identifier (BT-24) must be the XRechnung CustomizationID

What it means

Exactly one Specification identifier (BT-24) must carry the XRechnung CustomizationID for the version you target, e.g. 'urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0'. A plain EN 16931 CustomizationID is not an XRechnung.

How to fix it

Set cbc:CustomizationID to the XRechnung 3.0 URN (or the standard:extension URN if you use the extension). Keep cbc:ProfileID as 'urn:fdc:peppol.eu:2017:poacc:billing:01:1.0' if you also send via Peppol.

Example

<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>

Catch this before it reaches the receiving authority:

# CLI
npx @eleata/validate-einvoice validate invoice.xml --format xrechnung-ubl

# GitHub Action — fail the build on any invalid invoice
- uses: hernaninverso/validate-einvoice-action@v1
  with:
    files: invoices/**/*.xml
    api-key: ${{ secrets.EINVOICE_API_KEY }}

Other XRechnung (Germany) error codes

All error codes →