Una distribuidora ficticia conecta su Odoo
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Distribuciones Duna es una empresa inventada que ya factura con Odoo y acaba de instalar el módulo. Laura, la consultora que lleva la implantación, se encarga de la configuración; Marcos, de administración, trabaja con las facturas. Vamos a seguir lo que ve cada uno y qué hace con cada mensaje.
Si antes quieres entender qué piezas tiene el módulo, tienes cómo funciona por dentro; aquí nos quedamos con los mensajes.
Laura configura la empresa y choca con los primeros avisos
No hay configuración activa
Lo primero que ve Laura es No active UAE e-invoicing configuration found for company %s. En el %s aparece la empresa a la que se refiere el aviso. Hay una variante sin empresa: No active UAE e-invoicing configuration. Las dos dicen que no hay una configuración de e-factura de EAU activa. Lo que toca es crearla o activarla para la empresa que sale en el mensaje, y comprobar que estás trabajando en esa empresa y no en otra.

UAE E-Invoicing Setup Wizard en el paso TIN Entry, con la empresa de ejemplo YourCompany en Company y el campo UAE TIN todavía vacío.El TIN y el TRN no pasan
Laura pega el número fiscal con un espacio en medio y el módulo responde TIN must be exactly 10 numeric digits. Más adelante, con el otro identificador, le sale TRN must be exactly 15 numeric digits. Las dos comprobaciones piden solo cifras y exactamente esa cantidad, así que espacios, guiones o letras no valen. Limpia el valor y vuelve a guardar.
Confirmar, URL del ASP y umbrales
Cuando guarda sin confirmar los datos aparece Please confirm the information is correct before saving. Basta con revisar la información y confirmar que es correcta antes de guardar.
Después, Laura sale del modo sandbox y recibe ASP Endpoint URL is required when not in sandbox mode. Tiene dos salidas: rellenar la URL del endpoint del ASP o seguir en modo sandbox mientras no la tenga.
Por último, deja a cero los umbrales y ve Alert threshold must be at least 1. y Failure threshold must be at least 1. Los dos admiten como mínimo 1.
La credencial del ASP y su certificado
Con la configuración guardada, Laura pasa a la credencial. Mientras no haya una activa, el módulo avisa con No active ASP credential configured.
Al crearla sin adjuntar el archivo sale No certificate uploaded. Cuando lo sube, puede encontrarse Certificate validation failed: %s o Credential setup failed: %s. En ambos casos la pista está en el texto que sustituye al %s; léelo entero antes de volver a subir nada.
Laura quiere sustituir la credencial por una nueva y pulsa la acción antes de prepararla. El mensaje es No staged credential found. Upload a new credential and mark it as staged first. El propio texto dice el orden: subir la credencial nueva y marcarla como staged primero.
Al activarla le sale Cannot activate credential "%s": the certificate expired on %s. El primer hueco es la credencial y el segundo, la fecha en que caducó el certificado. Con un certificado caducado el módulo no deja activarla, así que necesita uno vigente.
Marcos trabaja con las facturas

Invoicing › Compliance Dashboard agrupado por estado (Accepted, Not Transmitted, Queued, Rejected, Transmitted), con importe sin impuestos, total y fila de totales.Reintentar, sincronizar y anular
Marcos abre una factura aceptada y pide reintentarla. Respuesta: Only rejected or failed invoices can be retried. Solo se reintentan las rechazadas o fallidas.
Luego pide sincronizar el estado de una que aún no se ha enviado: Status sync is only relevant for transmitted or queued invoices. La sincronización solo tiene sentido con facturas transmitidas o en cola.
Después intenta anular una que está en cola: Only accepted or rejected invoices can be voided. Solo se anulan las aceptadas o rechazadas, y esta no lo es.
En otra factura le aparece No e-invoice XML has been generated for this invoice. Esa factura todavía no tiene su XML de e-factura generado.

UAE E-Invoice muestra el estado Accepted, el ID de liquidación de la FTA y la última transmisión; en el chatter, una actividad planificada y el cambio de estado.Lo que el módulo no deja borrar
Marcos quiere limpiar una factura antigua y recibe Invoice %s cannot be deleted: FTA retention period of %d years has not elapsed (expires %s). El módulo comprueba un periodo de conservación y no deja borrar la factura hasta la fecha que indica el mensaje.
Tampoco puede tocar el registro de auditoría: E-invoice audit logs are immutable and cannot be modified. y E-invoice audit logs are immutable and cannot be deleted. La app guarda esos registros sin permitir cambios ni borrado.
Al final pide los XML archivados de un periodo y ve No e-invoice XML archives found for TRN %s in the specified date range. Revisa que el TRN del mensaje es el correcto y amplía o corrige el rango de fechas.

Compliance Dashboard agrupado por estado a la Transmission Queue, el asistente en el paso TIN Entry y una factura en estado Accepted.Qué aprender del caso de Distribuciones Duna
- Lee el mensaje entero, también lo que aparece en cada
%s: ahí van la empresa, la credencial, la fecha o el detalle del fallo. - Los avisos de configuración (
No active UAE e-invoicing configuration...,No active ASP credential configured.) dicen que falta una configuración o una credencial activa. - TIN y TRN solo aceptan cifras y la longitud exacta del mensaje.
- Para cambiar de credencial, el orden lo marca
No staged credential found...: subir la nueva y marcarla como staged; para activarla, el certificado no puede estar caducado. - Reintentar, sincronizar y anular dependen del estado de la factura; mira el estado antes de pulsar.
- Borrar facturas dentro del periodo de conservación o tocar la auditoría no está permitido por el módulo.
Para rellenar cada ajuste sin tropezar con estos avisos, tienes la puesta en marcha paso a paso.
Cómo te ayuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, así que podemos revisar contigo la configuración, la credencial del ASP o un mensaje concreto que no consigas quitar. El módulo cuesta 49 € sin IVA, pago único por versión de Odoo, para 17, 18, 19 y 20; tienes los detalles en la página del módulo.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/account_move.py
- Código del módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_config.py
- Código del módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_credential.py
- Código del módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_log.py
- Código del módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): wizard/flexigo_uae_einvoice_dsar_wizard.py
- Código del módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): wizard/flexigo_uae_einvoice_setup_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/17.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/18.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/19.0/flexigo_uae_fta_e_invoicing_connector
- flexigotech.com/en/services.html
