BR-DE-CVD-06-bWenn […] "Item attribute name" (BT-160) mit dem Wert 'cva' angegeben ist, muss in derselben Rechnungszeile genau ein […] "Item classification identifier" (BT-158) mit dem Scheme identifier 'CVD' vorhanden sein.
Official rule text
Where an item carries an attribute whose name (BT-160) is cva, the same item must have exactly one item classification identifier (BT-158) under the CVD scheme: not none, and not two. Only listID="CVD" spelled exactly that way counts; the same category under another scheme does not. The reverse direction is BR-DE-CVD-06-a.
- 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-06-b happen?
The category sits under another scheme, ZZZ for instance — a natural result if the line was first tested as an ordinary XRechnung, where BR-CL-13 rejects the CVD scheme because it is not in UNTDID 7143. Two categories appear when one line combines, say, a car (M1) and a van (N1).
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(cac:AdditionalItemProperty[cbc:Name = 'cva']) or count(cac:CommodityClassification/cbc:ItemClassificationCode[@listID = 'CVD']) = 1- CII
not(ram:ApplicableProductCharacteristic/ram:Description = 'cva') or count(ram:DesignatedProductClassification/ram:ClassCode[@listID = 'CVD']) = 1
Source: rule set v2026-08-31
How do you fix BR-DE-CVD-06-b?
Set the category exactly once per line with listID="CVD" — on cac:CommodityClassification/cbc:ItemClassificationCode in UBL, on ram:DesignatedProductClassification/ram:ClassCode in CII. Vehicles of different categories belong on separate invoice lines. Further classifications may stand alongside, as long as their scheme comes from UNTDID 7143 — which is what BR-TMP-CVD-01 checks.
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="ZZZ">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>Related rules
NormAPI provides technical validation, not tax or legal advice.