| Regla | Fuente | Texto |
|---|---|---|
| PEPPOL-EN16931-R010 | Peppol BIS 3.0.22 | Buyer electronic address MUST be provided |
| PEPPOL-EN16931-R020 | Peppol BIS 3.0.22 | Seller electronic address MUST be provided |
| BR-62 | EN 16931 1.3.17 | The Seller electronic address (BT-34) shall have a Scheme identifier. |
| BR-63 | EN 16931 1.3.17 | The Buyer electronic address (BT-49) shall have a Scheme identifier. |
| BR-CL-25 | EN 16931 1.3.17 | Endpoint identifier scheme identifier MUST belong to the CEF EAS code list |
| PEPPOL-EN16931-CL008 | Peppol BIS 3.0.22 | Electronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme" |
| PEPPOL-COMMON-R043 | Peppol BIS 3.0.22 | Belgian enterprise number MUST be stated in the correct format. |
Todas son fatales. XRechnung aplica también R010 y R020: por eso este error aparece igual con clientes alemanes. La última es la belga: si el esquema es el del número de empresa de Bélgica, el identificador tiene que tener el formato de ese número.

Dónde está en Odoo
| Versión | Campos en la ficha del contacto |
|---|---|
| Odoo 17, 18 y 19 | Peppol e-address (EAS), el esquema, y Peppol Endpoint, el identificador. |
| Odoo 20 | Routing ID, el esquema, y Routing Endpoint, el identificador. |
Rellénalos en tu empresa y en cada cliente al que factures por Peppol. Odoo 18, 19 y 20 además lo comprueban al enviar por Peppol y, si falta, lo dicen con la regla delante: «[PEPPOL-EN16931-R010] An electronic address (EAS) must be provided on the customer '%s'.», y lo mismo con R020 para tu empresa.
Con XRechnung, Odoo tiene un atajo: si el contacto no tiene dirección Peppol pero sí correo, usa el correo con el esquema EM. Eso cumple R010 y R020 en una XRechnung, pero no sirve para enviar por la red Peppol, que necesita un identificador registrado.
Por qué Peppol la rechaza aunque esté
Que el campo esté relleno no basta para que la factura llegue. El identificador tiene que existir en la red: cada participante está registrado con su esquema y su número, y si escribes el número de empresa con otro formato, o con el esquema equivocado, el envío no encuentra destino aunque el fichero pase las reglas. Para Bélgica, PEPPOL-COMMON-R043 controla el número de empresa: diez cifras, y las dos últimas son de control. Un número mal copiado suele fallar aunque tenga el formato bien.
Con nuestro módulo de Peppol para Bélgica
El asistente de configuración del módulo consulta en el SML, el registro central de la red Peppol, si cada cliente está registrado con su identificador, para que lo sepas antes de facturar; esa búsqueda no baja al SMP de cada uno. Una advertencia sobre la versión publicada (de 17.0 a 20.0): sus diez comprobaciones previas al envío están en un asistente de resumen que ningún botón ni menú abre, así que hoy no se ejecutan ni paran el envío Peppol de Odoo. Revisa tú los dos campos de arriba.

Qué hacer
- En tu empresa: esquema y endpoint (Odoo 17 a 19) o Routing ID y Routing Endpoint (Odoo 20).
- En el cliente: lo mismo, con el identificador con el que está registrado en Peppol.
- Para empresas belgas, el número de empresa con el formato correcto.
- Vuelve a enviar.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_peppol/m
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_peppol/m
- docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/PEPPOL-COMMON-R043/
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- Código del módulo: flexigo_belgium_peppol_b2b_e_invoicing_compliance_wizar 20.0 (8c3e3f48): wizard/be_peppol_setup_wizard.py
- Código del módulo: flexigo_belgium_peppol_b2b_e_invoicing_compliance_wizar 20.0 (8c3e3f48): models/account_move.py
- github.com/itplr-kosit/xrechnung-schematron/releases/tag/v2.6.0
- github.com/ConnectingEurope/eInvoicing-EN16931/releases/tag/validation-1.3.17
- docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/PEPPOL-EN16931-CL008/
- docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/PEPPOL-EN16931-R010/
- docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/PEPPOL-EN16931-R020/
