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.

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.

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.

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.

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
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): models/eif_audit_log.py
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): models/eif_dsar_request.py
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): models/eif_invoice.py
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): models/eif_invoice_series.py
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): models/eif_saf_t_filing.py
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): wizards/wizard_invoice_issue.py
- Código del módulo: flexigo_portugal_efatura_e_invoice_connector 20.0 (61a5266d): wizards/wizard_saf_t_submission.py
- apps.odoo.com/apps/modules/20.0/flexigo_portugal_efatura_e_invoice_connector
- apps.odoo.com/apps/modules/17.0/flexigo_portugal_efatura_e_invoice_connector
- apps.odoo.com/apps/modules/18.0/flexigo_portugal_efatura_e_invoice_connector
- apps.odoo.com/apps/modules/19.0/flexigo_portugal_efatura_e_invoice_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
