BR-DE-CVD-04Ein […] "Item classification identifier" (BT-158) mit dem Scheme identifier 'CVD' muss einen Wert aus der Liste der zulässigen Fahrzeugkategorien enthalten.
Official rule text
Where an item classification identifier (BT-158) uses the CVD scheme, its value must be one of the six vehicle categories: M1, M2, M3, N1, N2 or N3. The expression strips leading and trailing spaces first, but case matters, and any addition makes the value invalid. Classifications under other schemes are not checked by this rule.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-08-31
- Checked on
Written and checked against the official KoSIT rule set by Dmytro Yalanskyi, NormAPI.
Why does BR-DE-CVD-04 happen?
The field holds a vehicle description instead of the category ("bus", "car"), the category is written in lower case ("m3"), or it was copied from the vehicle data together with a suffix — "M3 Class I" for a city bus, "M1G" for an off-road vehicle. All of these fail, even though a human can read the category in them.
What the validator checks
The expression the official KoSIT rule set evaluates — not paraphrased, but read from the Schematron file it ships. UBL and CII address different document trees, so the same rule reads differently in each.
- UBL
not(normalize-space(@listID) = 'CVD') or normalize-space(.) = $CVD-VEHICLE-CATEGORYVariables in it
- $CVD-VEHICLE-CATEGORY
- ('M1', 'M2', 'M3', 'N1', 'N2', 'N3')
- CII
not(normalize-space(@listID) = 'CVD') or normalize-space(.) = $CVD-VEHICLE-CATEGORYVariables in it
- $CVD-VEHICLE-CATEGORY
- ('M1', 'M2', 'M3', 'N1', 'N2', 'N3')
Source: rule set v2026-08-31
How do you fix BR-DE-CVD-04?
Send the bare code, in capitals and without any addition — in UBL in cac:CommodityClassification/cbc:ItemClassificationCode with listID="CVD", in CII in ram:DesignatedProductClassification/ram:ClassCode with listID="CVD". M stands for vehicles carrying passengers, N for goods vehicles. Details such as the bus class belong in the item name or description, not in the code.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:Item>
<cbc:Name>Gelenkbus 18 m, batterieelektrisch</cbc:Name>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="CVD">M3 Klasse I</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>Related rules
NormAPI provides technical validation, not tax or legal advice.