Attestwire › Rule reference › BR-DE-6
BR-DE-6 XRechnung requires a seller telephone number
noun · XRechnung · fatal · BT-42
a seller with no telephone number.
A German public body has refused your invoice because the seller contact has no telephone number. German public-sector invoices must carry a phone number the authority can call about the invoice; a shared departmental number is fine. In the standard the field is BT-42, and BR-DE-6 is the XRechnung rule that requires it. You get this id, rather than BR-DE-2, when the contact block is there but the number is not.
Diese Regel auf Deutsch: BR-DE-6 — auf Deutsch erklärt.
- Business term
BT-42— Seller contact telephone number- Severity
fatal- Applies to
xrechnung-ubl, xrechnung-cii
The fix
Add a phone number to the seller contact, seller.contact.phone. Store one number on the company record and use it on every invoice. If your business has no landline, a mobile number satisfies the rule. An empty string does not, and neither does a placeholder that rings nowhere: this field is read by people, and a number that does not connect is a slower failure than no number at all.
What the rule requires
Under XRechnung, Germany’s version of the European standard, the seller contact telephone number must be present. It is one third of the seller contact group, and each third is its own rule, so a contact block with a name and an email still fails, here. In business-term language the field is BT-42.
A departmental number is fine, and better than a personal one. International format (+49 30 1234567) is the sensible convention for a document that may be read outside Germany, though the rule itself does not impose a format.
In this model the field is seller.contact.phone.
Das Element „Seller contact telephone number“ (BT-42) muss übermittelt werden.
Failing and passing
validateInput({
profile: "xrechnung-ubl",
// ...
seller: {
// ...
contact: {
name: "Buchhaltung",
email: "rechnungen@acme.example",
// phone omitted <- BR-DE-6
},
},
});
// -> { valid: false, errors: [ { rule: "BR-DE-6", field: "BT-42", ... } ] }validateInput({
profile: "xrechnung-ubl",
// ...
seller: {
// ...
contact: {
name: "Buchhaltung",
phone: "+49 30 1234567",
email: "rechnungen@acme.example",
},
},
});
// -> { valid: true, errors: [] }Why it exists
This is the number an authority’s accounts-payable clerk dials when something on the invoice does not reconcile. It is a small field with a large effect on how fast you get paid: a query answered in a phone call is a query that does not become a rejection and a reissue.
The German rules make it mandatory for the same reason they make the email mandatory: a machine-readable invoice still occasionally needs a person on the other end.
What the library returns
The full error returned by @attestwire/en16931. It includes the rule ID,
affected field and suggested correction. Developers can use this object in their application:
{
"rule": "BR-DE-6",
"field": "BT-42",
"severity": "fatal",
"message": "XRechnung requires the element \"Seller contact telephone number\" (BT-42). The seller contact group is present but incomplete — BR-DE-5, BR-DE-6 and BR-DE-7 each make one part of it mandatory, so supplying two of the three still fails.",
"fix": "Set seller.contact.phone to a reachable number in international format.",
"example": "\"contact\": { \"phone\": \"+49 30 1234567\" }",
"xpath": "/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone",
"docsUrl": "https://attestwire.com/rules/BR-DE-6"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.
How our check differs
Presence only. We do not check that the value looks like a phone number, and we do not check its country code against the seller’s address. This rule is satisfied by any non-blank string, which is what the German rules ask; "x" passes here. The shape of the value is BR-DE-27’s business, and that one is a warning: it asks for at least three digits, so "x" is reported there and your document is still accepted.
If the whole contact group is missing rather than just this field, the finding you get is BR-DE-2 instead.
If you are matching on ids, allow for both.
See also: BR-DE-7 — the email address, same rule shape; BR-DE-2 — the group all three belong to.