BR-DE-CVD-06-a: CVD classification without exactly one cva attribute
Severity: fatal · Syntax: CII, UBL
Official message
Wenn der Scheme identifier von {name()} "Item classification identifier" (BT-158) mit dem Wert 'CVD' angegeben ist, muss in derselben Rechnungszeile genau ein {name()} "Item attribute name" (BT-160) mit dem Wert 'cva' vorhanden sein.
What this means
If BT-158 uses scheme CVD, the same invoice line must contain exactly one BT-160 with the value cva. UBL: count(AdditionalItemProperty[cbc:Name = 'cva']) = 1 whenever an ItemClassificationCode with listID CVD exists.
Typical cause
The vehicle class is set, and the cva attribute is missing or repeated.
How to fix it
Add exactly one attribute named cva on the same line.
UBL
<cac:AdditionalItemProperty>
<cbc:Name>cva</cbc:Name>
<cbc:Value>other</cbc:Value>
</cac:AdditionalItemProperty>CII
<ram:Description>cva</ram:Description>
Business term
Item classification identifier (BT-158), Item attribute name (BT-160)
Related rules
Context and assertion
UBL (/ubl:Invoice[$isCVD]/cac:InvoiceLine | /cn:CreditNote[$isCVD]/cac:CreditNoteLine)/cac:Item
CII /rsm:CrossIndustryInvoice[$isCVD]/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct
UBL
not(cac:CommodityClassification/cbc:ItemClassificationCode[@listID = 'CVD']) or count(cac:AdditionalItemProperty[cbc:Name = 'cva']) = 1CII
not(ram:DesignatedProductClassification/ram:ClassCode/@listID = 'CVD') or count(ram:ApplicableProductCharacteristic[ram:Description = 'cva']) = 1
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-DE-CVD-06-a actually check?
If BT-158 uses scheme CVD, the same invoice line must contain exactly one BT-160 with the value cva. UBL: count(AdditionalItemProperty[cbc:Name = 'cva']) = 1 whenever an ItemClassificationCode with listID CVD exists.
How do I fix BR-DE-CVD-06-a?
Add exactly one attribute named cva on the same line.
If BR-DE-CVD-06-a passes, is the invoice legally compliant?
No. This page helps you read this one Schematron assertion. A pass is not a statement about tax law, portal acceptance, or bank overlays.