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-CATEGORY

Variables in it

$CVD-VEHICLE-CATEGORY
('M1', 'M2', 'M3', 'N1', 'N2', 'N3')
CII
not(normalize-space(@listID) = 'CVD') or normalize-space(.) = $CVD-VEHICLE-CATEGORY

Variables 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.

Fails
<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>
Fixed
<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.