Skip to main content
Peppol BIS Billing 3.0

Errors PEPPOL-EN16931-R010 and R020: the buyer or seller electronic address

On Peppol every company has an electronic address: a scheme (for instance, the Belgian enterprise number) and an identifier. The invoice has to carry the seller's and the buyer's. R010 and R020 require them, BR-62 and BR-63 require their scheme, and BR-CL-25 and CL008 require the scheme to be on their code list: CEF EAS in EN 16931 and the electronic address scheme list in Peppol. In Odoo they are two fields on the contact.

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 20.0 · against the sources linked at the end
Reading time
3 min
RuleSourceText
PEPPOL-EN16931-R010Peppol BIS 3.0.22Buyer electronic address MUST be provided
PEPPOL-EN16931-R020Peppol BIS 3.0.22Seller electronic address MUST be provided
BR-62EN 16931 1.3.17The Seller electronic address (BT-34) shall have a Scheme identifier.
BR-63EN 16931 1.3.17The Buyer electronic address (BT-49) shall have a Scheme identifier.
BR-CL-25EN 16931 1.3.17Endpoint identifier scheme identifier MUST belong to the CEF EAS code list
PEPPOL-EN16931-CL008Peppol BIS 3.0.22Electronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme"
PEPPOL-COMMON-R043Peppol BIS 3.0.22Belgian enterprise number MUST be stated in the correct format.

All of them are fatal. XRechnung applies R010 and R020 too, which is why this error shows up with German customers as well. The last one is Belgian: if the scheme is the Belgian enterprise number, the identifier must have that number's format.

Card for the Peppol electronic address rules
R010 and R020 require the address (BT-49 and BT-34); BR-62, BR-63 and the code lists, its scheme.

Where it lives in Odoo

VersionFields on the contact
Odoo 17, 18 and 19Peppol e-address (EAS), the scheme, and Peppol Endpoint, the identifier.
Odoo 20Routing ID, the scheme, and Routing Endpoint, the identifier.

Fill them in on your company and on every customer you invoice over Peppol. Odoo 18, 19 and 20 also check them when sending over Peppol and, if one is missing, say so with the rule in front: “[PEPPOL-EN16931-R010] An electronic address (EAS) must be provided on the customer '%s'.”, and the same with R020 for your company.

With XRechnung, Odoo has a shortcut: if the contact has no Peppol address but has an email, it uses the email with scheme EM. That meets R010 and R020 in an XRechnung, but it does not work for sending over the Peppol network, which needs a registered identifier.

Why Peppol rejects it even when it is there

A filled-in field is not enough for the invoice to arrive. The identifier has to exist on the network: each participant is registered with its scheme and number, and if you write the enterprise number in another format, or with the wrong scheme, the delivery finds no destination even though the file passes the rules. For Belgium, PEPPOL-COMMON-R043 checks the enterprise number: ten digits, the last two being check digits. A mistyped number usually fails even when the format looks right.

With our Peppol module for Belgium

The module's setup wizard asks the SML, the central registry of the Peppol network, whether each customer is registered under its identifier, so you know before invoicing; that lookup does not go down to each one's SMP. A caveat about the published version (17.0 to 20.0): its ten pre-send checks sit in a summary wizard that no button or menu opens, so today they neither run nor stop Odoo's Peppol sending. Check the two fields above yourself.

Compliance Profiles list of the Belgian Peppol module in Odoo
One demo profile (Acme Belgium SPRL) in Completed status and Test / SMK mode. Demo data: the enterprise number in the screenshot is made up and would not pass the PEPPOL-COMMON-R043 check.

What to do

  1. On your company: scheme and endpoint (Odoo 17 to 19) or Routing ID and Routing Endpoint (Odoo 20).
  2. On the customer: the same, with the identifier it is registered under on Peppol.
  3. For Belgian companies, the enterprise number in the right format.
  4. Send again.

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.Errors BR-09 and BR-11: seller or buyer address without a country codeBR-09 and BR-11 require the country code in the seller and buyer addresses; BR-08 and BR-10, the address itself. The Odoo 17, 18, 19 and 20 message and what to fill in.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 20.0) and the linked sources

Sources