Skip to main content
EN 16931 · addresses

Errors BR-09 and BR-11: seller or buyer address without a country code

A European e-invoice always carries two postal addresses, the seller's and the buyer's, each with its country as a two-letter code. BR-08 and BR-10 require the addresses; BR-09 and BR-11, the country inside them; BR-CL-14, that the code comes from the ISO 3166-1 list. In Odoo this is fixed on the contact, and Odoo warns you before generating.

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

The text of each rule

All of them are fatal in the EN 16931 Schematron (validation-1.3.17), and Peppol BIS, XRechnung and Factur-X apply them the same way:

  • BR-08: “An Invoice shall contain the Seller postal address.”
  • BR-09: “The Seller postal address (BG-5) shall contain a Seller country code (BT-40).”
  • BR-10: “An Invoice shall contain the Buyer postal address (BG-8).”
  • BR-11: “The Buyer postal address shall contain a Buyer country code (BT-55).”
  • BR-CL-14: “Country codes in an invoice MUST be coded using ISO code list 3166-1”

Inside the address, the EN 16931 rules only ask for the country. Some formats ask for more: XRechnung also requires the seller's city and post code (BR-DE-3 and BR-DE-4) and the buyer's (BR-DE-8 and BR-DE-9).

Card for EN 16931 rules BR-09 and BR-11
The country (BT-40 and BT-55) inside the seller (BG-5) and buyer (BG-8) addresses.

What Odoo tells you

In all four versions, Odoo checks BR-09 and BR-11 before generating the UBL file. If the country is missing on your company or on the customer, the message is: “The country is required for the %s.”, with “supplier” or “customer” in the gap. On Odoo 17 the check lives in the Peppol BIS export (and in those that inherit from it, such as XRechnung); on 18, 19 and 20, in the shared EN 16931 layer.

The message tells you which record to open: “supplier” is your company, the one on the invoice; “customer” is the customer's invoicing contact.

Why a country is missing in Odoo

SituationWhere to look
Company created in a hurry, with no addressCompany settings: street, city, post code and country.
Customer imported from a spreadsheetThe country column empty or typed by hand instead of picked.
Invoice to a child contactThe invoicing address of the contact on the invoice, not only its company's.
Private customer from an online shopThe order came with an address without a country, or one not in the list.

Since the country in Odoo is picked from a list and not typed, BR-CL-14 almost never comes from an Odoo invoice: the two-letter code comes from the country itself. If you see it, check whether the file went through another program before reaching the customer.

With our XRechnung and ZUGFeRD module

Public-sector customer in Odoo 20 with a full address and the E-Invoicing tab of the XRechnung module
Street, post code, city and country filled in: what BR-10, BR-11 and the XRechnung buyer rules need. Odoo 20 screenshot with demo data.

The module does not warn you about the country. If your company or the customer has none, it writes DE, the code for Germany, in UBL and in CII, and its pre-generation check does not look at that field. The file meets BR-09 and BR-11 and the KoSIT validator accepts it (we checked), but the address says Germany even when the customer is in another country. Check each customer's country before generating.

On Odoo 18, 19 and 20, with the FlexigoTech Cloud subscription, every XRechnung and every ZUGFeRD EN 16931 the module generates is validated against the KoSIT rules. If the customer's city or postcode is missing, that does show up: BR-DE-8 and BR-DE-9 stay under Validation Errors and the invoice is not marked Ready to send. The version published for Odoo 17 generates the files but does not validate them.

Steps

  1. Read the message: “supplier” or “customer”.
  2. Open that record and pick the country from the list; complete street, city and post code even if EN 16931 does not ask for them.
  3. If you invoice a contact of a company, check that contact's address.
  4. Generate the file again.

Keep reading

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.XRechnung errors BR-DE-2 to BR-DE-7, BR-DE-27 and BR-DE-28: the seller contactBR-DE-2 to BR-DE-7 require the seller's city, post code, contact point, phone and email in XRechnung. What each rule says and how to meet them in Odoo.Errors PEPPOL-EN16931-R010 and R020: the buyer or seller electronic addressPEPPOL-EN16931-R010 and R020 require the buyer and seller electronic address; BR-62, BR-63 and BR-CL-25, its scheme. Where it lives in Odoo 17, 18, 19 and 20.
Checked in the module's source code (version 17.0 and 20.0) and the linked sources

Sources