/xXSDHub

BR-DE-21: Specification ID must identify XRechnung

Specification ID must identify XRechnung; use the XRechnung specification identifier required by the recipient.

What the rule says

[BR-DE-21] Das Element "Specification identifier" (BT-24) soll syntaktisch der Kennung des Standards XRechnung entsprechen.

Official xrechnung source, version 2.6.0 / XRechnung 3.0.2. Apache 2.0; sources, licences and notices. Syntax and business checks are separate; this is not certification.

Specification ID must identify XRechnung

Specification ID must identify XRechnung. The controlled example changes the specific field or group named by this rule. Set only /*/cbc:CustomizationID to 'urn:cen.eu:en16931:2017'.

Business terms: BT-24.

Use the XRechnung specification identifier required by the recipient.

Reproduced failure and correction

Tested on 2 November 2026 with the production SaxonC-HE 13.1 / saxonche 13.1.1 engine, xrechnung mode, UBL. The XSD passes; the report then contains BR-DE-21. Restoring this fragment makes the complete original invoice pass the selected checks.

[BR-DE-21] Das Element "Specification identifier" (BT-24) soll syntaktisch der Kennung des Standards XRechnung entsprechen.

Additional triggered rules: 0. None. Counts include distinct error and warning codes; the target code is excluded.

Precise mutated XPath: /*/cbc:CustomizationID.

Before: triggers this rule

<ns0:CustomizationID xmlns:ns0="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">urn:cen.eu:en16931:2017</ns0:CustomizationID>
    

After: passes

<ns0:CustomizationID xmlns:ns0="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</ns0:CustomizationID>
    

The context shown is part of a complete invoice; it is not a standalone invoice. Mutation: value at /*/cbc:CustomizationID. The passing baseline is validated with the selected pinned package. UBL examples use a controlled single-line adaptation of the official XRechnung example; the CII example uses the official EN 16931 baseline.

Download complete failing invoice · Download complete passing invoice

Check your corrected invoice →

Check the rest of the invoice

Repair the source data and exporter, then validate the complete invoice again with the same package. Review every remaining error and warning; a passing rule is not a guarantee of recipient acceptance.

EN 16931 syntax and business checks · XRechnung profile requirements · Pro/Team batch checks.