# BR-DE-27 Seller contact telephone number must have valid syntax and length

Under rule BR-DE-27 of the German XRechnung profile, the seller contact telephone number (BT-42) must satisfy strict syntactic and plausibility checks. It must contain at least three numeric digits (0-9) and must not consist solely of placeholder characters (such as "-", "N/A", "000", or whitespace). In German public administration, automated invoice validation systems check phone number plausibility to prevent suppliers from bypassing mandatory contact requirements with fake or uncallable phone strings.

## Problem Description

Under rule BR-DE-27 of the German XRechnung profile, the seller contact telephone number (BT-42) must satisfy strict syntactic and plausibility checks. It must contain at least three numeric digits (0-9) and must not consist solely of placeholder characters (such as "-", "N/A", "000", or whitespace). In German public administration, automated invoice validation systems check phone number plausibility to prevent suppliers from bypassing mandatory contact requirements with fake or uncallable phone strings.

> **ERROR**: XRechnung 3.0

## Context and Significance

Supplying invalid or dummy telephone strings causes immediate Schematron error BR-DE-27, preventing the invoice from passing public sector gateway validation.

## Solution

In your company master data, update the seller telephone number with a complete business phone number including country prefix or regional area code (e.g. "+49 30 1234567" or "089 98765432"). In UBL 2.1 syntax, populate <cbc:Telephone> inside <cac:AccountingSupplierParty><cac:Party><cac:Contact>. In UN/CEFACT CII syntax, populate <ram:CompleteNumber> within <ram:TelephoneUniversalCommunication> under <ram:SellerTradeParty><ram:DefinedTradeContact>. Do not use dummy values like "--" or "none".

- validate
- convert

## Valid Examples

- BT-42 = "+49 30 1234567" (Standard international format with area code)
- BT-42 = "089 9876543-0" (Domestic German format with direct extension)

## Invalid Examples

- BT-42 = "--" (Punctuation placeholder without numeric digits)
- BT-42 = "N/A" (Alphabetic placeholder string failing the minimum 3-digit requirement)

## Code Examples

### Valid XML
```
<cac:Contact>
  <cbc:Name>Rechnungsstelle</cbc:Name>
  <cbc:Telephone>+49 30 1234567</cbc:Telephone>
  <cbc:ElectronicMail>kontakt@lieferant.de</cbc:ElectronicMail>
</cac:Contact>
```

### Invalid XML
```
<cac:Contact>
  <cbc:Name>Rechnungsstelle</cbc:Name>
  <!-- Telephone number consists only of dashes and fails the 3-digit requirement -->
  <cbc:Telephone>--</cbc:Telephone>
  <cbc:ElectronicMail>kontakt@lieferant.de</cbc:ElectronicMail>
</cac:Contact>
```

## Affected Fields

- [BT-42 Seller contact telephone number](/resources/xrechnung/bt-42-seller-contact-telephone-number)
- [BG-6 Seller contact](/resources/xrechnung)

## Related Rules

- [BR-DE-6](/resources/kosit-validator-errors/br-de-6-seller-contact-telephone-required)

## Validation Tools

- [Official KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Validate your XRechnung files against all BR-DE rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Automatic validation error fixes when converting.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Complete Error List](/resources/kosit-validator-errors): Overview of all German XRechnung validation rules.
