BR-DE-CVD-01: Contract reference (BT-12) is missing on a CVD invoice
Severity: fatal · Syntax: CII, UBL
Official message
Das Element {name()} "Contract reference" (BT-12) muss übermittelt werden.
What this means
Under the XRechnung CVD check, contract reference (BT-12) must be transmitted and non-empty. UBL: cac:ContractDocumentReference/cbc:ID. CII: ram:ContractReferencedDocument/ram:IssuerAssignedID.
Typical cause
The CVD identifier is set, and the contract number is missing.
How to fix it
Transmit the contract reference in BT-12.
UBL
<cac:ContractDocumentReference>
<cbc:ID>VERTRAG-1</cbc:ID>
</cac:ContractDocumentReference>CII
<ram:ContractReferencedDocument>
<ram:IssuerAssignedID>VERTRAG-1</ram:IssuerAssignedID>
</ram:ContractReferencedDocument>
Business term
Contract reference (BT-12)
Related rules
Context and assertion
UBL (/ubl:Invoice | /cn:CreditNote)[$isCVD]
CII /rsm:CrossIndustryInvoice[$isCVD]/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement
UBL
cac:ContractDocumentReference/cbc:ID[boolean(normalize-space(.))]CII
ram:ContractReferencedDocument/ram:IssuerAssignedID[boolean(normalize-space(.))]
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-DE-CVD-01 actually check?
Under the XRechnung CVD check, contract reference (BT-12) must be transmitted and non-empty. UBL: cac:ContractDocumentReference/cbc:ID. CII: ram:ContractReferencedDocument/ram:IssuerAssignedID.
How do I fix BR-DE-CVD-01?
Transmit the contract reference in BT-12.
If BR-DE-CVD-01 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.