Saltar al contenido principal
Portugal e-Invoice Files: CIUS-PT XML, ATCUD and QR

Mensajes de error de Portugal e-Invoice Files en Odoo: cuándo salen y qué hacer

Los avisos de Portugal e-Invoice Files caen en cuatro grupos: facturas emitidas y series, SAF-T, registro de auditoría y solicitudes de datos (DSAR). Casi todos dicen en el propio texto qué falta o qué camino seguir: corregir con nota de crédito o débito, emitir solo borradores, completar el código de registro de la serie o archivar antes de borrar. Aquí tienes cada mensaje literal, cuándo aparece según su texto y qué puedes hacer.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 4 de noviembre de 2026

Lo esencial

Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del módulo, versión 20.0 · en las fuentes enlazadas al final
Lectura
5 min

Facturas emitidas, series y SAF-T

¿Por qué no puedo cambiar ni borrar una factura ya emitida?

El módulo lo bloquea con tres mensajes: Invoice immutable; correct via credit/debit note, Invoice immutable; cannot modify {illegal_fields} y Cannot delete issued invoice; use credit/debit note for corrections. Los tres dicen lo mismo: la factura emitida no se edita ni se elimina. Si hay algo que corregir, el propio mensaje te da el camino: una nota de crédito o una nota de débito. En el segundo mensaje, {illegal_fields} es la parte variable del texto tal como está escrita en el código del módulo.

¿Qué significa Only draft invoices can be issued?

Este aviso aparece en dos formas, Only draft invoices can be issued y Only draft invoices can be issued, y el texto es directo: solo se pueden emitir facturas en borrador. Si te sale, comprueba el estado de la factura con la que estás trabajando antes de volver a intentarlo.

¿Qué hago con los avisos sobre las series de facturación?

Hay cuatro mensajes relacionados con las series:

  • No invoice series configured: no hay ninguna serie de facturación configurada. Crea una antes de seguir.
  • Series {record.series_code} not registered with AT; registration code missing: la serie que nombra el mensaje no está registrada con la AT porque le falta el código de registro. Complétalo en la serie.
  • Invalid AT validation code: {validation_code}: el código de validación de la AT que se ha introducido no es válido. Revisa el código que has escrito.
  • Series sequence cannot go below 1: la secuencia de la serie no puede quedar por debajo de 1. Corrige el valor de la secuencia.

Las series están en la lista Invoicing › Invoice Series, con las columnas Company, Series Code, AT Validation Code y Active, entre otras.

Lista Invoice Series de Odoo Invoicing con columnas Company, Series Code, AT Validation Code y Active
La lista Invoice Series, aún sin registros: aquí se ven el código de serie y el código de validación de la AT.

El módulo también añade la lista del modelo eif.payment.terms, con las columnas Invoice, Payment Terms, Due Date, Early Payment y Discount.

Lista del modelo eif.payment.terms con columnas Invoice, Payment Terms, Due Date, Early Payment y Discount
La lista de eif.payment.terms, aún sin registros.

¿Por qué no genera ni envía el SAF-T?

Porque, según sus propios mensajes, esas funciones todavía no están en el módulo: Not generated: SAF-T PT XML generation is not available in this module yet. y Not sent: submitting SAF-T to Portal das Finanças is not available in this module yet. No es un fallo de tu configuración: el XML del SAF-T PT y su envío al Portal das Finanças tienes que resolverlos fuera de este módulo. Otro aviso distinto es Select a SAF-T filing first, que aparece en dos puntos del código y pide que selecciones primero una declaración SAF-T.

Registro de auditoría (Audit Trail)

¿Qué significan los avisos del registro de auditoría?

Son tres. Audit trail is immutable and cannot be modified y Audit trail is immutable and cannot be deleted dicen que los registros de auditoría no se pueden modificar ni borrar. El tercero, Audit trail tampering detected!, indica que el módulo ha detectado una manipulación del registro. Si te aparece, no intentes rehacer el registro a mano (los otros dos mensajes ya dicen que no se puede) y revisa la lista Audit Trail con quien administra tu Odoo.

Lista Audit Trail de Facturación en Odoo con columnas Invoice, Timestamp (UTC), User, Action Type y Hash Signature
La lista Audit Trail, aún sin registros: factura, fecha y hora en UTC, usuario, tipo de acción y firma hash.

Solicitudes de datos personales (DSAR)

¿Por qué me pide verificar, evaluar o responder antes?

Las solicitudes de datos tienen pasos y el módulo avisa cuando falta uno: DSAR must be verified first (falta verificarla), DSAR must be assessed first (falta evaluarla, y aparece en dos puntos del código) y DSAR must be responded first (falta responderla). Si intentas verificar una que ya lo está, sale DSAR already verified. Haz el paso que nombra el mensaje y vuelve a intentarlo.

¿Qué hago con Customer not found?

El mensaje completo es Customer not found for {record.identifier_type}={record.identifier_value}. El módulo no encuentra un cliente con el tipo y el valor de identificador de la solicitud. Revisa esos dos datos en la solicitud.

¿Por qué la respuesta sale como Not delivered?

Hay dos casos. Not delivered: this module only delivers the response by email and this request has no email address. Send the response to the data subject yourself. El módulo solo entrega la respuesta por correo y la solicitud no tiene dirección de email: la respuesta se la tienes que mandar tú al interesado. El otro es Not delivered: the email to %(email)s could not be sent (%(reason)s)., que dice que el correo no se pudo enviar e incluye la dirección y el motivo; empieza por ese motivo.

¿Por qué no puedo borrar una solicitud?

Por Cannot delete active DSAR request; must be archived first: una solicitud activa no se borra. Archívala primero.

Secuencia de listas de Invoicing: Data Subject Requests, Electronic Invoices, eif.payment.terms y Audit Trail
La lista Data Subject Requests con una solicitud de prueba en estado Pending, y después las listas Electronic Invoices (con columnas como ATCUD, SAF-T Filing Status y State), eif.payment.terms y Audit Trail, sin registros.

Cómo te ayuda FlexigoTech

Si quieres entender qué menús añade el módulo antes de pelearte con los avisos, lo explicamos en cómo funciona Portugal e-Invoice Files por dentro. El módulo está en Odoo Apps para Odoo 17, 18, 19 y 20 a 9 € por versión de Odoo, pago único, sin IVA. Si lo compras en flexigotech.com con la suscripción, el módulo para las versiones nuevas de Odoo va incluido; en el Odoo App Store, cada versión se compra allí. Además, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, por si necesitas algo que el módulo no cubre todavía.

Sigue leyendo

Cómo funciona Portugal e-Invoice Files en Odoo: menús, modelos y asistentesGlosario de Portugal e-Invoice Files en Odoo: el menú Invoicing › e-Fatura, sus apartados, los modelos eif y los asistentes de ATCUD, QR, SAF-T y RGPD.Cómo funciona Peru SUNAT SIRE RVIE/RCE Reconciliation en Odoo por dentroQué menús añade Peru SUNAT SIRE RVIE/RCE Reconciliation en Odoo, qué tareas programadas corren y qué modelos define el módulo, en preguntas.Errores de Peru SUNAT SIRE RVIE/RCE Reconciliation: lo que no te cuenta la fichaLos mensajes de error de Peru SUNAT SIRE RVIE/RCE Reconciliation en Odoo con su texto literal: qué dice cada uno y qué revisar antes de volver a intentarlo.
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas

Fuentes