Este módulo permite la gestión del envío de la facturación electrónica española a FACe. La gestión del envío se realiza mediante los certificados con los que se firma.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Send Spanish electronic invoices (Facturae) to the public administration through the FACe platform, and track their status and cancellations directly from Odoo.
This module connects Odoo to FACe, the Spanish government's entry point for electronic invoices, so you can submit Facturae invoices and follow what happens to them without leaving Odoo.
- On a customer, choose FACe as the sending method. Odoo then requires the customer to be marked for Facturae and to have a VAT number, country and, for Spain, a province.
- On the company, set the email address used for FACe notifications; it is checked for a valid format.
- When you post a customer invoice or credit note for such a customer, Odoo automatically prepares and sends the signed Facturae file to FACe. The invoice shows a Facturae status and a cancellation status, and the same information is visible on the related exchange record under a Facturae tab.
- A scheduled job regularly asks FACe for updates and refreshes the statuses (registered, accepted, paid, rejected, cancellation approved, etc.).
- From the invoice you can use the Cancel FACe button (available when the invoice is registered and not already cancelled) to request cancellation, giving a reason. The cancellation request and its outcome are tracked.
It touches invoices (account.move), customers (res.partner), companies (res.company) and the EDI exchange records, and relies on company certificates for signing.
Depends on
Required by other modules
Models and fields (9)
- res.company · extends an existing modelface_email
- res.partner · extends an existing modell10n_es_facturae_sending_code (Sending method)
- account.move · extends an existing modell10n_es_facturae_status (Facturae status), l10n_es_facturae_cancellation_status (Facturae cancellation status)
- edi.exchange.record · extends an existing modell10n_es_facturae_motive (Facturae description), l10n_es_facturae_status (Facturae State), l10n_es_facturae_cancellation_motive (Facturae Cancellation motive), l10n_es_facturae_cancellation_status (Facturae Cancellation state)
- edi.l10n.es.facturae.face.cancel · new modelmotive, move_id
- l10n_es.facturae.face.base.handler · new model
- l10n_es.facturae.face.cancel.handler · new model
- l10n_es.facturae.face.output.handler · new model
- l10n_es.facturae.face.update.handler · new model
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 7 confirmed, 2 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/l10n-spain.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0- Es necesario añadir el correo electrónico al que notificar los cambios de estado en la empresa
- Se debe configurar el servidor de envío
- Por defecto se añado el servicio web de test:
- Si queremos añadir el de producción, debemos cambiar el parámetro por y modificar el certificado en parámetros de sistema
Para poder enviar correctamente, debemos subir el certificado al entorno correspondiente, para ello, accederemos a (Producción) o (Desarrollo). Allí, accederemos a Integradores/Gestión de certificados y nos loguearemos con Certificado Electrónico. Una vez dentro, debemos darnos de alta como integrador creando una incidencia en la URL que nos aparecerá. El siguiente documento tiene toda la información detallada.
Cuando nos confirmen el alta, será necesario subir la parte pública de nuestro certificado, un comando para exportarlo es:
openssl pkcs12 -in MI_CERTIFICADO.pfx -out MI_CERTIFICADO.crt -nokeys -clcerts
cat MI_CERTIFICADO.crtDeberemos añadir toda la parte entre -----BEGIN CERTIFICATE----- y -----END CERTIFICATE----- incluidos ambos.
Usage
Source · Odoo 18.0Configurar clientes
- Accedemos a un cliente
- Le configuramos la opción de factura electrónica y rellenamos los datos obligatorios
- Marcamos como método de envío FACe
- A partir de este momento, todas las facturas que validemos del cliente se enviarán automáticamente a no ser que marquemos la opción de Deshabilitar envío EDI
Envío de facturas
- Cuando validemos una factura de un cliente configurado a enviar por FACe se creará un registro de Envío EDI
- Mediante un job, se generarán los datos necesarios y, posteriormente, se enviará como un registro EDI estándar
- Una vez se envíe, se alamacenará en la factura el resultado y el número de registro
- Tras eso, podremos actualizar el estado de forma online presionando el botón Actualizar Estado FACe
- Además, también podremos solicitar la anulación de la factura pulsando 'Cancelar Envío' e introduciendo el motivo
Es importante tener en cuenta que:
- Un registro Enviado correctamente no puede ser Eliminado
- Sólo puede existir un envío Enviado correctamente (no cancelado)
- Se genera una tarea programada que actualiza los registros enviados correctamente no pagados y no anulados
- En caso de que se anule la factura por parte del cliente, podremos reenviarla de nuevo
Envío manual de facturas
- Esto podría pasarnos con facturas antiguas en las que configuramos el cliente tras emitir la factura o en las que hemos deshabilitado el envío automático
- Accedemos a una factura validada del cliente no enviada y pulsamos el botón 'Spanish Facturae'. En caso de salirnos una opción de elección, deberemos seleccionara FACe
- Tras esto, funcionará de la misma forma que un envío estándar
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.