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 }}