Fehlercodes · EN 16931
An Invoice shall have a Specification identifier (BT-24)
So lautet die Ablehnung wörtlich: „[BR-01] BR-01 fires when cbc:CustomizationID is missing or empty. The specification identifier (BT-24) tells the receiver which EN 16931 profile the document claims to conform to, and every downstream validator selects its rule set from this value. Without it a receiving Access Point cannot decide which Schematron to run, so the invoice is rejected at the door.“
The EN 16931 Schematron rule BR-01 has context /ubl:Invoice (or /ubl:CreditNote) and asserts normalize-space(cbc:CustomizationID) != ''. XPath: /Invoice/cbc:CustomizationID. Note that the assertion uses normalize-space(), so a present-but-whitespace-only element fails exactly like a missing one. The element must also be the first child of the Invoice root, before cbc:ProfileID and cbc:ID. Correct values depend on the profile: Peppol BIS Billing 3.0 uses urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0, while XRechnung 3.0 (UBL) uses urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0. A wrong-but-present value satisfies BR-01 but fails the profile-specific rule instead.
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"> <cbc:CustomizationID></cbc:CustomizationID> <cbc:ID>INV-2026-0417</cbc:ID> <cbc:IssueDate>2026-08-19</cbc:IssueDate>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"> <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID> <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID> <cbc:ID>INV-2026-0417</cbc:ID> <cbc:IssueDate>2026-08-19</cbc:IssueDate>
Die Reihenfolge ist Teil der Regel: steht das Element an der falschen Stelle, lehnt der Validator mit BR-01 ab.