OdooWiki OCA HUB

Envío de Facturae a FACe

l10n_es_facturae_face folder_open OCA/l10n-spain open_in_new
Accounting & Finance License: AGPL-3

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.0

Send 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.

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 15.0

Confirmed on 2026-11-03 in branch 15.0 of OCA/l10n-spain.

terminal Installation and usage

OCA documentation · 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.crt

Deberemos añadir toda la parte entre -----BEGIN CERTIFICATE----- y -----END CERTIFICATE----- incluidos ambos.

Configurar 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.

info

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.