einvoice / EN 16931 / XRechnung rule reference
BR-DEX-04
Any scheme identifier on a Party identifier (cac:Party Identification/cbc:ID) must be an ISO 6523 ICD (extension) code — or 'SEPA' when the identifier belongs to the Seller or the Payee.
Jede Schema-Kennung einer Beteiligtenkennung (cac:PartyIdentification/cbc:ID) muss ein ISO-6523-ICD-Code (Extension) sein – oder 'SEPA', wenn die Kennung zum Verkäufer oder zum Zahlungsempfänger gehört.
Deutsche Fassung: Übersetzung der gleichen BT/BG-Semantik (translation — not the official assert).
- Requires
- any scheme identifier on a Party identifier (cac:Party Identification/cbc:ID) must be an ISO 6523 ICD (extension) code — or 'SEPA' when the identifier belongs to the Seller or the Payee.
- Business terms
- — (no single business term)
- Syntax
- Binds the UBL-2.1 Invoice / CreditNote syntax and the UN/CEFACT-CII syntax
- Location (UBL-2.1 path)
cac:PartyIdentification/cbc:ID[@schemeID and $isExtension]- Fix
- Correct `cac:PartyIdentification/cbc:ID[@schemeID and $isExtension]` so that any scheme identifier on a Party identifier (cac:Party Identification/cbc:ID) must be an ISO 6523 ICD (extension) code — or 'SEPA' when the identifier belongs to the Seller or the Payee.
- Fix (Deutsch)
- Korrigieren Sie `cac:PartyIdentification/cbc:ID[@schemeID and $isExtension]`, sodass gilt: Jede Schema-Kennung einer Beteiligtenkennung (cac:PartyIdentification/cbc:ID) muss ein ISO-6523-ICD-Code (Extension) sein – oder 'SEPA', wenn die Kennung zum Verkäufer oder zum Zahlungsempfänger gehört.
- Severity
- fatal
- Provenance source
xrechnung-ubl- Provenance assert
Any scheme identifier in MUST be coded using one of the ISO 6523 ICD list.
The Location above is a UBL-2.1 path, and no UN/CEFACT-CII path for this rule is published here; Fix and Fix (Deutsch), verbatim from remediation_catalog.json and not reworded here; the UN/CEFACT-CII binding of this rule is differentially proven against the official KoSIT XRechnung 2.5.0 (XRechnung 3.0.2) Schematron.
Everything here is free and open source — pick up whatever helps, at your own pace:
- Licensing — Apache-2.0 for everyone, including closed-source embedding; an optional $29 / $290 commercial license adds support and rule-corpus update notices.
- German remediation (
--lang de) — the German fix for this rule is in the section above; the CLI surfaces it in place of the English message with--lang de. - Quickstart / free on-ramp — the README, a copy-paste CI-gate recipe, and a 5-minute worked walkthrough.