Skip to content

Rule family BR-DE-CVD

BR-DE-CVD-06-a: vehicle category without exactly one cva attribute

ErrorXRechnung business rule (KoSIT)

Official message

[BR-DE-CVD-06-a] Wenn der Scheme identifier von "Item classification identifier" (BT-158) mit dem Wert 'CVD' angegeben ist, muss in derselben Rechnungszeile genau ein "Item attribute name" (BT-160) mit dem Wert 'cva' vorhanden sein.

Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)

How to fix it

Add to every line with a CVD category exactly one cac:AdditionalItemProperty with cbc:Name cva and a permitted value, and remove duplicates. In CII the same applies to ram:ApplicableProductCharacteristic with ram:Description cva.

Before – invalid
<cac:Item>
  <cbc:Name>City bus M3</cbc:Name>
  <cac:CommodityClassification>
    <cbc:ItemClassificationCode listID="CVD">M3</cbc:ItemClassificationCode>
  </cac:CommodityClassification>
</cac:Item>
After – corrected
<cac:Item>
  <cbc:Name>City bus M3</cbc:Name>
  <cac:CommodityClassification>
    <cbc:ItemClassificationCode listID="CVD">M3</cbc:ItemClassificationCode>
  </cac:CommodityClassification>
  <cac:AdditionalItemProperty>
    <cbc:Name>cva</cbc:Name>
    <cbc:Value>clean</cbc:Value>
  </cac:AdditionalItemProperty>
</cac:Item>

What the message means

An invoice line carries a vehicle category with the scheme CVD, but the matching attribute cva is missing or appears more than once. The CVD extension requires both details as a pair in the same line: the category says what kind of vehicle it is, the attribute whether it is clean or zero-emission. Without the attribute the public body lacks the classification; with several attributes it would be contradictory. Per line: exactly one category, exactly one attribute.

Common causes

  • The attribute cva was set only in the first vehicle line, not in the following ones.
  • The software writes the attribute twice, for example from master data and from the order.
  • The classification was added but the attribute forgotten.

Frequently asked

May one line contain two vehicles with different classifications?

No. Each classification needs its own line with its own pair of category and attribute; otherwise the assignment is not unambiguous.

What distinguishes 06-a from 06-b?

06-a starts from the category and requires exactly one attribute; 06-b starts from the attribute and requires exactly one category. Both secure the pair.

Fields concerned

  • BT-158
  • BT-160
  • BG-25
  • BG-32

Related rules

Check your invoice

The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.

Open the XRechnung validator

Technical details
UBL · Context (XPath)
(/ubl:Invoice[$isCVD]/cac:InvoiceLine | /cn:CreditNote[$isCVD]/cac:CreditNoteLine)/cac:Item
UBL · Schematron test
not(cac:CommodityClassification/cbc:ItemClassificationCode[@listID = 'CVD']) or count(cac:AdditionalItemProperty[cbc:Name = 'cva']) = 1
CII · Context (XPath)
/rsm:CrossIndustryInvoice[$isCVD]/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct
CII · Schematron test
not(ram:DesignatedProductClassification/ram:ClassCode/@listID = 'CVD') or count(ram:ApplicableProductCharacteristic[ram:Description = 'cva']) = 1

Explanation written on 14 September 2026