BR-TMP-CVD-01Das Bildungsschema für […] "Item classification identifier" (BT-158) ist aus der Codeliste UNTDID 7143 zu wählen.
Offizieller Regeltext
In einer CVD-Rechnung muss jede Klassifizierung (BT-158) auf den Rechnungszeilen ein Schema aus der Codeliste UNTDID 7143 tragen — oder CVD, das die Liste nicht kennt. Ein fehlendes oder leeres listID lässt der Ausdruck allerdings durch: Die Variable hängt CVD samt Leerzeichen vor die Liste, und das doppelte Leerzeichen an der Nahtstelle passt auf einen leeren Wert. Ein fehlendes Attribut weist BR-65 ab, ein leeres listID="" nur in CII — in UBL prüft BR-65 lediglich, ob es das Attribut gibt.
- Schweregrad
- Fehler
- Gilt für
- CII, UBL
- Regelwerk
- v2026-08-31
- Geprüft am
Geschrieben und gegen das offizielle KoSIT-Regelwerk geprüft von Dmytro Yalanskyi, NormAPI.
Warum tritt BR-TMP-CVD-01 auf?
Als Schema steht ein hausinternes Kürzel oder eine Schreibvariante, etwa „cvd“ in Kleinbuchstaben oder der Name eines Verzeichnisses statt seines Codes. Geprüft wird jede Klassifizierung auf den Zeilen, nicht nur die Fahrzeugkategorie. In einer gewöhnlichen XRechnung meldet das BR-CL-13; in der CVD-Variante stuft die Konfiguration des KoSIT-Validators BR-CL-13 zum Hinweis herab, weil diese Regel CVD nicht kennt, und BR-TMP-CVD-01 übernimmt die Prüfung als Fehler.
Was der Validator prüft
Der Ausdruck, den das offizielle KoSIT-Regelwerk auswertet — nicht paraphrasiert, sondern aus der ausgelieferten Schematron-Datei gelesen. UBL und CII adressieren verschiedene Dokumentbäume, deshalb steht dieselbe Regel je Syntax anders da.
- UBL
((not(contains(normalize-space(@listID), ' ')) and contains($UNTDID-7143-CVD-CODES, concat(' ', normalize-space(@listID), ' '))))Variablen darin
- $UNTDID-7143-CVD-CODES
- concat($CVD-CODE, $UNTDID-7143-CODES)
- $CVD-CODE
- ' CVD '
- $UNTDID-7143-CODES
- 'AA AB AC AD AE AF AG AH AI AJ …'185 Werte
- CII
((not(contains(normalize-space(@listID), ' ')) and contains($UNTDID-7143-CVD-CODES, concat(' ', normalize-space(@listID), ' '))))Variablen darin
- $UNTDID-7143-CVD-CODES
- concat($CVD-CODE, $UNTDID-7143-CODES)
- $CVD-CODE
- ' CVD '
- $UNTDID-7143-CODES
- 'AA AB AC AD AE AF AG AH AI AJ …'185 Werte
Quelle: Regelwerk v2026-08-31
Wie behebt man BR-TMP-CVD-01?
Setzen Sie als listID entweder CVD — nur für die Fahrzeugkategorie — oder einen Code aus der UNTDID 7143, jeweils in genau dieser Schreibweise: in UBL an cac:CommodityClassification/cbc:ItemClassificationCode, in CII an ram:DesignatedProductClassification/ram:ClassCode. Sorgen Sie selbst dafür, dass das Attribut nie leer ist, denn in UBL fängt das Regelwerk diesen Fall nicht ab. Dass BR-CL-13 für den Code CVD auch in einer gültigen CVD-Rechnung erscheint, ist kein Fehler im Dokument.
Im XML
Ausschnitt in UBL. Der CII-Pfad steht oben im Text — dieselbe Änderung, andere Elementnamen.
<cac:Item>
<cbc:Name>Gelenkbus 18 m, batterieelektrisch</cbc:Name>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="cvd">M3</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>cva</cbc:Name>
<cbc:Value>zero-emission</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item><cac:Item>
<cbc:Name>Gelenkbus 18 m, batterieelektrisch</cbc:Name>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="CVD">M3</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>cva</cbc:Name>
<cbc:Value>zero-emission</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>Verwandte Regeln
NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.