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

Portugal SAF-T (PT) File Checks: qué cubre, qué necesitas antes y en qué versión de Odoo

Portugal SAF-T (PT) File Checks encaja si llevas en Odoo la contabilidad de una empresa portuguesa y quieres generar desde ahí el fichero SAF-T v1.03, validarlo contra el esquema XSD de la autoridad tributaria portuguesa y enviarlo al portal ATCUD. Antes de instalarlo necesitas un servidor de correo saliente, el NIF de la empresa, la URL y las credenciales del endpoint ATCUD y, si ATCUD lo pide, un certificado digital. Está publicado en Odoo Apps para Odoo 17.0, 18.0, 19.0 y 20.0.

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

Qué cubre el módulo según su README

El README organiza las funciones en requisitos numerados (FR) y en secciones con letra. El núcleo son estos requisitos:

  • Generación del XML SAF-T v1.03 (FR-001): crea los ficheros a partir de los datos contables de Odoo.
  • Validación contra el esquema XSD (FR-002): el módulo comprueba el fichero contra el esquema de la autoridad tributaria portuguesa.
  • Envío directo al portal ATCUD (FR-003): con lógica de reintento automático.
  • Errores y excepciones (FR-004): registro detallado de errores y mensajes pensados para el usuario.
  • Interfaz de configuración (FR-005): gestión de credenciales, correo y ajustes de envío.

Alrededor de ese núcleo, el README describe estas otras piezas:

  • Multiempresa: seguimiento de los envíos por empresa, con trazas de auditoría separadas.
  • RGPD (sección C): menciona 10-year mandatory retention override y un flujo DSAR con plantillas de respuesta legal.
  • Notificaciones por correo (sección D): guía sobre DKIM/SPF/DMARC y confirmaciones de envío.
  • Estadísticas anuales (sección E): exportación y envío del informe anual.
  • Observabilidad (sección F): logs en JSON, métricas de Prometheus e integración con Sentry.
  • Protección antiabuso (sección G): limitación de peticiones, campos trampa (honeypot) y CAPTCHA en formularios públicos.
  • Ficheros grandes (sección H): subida por trozos con análisis antivirus.
  • Chatter (sección I): conversación en los envíos, con confidencialidad.
  • Rendimiento (sección J): seguimiento del SLO p99.
  • DSAR (sección K): seguimiento de la base legal y automatización de respuestas.
  • Idiomas (sección L): interfaces multilingües.
Lista Generate SAF-T Files con registros por empresa, período y estado
La lista de generación de ficheros SAF-T con seis registros en estados Draft, Generated, Validated, Validation Failed y Submitted; tamaño de archivo y transacciones a cero.

Qué hace el módulo y qué pones tú

Para decidir, separa lo que el README atribuye al módulo de lo que tienes que aportar tú. Esta tabla junta las dos cosas con lo que dice la documentación.

NecesidadLo hace el módulo (README)Lo preparas tú (README)
Generar el fichero SAF-TGenera XML SAF-T v1.03 con los datos contables de OdooElegir empresa y período en Generate SAF-T Files
Validar el ficheroValida contra el esquema XSD de la autoridad tributaria portuguesaPulsar Generate SAF-T; después el sistema valida
Enviar a ATCUDEnvío directo al portal con reintento automáticoURL del endpoint ATCUD, credenciales y certificado digital si ATCUD lo pide
Saber qué ha falladoRegistro detallado de errores y mensajes para el usuarioRevisar los errores registrados
Confirmaciones por correoConfirmaciones de envío y guía DKIM/SPF/DMARCOutgoing Mail Server con credenciales SMTP, remitente y dirección para confirmaciones
Varias empresasSeguimiento por empresa con trazas de auditoría separadasCredenciales de envío ATCUD en los ajustes de la empresa
Informe anualExportación y envío de estadísticas anualesNo lo detalla el README
Formularios públicosLimitación de peticiones, honeypot y CAPTCHAConfigurar la limitación de peticiones y la prevención de abusos

La columna de la derecha es la que te dice si puedes arrancar ya. La URL y las credenciales del endpoint ATCUD y el servidor de correo saliente forman parte de los pasos de configuración que describe el README. Si te falta alguno, consíguelo antes de instalar.

Lista SAF-T Error Logs con fecha, tipo de error, severidad y mensaje
El registro de errores SAF-T con cinco entradas: fecha, tipo de error, severidad, mensaje e indicador de resuelto sin marcar.

