Error codes

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.