Skip to main content
XRechnung · KoSIT rules

XRechnung errors BR-DE-2 to BR-DE-7, BR-DE-27 and BR-DE-28: the seller contact

Six fatal rules and two warnings in XRechnung ask for the same thing: the invoice has to say who issues it and how to reach them. Your company's city and post code, a contact point, a phone number and an email. In Odoo it is almost always a missing value on your own company, not on the customer.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Versions
Odoo 17, 18, 19 and 20
Checked
in the module's source code, version 17.0 and 20.0 · against the sources linked at the end
Reading time
3 min
RuleSeverityKoSIT textWhat is missing
BR-DE-2fatalDie Gruppe "SELLER CONTACT" (BG-6) muss übermittelt werden.The whole seller contact block.
BR-DE-3fatalDas Element "Seller city" (BT-37) muss übermittelt werden.Your company's city.
BR-DE-4fatalDas Element "Seller post code" (BT-38) muss übermittelt werden.Your company's post code.
BR-DE-5fatalDas Element "Seller contact point" (BT-41) muss übermittelt werden.A contact person or department.
BR-DE-6fatalDas Element "Seller contact telephone number" (BT-42) muss übermittelt werden.A phone number.
BR-DE-7fatalDas Element "Seller contact email address" (BT-43) muss übermittelt werden.An email address.
BR-DE-27warningIn BT-42 sollen mindestens drei Ziffern enthalten sein.A phone number with at least three digits.
BR-DE-28warningIn BT-43 soll genau ein @-Zeichen enthalten sein, welches nicht von einem Leerzeichen, einem Punkt, aber mindestens zwei Zeichen auf beiden Seiten flankiert werden soll. Ein Punkt sollte nicht am Anfang oder am Ende stehen.A well-formed email: one @, no spaces or dots right next to it, no dot at the start or end.

The texts are those of the XRechnung 3.0.2 Schematron (KoSIT release v2.6.0), in German as the validator returns them. None of the EN 16931 rules asks for the seller contact; the XRechnung rules do. That is why they only appear when the invoice is an XRechnung.

Card for XRechnung rules BR-DE-2 to BR-DE-7
Six fatal rules and two warnings about the seller contact (BG-6) and address.

The two warnings do not sink the invoice

BR-DE-27 and BR-DE-28 have severity warning in the Schematron, not fatal. The report shows them, but an XRechnung with only these two warnings is still valid. Fix them anyway: a phone number like “-” or an email with spaces usually comes from a contact filled in too quickly.

What Odoo checks before generating

The XRechnung that ships with Odoo checks two of these rules on your company record before generating the file, depending on the version:

  • Odoo 17: it asks for a phone or a mobile number, with the message “At least one of the following fields %s is required on %s.”, and for the email, with “The field %s is required on %s.”.
  • Odoo 18: by default it checks neither the phone nor the email. That check lives in the old exporter, and Odoo 18 uses the new one unless the system parameter account_edi_ubl_cii.use_new_dict_to_xml_helpers is set to False. The new one writes only the Phone field as the telephone (BT-42): if your company only has a mobile number, the XRechnung goes out without a phone and the validator gives BR-DE-6.
  • Odoo 19 and 20: they ask for the phone and the email, and the message reads “The field %(field)s is required on %(record)s.” with the field name and your company's name.

City, post code and contact point have no such check up front in any version. If your company record lacks them, you find out from your customer's validator or from yours.

With our XRechnung and ZUGFeRD module

The module writes the BG-6 block with your company name as contact point (BT-41), its phone (BT-42) and its email (BT-43). Before generating it checks the company phone and email, and the customer email too, with a message for each.

Odoo 20 invoice with the XRechnung / ZUGFeRD tab of the module
XRechnung CII format, Valid result and the Ready to send box ticked. Odoo 20 screenshot with demo data; the validation report in the screenshot is a test one.

On Odoo 18, 19 and 20, with the FlexigoTech Cloud subscription, each XRechnung is validated against the KoSIT rules and whatever fails stays on the invoice, under Validation Errors, one line per rule with its level. Only an invoice that passes is marked Ready to send. On Odoo 17, the published version generates the XRechnung but does not validate it.

What to fill in

  1. Your company record: full street, city and post code.
  2. A phone number with country code and at least three digits, in the Phone field: a mobile only counts in Odoo 17's XRechnung.
  3. A billing email someone reads, with a single @ and no spaces.
  4. Generate the XRechnung again and review the result before sending it.

Keep reading

XRechnung error BR-DE-15: the invoice has no Buyer reference (BT-10)BR-DE-15 rejects an XRechnung without a Buyer reference (BT-10). What the KoSIT rule asks, where Odoo 17, 18, 19 and 20 take it from and when the Leitweg-ID goes there.XRechnung errors BR-DE-1, BR-61 and BR-DE-23: the payment instructionsBR-DE-1 asks XRechnung for payment instructions (BG-16) and BR-61 for the account when paying by credit transfer. What Odoo 17, 18, 19 and 20 write and how to fix it.Error BR-CO-09: the seller or buyer VAT number has no country prefixBR-CO-09 rejects a VAT number without the country prefix; BR-CO-26, BR-S-02, BR-AE-02 and BR-IC-02 require the seller's or customer's. Odoo's message and how to write it.
Checked in the module's source code (version 17.0 and 20.0) and the linked sources

Sources