Si te pasa esto, te conviene

  • Llevas la contabilidad de una empresa portuguesa en Odoo y quieres sacar el SAF-T desde ahí: el módulo cubre generar, validar y enviar el fichero (FR-001 a FR-003).
  • Tienes varias sociedades en la misma base de datos: el README habla de soporte multiempresa con trazas de auditoría separadas por empresa.
  • Aún no tienes acceso a ATCUD: pide antes la URL del endpoint y las credenciales, porque los ajustes del módulo las solicitan, igual que el certificado digital si ATCUD lo exige.
  • Tu equipo técnico quiere vigilar el servicio: el README menciona logs en JSON, métricas de Prometheus, Sentry y seguimiento del SLO p99.
  • Trabajáis en varios idiomas: el README incluye interfaces multilingües (sección L).
  • Necesitas algo que no aparece en la lista de funciones: no lo des por hecho. Pregúntalo antes de comprar o valora un desarrollo a medida.

Si quieres ver qué menús añade y cómo recorre un registro sus estados, lo explicamos en cómo funciona Portugal SAF-T (PT) File Checks por dentro.

Lista Annual SAF-T Statistics con empresa, año, documentos, valor y estado
Las estadísticas anuales SAF-T con cinco filas por empresa y año, total de documentos, valor total y estado Borrador o Exportado.

Qué tener listo antes de instalarlo

En el servidor

  • Odoo instalado: los pasos de instalación del README empiezan por Ensure you have Odoo 19 installed, mientras que en Odoo Apps el módulo está publicado para 17.0, 18.0, 19.0 y 20.0. Mira la ficha de la versión que usas.
  • Paquetes de Python: el README tiene un paso Install required Python packages. Revisa la lista en el README del módulo antes de instalar.
  • Directorio de addons: copiar el módulo al directorio de addons de Odoo.
  • Instalación: en Odoo, Apps, buscar Portugal SAF-T y pulsar Install.

En Odoo

  • Correo: en Settings → General Settings, sección Emails, configurar Outgoing Mail Server con tus credenciales SMTP y la dirección del remitente.
  • Ajustes SAF-T: en Accounting → Configuration → SAF-T Accounting → Settings, el NIF (Número de Identificação Fiscal), la URL del endpoint ATCUD con sus credenciales y el certificado digital si ATCUD lo pide.
  • Ajustes de la empresa: credenciales de envío ATCUD, dirección de correo para las confirmaciones de envío y la limitación de peticiones y prevención de abusos.

En las capturas, las listas del módulo aparecen bajo Invoicing, mientras que el README escribe las rutas con Accounting. Si no encuentras un menú, búscalo en los dos.

El recorrido completo de ajustes y campos está en la puesta en marcha de Portugal SAF-T (PT) File Checks.

Versiones de Odoo y precio

En Odoo Apps cuesta 9 € por versión de Odoo, pago único, sin IVA, para 17.0, 18.0, 19.0 y 20.0. Es un módulo con servicio local de FlexigoTech Cloud, que cuesta 29 €/mes o 290 €/año sin IVA (Pro: 58 €/mes o 580 €/año).

Con la suscripción, el módulo para las versiones nuevas de Odoo va incluido si lo compraste en flexigotech.com; en el Odoo App Store, cada versión de Odoo se compra allí. Sin suscripción, o con el servicio suspendido, se para lo que da la suscripción y los datos se quedan en tu Odoo.

Cómo probarlo con un período antes de decidir

El README describe así la generación de un fichero; puedes seguirlo con un período para verlo funcionar con tus datos:

  1. Ve a Accounting → SAF-T Accounting → Generate SAF-T Files.
  2. Pulsa Create para empezar una generación nueva.
  3. Elige la empresa y el período.
  4. Pulsa el botón Generate SAF-T.
  5. El sistema valida el fichero contra el esquema XSD.

Si la validación o el envío fallan, en los mensajes de error de Portugal SAF-T (PT) File Checks tienes cuándo sale cada uno y qué hacer.

Dónde te ayuda FlexigoTech

Implantamos Odoo 17, 18, 19 y 20 y desarrollamos conectores e integraciones a medida. Si el módulo cubre casi todo lo que necesitas pero te falta una pieza, o quieres ayuda para dejar listos el correo, el NIF y el acceso a ATCUD, cuéntanoslo desde la página del módulo. También puedes revisar la ficha en Odoo Apps de tu versión.

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.Errores de Portugal SAF-T (PT) File Checks: cuándo sale cada mensaje y qué hacerCada mensaje de error de Portugal SAF-T (PT) File Checks con su texto literal: cuándo sale, qué significa y qué hacer en Odoo, de la generación al envío ATCUD.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.
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas

Fuentes