Rule family BR-DE-CVD
BR-DE-CVD-06-b: cva attribute without exactly one vehicle category
ErrorXRechnung business rule (KoSIT)
The rule's own wording
[BR-DE-CVD-06-b] Wenn "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.Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)
The fix in the XML
Add to every line with the attribute cva exactly one cac:CommodityClassification/cbc:ItemClassificationCode with listID CVD and a category from M1 to N3, and remove duplicates; in CII ram:DesignatedProductClassification/ram:ClassCode with listID CVD.
<cac:Item>
<cbc:Name>Electric van</cbc:Name>
<cac:AdditionalItemProperty>
<cbc:Name>cva</cbc:Name>
<cbc:Value>zero-emission</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item><cac:Item>
<cbc:Name>Electric van</cbc:Name>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="CVD">N1</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:AdditionalItemProperty>
<cbc:Name>cva</cbc:Name>
<cbc:Value>zero-emission</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>Meaning of the rule
An invoice line contains the clean vehicle attribute cva, but the matching vehicle category in the scheme CVD is missing or present several times. The attribute alone does not tell the public body which kind of vehicle is classified, and it needs the category to calculate its quota by vehicle category. The CVD extension therefore requires in every line with the attribute exactly one classification with listID CVD.
What usually goes wrong
- The attribute was taken from the article master data, the classification was not.
- The category was transmitted with a scheme other than CVD.
- The classification appears twice in the line, once per data source.
Questions and answers
May the line carry an additional classification in another scheme?
Yes. Only that exactly one classification with listID CVD exists is checked; further schemes such as UNSPSC do not interfere.
What happens if I simply leave the attribute cva out?
Then 06-b does not apply, but the extension still requires at least one complete vehicle line in the invoice.
EN 16931 fields
- BT-158
- BT-160
- BG-25
- BG-32
See also
Check your invoice
The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.
The rule in detail
- UBL · Context (XPath)
(/ubl:Invoice[$isCVD]/cac:InvoiceLine | /cn:CreditNote[$isCVD]/cac:CreditNoteLine)/cac:Item- UBL · Schematron test
not(cac:AdditionalItemProperty[cbc:Name = 'cva']) or count(cac:CommodityClassification/cbc:ItemClassificationCode[@listID = 'CVD']) = 1- CII · Context (XPath)
/rsm:CrossIndustryInvoice[$isCVD]/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct- CII · Schematron test
not(ram:ApplicableProductCharacteristic/ram:Description = 'cva') or count(ram:DesignatedProductClassification/ram:ClassCode[@listID = 'CVD']) = 1
Explanation written on 14 September 2026