Saltar al contenido principal
Portugal SAF-T (PT) File Checks

Errores de Portugal SAF-T (PT) File Checks: cuándo sale cada mensaje y qué hacer

Los mensajes de Portugal SAF-T (PT) File Checks están en inglés y casi todos dicen ya qué ha fallado y, en muchos casos, el siguiente paso: generar antes de validar, revisar el log, configurar certificado y clave de ATCUD o reintentar más tarde. Aquí tienes cada mensaje literal, cuándo sale según su propio texto y qué hacer, sin suponer nada que el mensaje no diga.

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
6 min

Cómo leer un mensaje de Portugal SAF-T (PT) File Checks

Cada aviso trae un texto que en muchos casos termina en %s o lleva %d en medio. Ese hueco es donde el módulo inserta el dato concreto: el detalle del fallo, el valor que tienes guardado, una dirección o el número de intentos. Cuando veas los dos puntos seguidos de un texto, esa parte es la que te dice qué ha pasado en tu caso.

En la tabla de abajo los mensajes aparecen tal como los escribe el módulo, con %s y %d en su sitio. En tu pantalla verás el dato real en lugar de esos marcadores.

Tabla de errores: mensaje, cuándo sale y qué hacer

MensajeCuándo saleQué hacer
SAF-T generation failed: %sFalla la generación del archivo SAF-T.Lee el detalle tras los dos puntos y corrige lo que indique antes de volver a generar.
No SAF-T file generated. Run generation first.Aún no hay archivo SAF-T generado.Genera el archivo primero, como pide el mensaje.
SAF-T validation failed. Check validation log for details.La validación del archivo SAF-T no pasa.Abre el registro de validación (validation log) y revisa el detalle.
SAF-T validation failed: %sLa validación falla y el mensaje trae el motivo.Lee el motivo tras los dos puntos.
Failed to fetch SAF-T schema from %s: %sNo se puede obtener el esquema SAF-T desde una dirección.El mensaje muestra la dirección y el detalle: revisa ambos.
SAF-T file must be an XML fileEl archivo SAF-T no es un XML.Usa un archivo XML.
Period start must be before period endEl inicio del período no es anterior al fin.Corrige las fechas para que el inicio quede antes que el fin.
XML export failed: %sFalla la exportación a XML.Lee el detalle tras los dos puntos.
CSV export failed: %sFalla la exportación a CSV.Lee el detalle tras los dos puntos.
Annual statistics generation failed: %sFalla la generación de estadísticas anuales.Lee el detalle tras los dos puntos.
NIF must be exactly 9 digits. Current value: %sEl NIF no tiene exactamente 9 dígitos.El mensaje enseña el valor actual: déjalo con exactamente 9 dígitos.
Invalid ATCUD endpoint URL formatEl formato de la URL del endpoint ATCUD no es válido.Revisa cómo está escrita la URL del endpoint.
ATCUD certificate and key must be configured in SAF-T settingsEl certificado y la clave de ATCUD no están configurados.Configúralos en los ajustes de SAF-T.
ATCUD rejected the submission. Check error log for details.ATCUD rechaza el envío.Revisa el registro de errores (error log).
Failed to contact ATCUD after %d attempts. Try again later.No se logra contactar con ATCUD tras varios intentos; el mensaje dice cuántos.Inténtalo más tarde.
ATCUD submission failed. Please try again later.Falla el envío a ATCUD.Inténtalo más tarde.
Submission can only be retried from error stateIntentas reintentar un envío que no está en estado de error.Reintenta solo envíos en estado de error.
No submissions found for this companyNo hay envíos para esa empresa.Comprueba que es la empresa que querías consultar.
No email configured for companyLa empresa no tiene correo configurado.Configura el correo de la empresa.
Email test failed: %sFalla la prueba de correo.Lee el detalle tras los dos puntos.
Several contacts match "%s": enter the email or the tax ID of the data subject.Varios contactos coinciden con lo que has indicado.Escribe el email o el identificador fiscal (tax ID) del interesado.
DSAR processing failed: %sFalla el procesamiento DSAR.Lee el detalle tras los dos puntos.

NIF, URL, correo y certificado: los avisos de datos

