BR-DE-02 Seller Contact Telephone
What this rule checks
BR-DE-02 verifies that the field BT-42 (Seller contact telephone number) is present in the invoice. Technically, it checks whether the cbc:Telephone element exists within cac:AccountingSupplierParty/cac:Party/cac:Contact and is not empty.
Why this rule exists
In German e-invoicing, providing seller contact details is a mandatory requirement that goes beyond the European base standard EN 16931. The rationale: when an invoice recipient has questions or objections about an invoice, they must be able to reach the invoicing party directly and without friction.
The telephone number is a particularly important channel because many clarification cases in the B2G (Business-to-Government) domain are time-sensitive and can be resolved more quickly by phone than by email. Together with BR-DE-03 (email) and BR-DE-06 (contact name), BR-DE-02 forms a trio of rules that ensure the seller contact block is complete.
What triggers a failure
The rule fails when:
- The
cbc:Telephoneelement in thecac:AccountingSupplierParty/cac:Party/cac:Contactblock is missing - The
cbc:Telephoneelement is present but empty (e.g.,<cbc:Telephone></cbc:Telephone>) - The entire
cac:Contactblock is missing (this simultaneously triggers BR-DE-02, BR-DE-03, and BR-DE-06)
Failing XML example
The following example shows a seller contact block with a name and email but no telephone number:
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>Musterfirma GmbH</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Hauptstraße 1</cbc:StreetName>
<cbc:CityName>München</cbc:CityName>
<cbc:PostalZone>80331</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Musterfirma GmbH</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<!-- ERROR: Telephone number is missing -->
<cbc:Name>Max Mustermann</cbc:Name>
<cbc:ElectronicMail>rechnung@musterfirma.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
The fix
Add the cbc:Telephone element to the seller’s Contact block:
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>Musterfirma GmbH</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Hauptstraße 1</cbc:StreetName>
<cbc:CityName>München</cbc:CityName>
<cbc:PostalZone>80331</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Musterfirma GmbH</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Max Mustermann</cbc:Name>
<!-- CORRECT: Telephone number added -->
<cbc:Telephone>+49 89 1234567-0</cbc:Telephone>
<cbc:ElectronicMail>rechnung@musterfirma.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
Edge cases and common mistakes
No prescribed format: The XRechnung specification does not require a specific telephone number format. All of the following variants are valid:
+49 89 1234567-0(international with extension)089/1234567(national)+49891234567(unformatted)
However, the international E.164 format (e.g., +4989123456700) is recommended as it is machine-readable and unambiguous.
Central switchboard number is acceptable: A personal direct dial number is not required. A main switchboard number or accounting department number is sufficient — as long as the invoice recipient can actually reach a contact person through it.
Interaction with BR-DE-03 and BR-DE-06: The three rules BR-DE-02 (telephone), BR-DE-03 (email), and BR-DE-06 (contact name) together form the requirement for a complete seller contact. If the entire cac:Contact block is missing, all three rules are violated simultaneously. It is recommended to always populate the Contact block completely with name, telephone, and email.
XPath: The exact path for validation is:
/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone
For CII (Cross Industry Invoice), the equivalent path is:
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:CompleteNumber
Empty elements: An empty <cbc:Telephone/> or <cbc:Telephone></cbc:Telephone> is not accepted as a valid value. The element must actually contain content.