Un grupo de mensajes tiene que ver con datos que rellenas tú. El del NIF es el más directo: pide exactamente 9 dígitos y te enseña lo que hay guardado (Current value: %s), así ves de un vistazo qué sobra o qué falta. El de la URL (Invalid ATCUD endpoint URL format) solo dice que el formato no es válido, así que lo que toca es revisar cómo está escrita esa dirección.

Para enviar a ATCUD, el módulo pide certificado y clave en los ajustes de SAF-T: si no están, sale ATCUD certificate and key must be configured in SAF-T settings. Con el correo pasa algo parecido: No email configured for company indica que la empresa no tiene correo, y Email test failed: %s aparece cuando la prueba de correo no sale bien, con el detalle al final.

Formulario nuevo de configuración ATCUD con secciones de empresa, ATCUD, correo y notificaciones y subida
Formulario de configuración ATCUD en Invoicing, aún sin datos guardados: solo la URL del endpoint está rellena y la parte inferior queda cortada.

Los que te mandan al log o a esperar

Dos mensajes no traen el detalle dentro y te remiten a otro sitio: SAF-T validation failed. Check validation log for details. te manda al registro de validación, y ATCUD rejected the submission. Check error log for details. al registro de errores. En esos casos, la causa no está en la ventana del aviso, sino en el log que nombra el mensaje.

Otros dos solo piden paciencia: Failed to contact ATCUD after %d attempts. Try again later. y ATCUD submission failed. Please try again later. El primero te dice cuántos intentos ha hecho el módulo. En ambos, lo que indica el texto es volver a intentarlo más tarde.

Lista SAF-T Error Logs con cinco registros y columnas de fecha, tipo de error, severidad, mensaje y resuelto
Invoicing › SAF-T Error Logs: cinco registros con fecha, tipo, severidad y mensaje, y el indicador de resuelto sin marcar.

Generar, validar y reintentar: el orden que marcan los mensajes

Algunos avisos te dicen en qué orden trabajar. No SAF-T file generated. Run generation first. deja claro que primero hay que generar el archivo SAF-T. Submission can only be retried from error state marca que el reintento de un envío solo vale desde el estado de error. Y Period start must be before period end te obliga a que el inicio del período sea anterior al fin.

Si lo que te falla es el archivo en sí, fíjate en SAF-T file must be an XML file y en los de exportación (XML export failed: %s, CSV export failed: %s), que llevan el detalle al final. Para ver qué ajustes y estados recorre cada registro, tienes la puesta en marcha del módulo, y para los menús y tareas, cómo funciona por dentro.

Lista Generate SAF-T Files con seis registros de empresa, período y estado
Invoicing › SAF-T Accounting › Generate SAF-T Files: seis registros en Draft, Generated, Validated, Validation Failed y Submitted, con tamaño de archivo y transacciones a cero.
Recorrido por las listas de estadísticas anuales SAF-T, SAF-T Error Logs y Generate SAF-T Files
De las estadísticas anuales (empresa, año, total de documentos, valor total y estado Draft o Exported) a la lista de errores y a la de archivos SAF-T generados.

Cómo te ayuda FlexigoTech

Si un mensaje te deja bloqueado o quieres revisar la configuración antes de enviar, en FlexigoTech implantamos Odoo 17, 18, 19 y 20 y desarrollamos conectores e integraciones a medida. El módulo cuesta 9 € por versión de Odoo en Odoo Apps, pago único sin IVA, para 17, 18, 19 y 20 (ficha en Odoo Apps); el servicio local de FlexigoTech Cloud son 29 €/mes o 290 €/año sin IVA. Tienes todos los detalles en la página del módulo.

Sigue leyendo

Cómo funciona Portugal SAF-T (PT) File Checks en Odoo por dentroQué menús añade Portugal SAF-T (PT) File Checks en Facturación, qué modelos tiene detrás, qué estados ves en sus listas y qué parte usa un servicio externo.Puesta en marcha de Portugal SAF-T (PT) File Checks en Odoo, contada con un casoPuesta en marcha de Portugal SAF-T (PT) File Checks en Odoo con un caso inventado: configuración ATCUD, campos clave, estados y qué revisar la primera semana.Portugal SAF-T (PT) File Checks: qué cubre, qué necesitas antes y en qué versión de OdooQué cubre Portugal SAF-T (PT) File Checks según su README, qué necesitas antes de instalarlo (NIF, ATCUD, correo) y en qué versiones de Odoo está.
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas

Fuentes