O que o módulo cobre segundo o README
O README organiza as funcionalidades em requisitos numerados (FR) e em secções com letra. O núcleo são estes requisitos:
- Geração do XML SAF-T v1.03 (FR-001): cria os ficheiros a partir dos dados contabilísticos do Odoo.
- Validação contra o esquema XSD (FR-002): o módulo verifica o ficheiro contra o esquema da autoridade tributária portuguesa.
- Envio direto para o portal ATCUD (FR-003): com lógica de nova tentativa automática.
- Erros e exceções (FR-004): registo detalhado de erros e mensagens pensadas para o utilizador.
- Interface de configuração (FR-005): gestão de credenciais, e-mail e definições de envio.
À volta desse núcleo, o README descreve estas outras peças:
- Multiempresa: acompanhamento dos envios por empresa, com registos de auditoria separados.
- RGPD (secção C): menciona
10-year mandatory retention overridee um fluxo DSAR com modelos de resposta legal. - Notificações por e-mail (secção D): orientações sobre DKIM/SPF/DMARC e confirmações de envio.
- Estatísticas anuais (secção E): exportação e envio do relatório anual.
- Observabilidade (secção F): logs em JSON, métricas do Prometheus e integração com o Sentry.
- Proteção contra abusos (secção G): limitação de pedidos, campos armadilha (honeypot) e CAPTCHA em formulários públicos.
- Ficheiros grandes (secção H): carregamento por partes com análise antivírus.
- Chatter (secção I): conversação nos envios, com confidencialidade.
- Desempenho (secção J): acompanhamento do SLO p99.
- DSAR (secção K): acompanhamento da base legal e automatização de respostas.
- Idiomas (secção L): interfaces multilingues.

O que faz o módulo e o que tem de pôr da sua parte
Para decidir, separe o que o README atribui ao módulo daquilo que tem de fornecer. Esta tabela junta as duas coisas com base na documentação.
| Necessidade | Feito pelo módulo (README) | Preparado por si (README) |
|---|---|---|
| Gerar o ficheiro SAF-T | Gera XML SAF-T v1.03 com os dados contabilísticos do Odoo | Escolher empresa e período em Generate SAF-T Files |
| Validar o ficheiro | Valida contra o esquema XSD da autoridade tributária portuguesa | Clicar em Generate SAF-T; depois o sistema valida |
| Enviar para o ATCUD | Envio direto para o portal com nova tentativa automática | URL do endpoint ATCUD, credenciais e certificado digital se o ATCUD o pedir |
| Saber o que falhou | Registo detalhado de erros e mensagens para o utilizador | Rever os erros registados |
| Confirmações por e-mail | Confirmações de envio e orientações DKIM/SPF/DMARC | Outgoing Mail Server com credenciais SMTP, remetente e endereço para confirmações |
| Várias empresas | Acompanhamento por empresa com registos de auditoria separados | Credenciais de envio ATCUD nas definições da empresa |
| Relatório anual | Exportação e envio de estatísticas anuais | O README não detalha |
| Formulários públicos | Limitação de pedidos, honeypot e CAPTCHA | Configurar a limitação de pedidos e a prevenção de abusos |
A coluna da direita é a que lhe diz se pode arrancar já. O URL e as credenciais do endpoint ATCUD e o servidor de e-mail de saída fazem parte dos passos de configuração que o README descreve. Se lhe faltar algum, trate disso antes de instalar.

Se isto lhe acontece, compensa
- Tem a contabilidade de uma empresa portuguesa no Odoo e quer tirar o SAF-T daí: o módulo cobre gerar, validar e enviar o ficheiro (FR-001 a FR-003).
- Tem várias sociedades na mesma base de dados: o README fala de suporte multiempresa com registos de auditoria separados por empresa.
- Ainda não tem acesso ao ATCUD: peça antes o URL do endpoint e as credenciais, porque as definições do módulo pedem-nos, tal como o certificado digital se o ATCUD o exigir.
- A sua equipa técnica quer monitorizar o serviço: o README menciona logs em JSON, métricas do Prometheus, Sentry e acompanhamento do SLO p99.
- Trabalham em vários idiomas: o README inclui interfaces multilingues (secção L).
- Precisa de algo que não aparece na lista de funcionalidades: não o dê como certo. Pergunte antes de comprar ou pondere um desenvolvimento à medida.
Se quiser ver que menus acrescenta e como um registo percorre os seus estados, explicamos isso em como funciona o Portugal SAF-T (PT) File Checks por dentro.

O que ter pronto antes de o instalar
No servidor
- Odoo instalado: os passos de instalação do README começam por
Ensure you have Odoo 19 installed, enquanto no Odoo Apps o módulo está publicado para 17.0, 18.0, 19.0 e 20.0. Consulte a ficha da versão que usa. - Pacotes Python: o README tem um passo
Install required Python packages. Reveja a lista no README do módulo antes de instalar. - Diretório de addons: copiar o módulo para o diretório de addons do Odoo.
- Instalação: no Odoo,
Apps, procurarPortugal SAF-Te clicar emInstall.
No Odoo
- E-mail: em
Settings → General Settings, secçãoEmails, configurar oOutgoing Mail Servercom as suas credenciais SMTP e o endereço do remetente. - Definições SAF-T: em
Accounting → Configuration → SAF-T Accounting → Settings, o NIF (Número de Identificação Fiscal), o URL do endpoint ATCUD com as respetivas credenciais e o certificado digital se o ATCUD o pedir. - Definições da empresa: credenciais de envio ATCUD, endereço de e-mail para as confirmações de envio e a limitação de pedidos e prevenção de abusos.
Nas capturas, as listas do módulo aparecem em Invoicing, enquanto o README escreve os caminhos com Accounting. Se não encontrar um menu, procure nos dois.
O percurso completo de definições e campos está em a configuração do Portugal SAF-T (PT) File Checks.
Versões do Odoo e preço
No Odoo Apps custa 9 € por versão do Odoo, pagamento único, sem IVA, para 17.0, 18.0, 19.0 e 20.0. É um módulo com serviço local da FlexigoTech Cloud, que custa 29 €/mês ou 290 €/ano sem IVA (Pro: 58 €/mês ou 580 €/ano).
Com a subscrição, o módulo para as novas versões do Odoo está incluído se o comprou em flexigotech.com; na Odoo App Store, cada versão do Odoo compra-se lá. Sem subscrição, ou com o serviço suspenso, para o que a subscrição fornece e os dados ficam no seu Odoo.
Como testá-lo com um período antes de decidir
O README descreve assim a geração de um ficheiro; pode segui-lo com um período para o ver a funcionar com os seus dados:
- Vá a
Accounting → SAF-T Accounting → Generate SAF-T Files. - Clique em
Createpara começar uma nova geração. - Escolha a empresa e o período.
- Clique no botão
Generate SAF-T. - O sistema valida o ficheiro contra o esquema XSD.
Se a validação ou o envio falharem, em as mensagens de erro do Portugal SAF-T (PT) File Checks tem quando aparece cada uma e o que fazer.
Onde a FlexigoTech o ajuda
Implementamos Odoo 17, 18, 19 e 20 e desenvolvemos conectores e integrações à medida. Se o módulo cobre quase tudo o que precisa mas lhe falta uma peça, ou quer ajuda para deixar prontos o e-mail, o NIF e o acesso ao ATCUD, fale connosco através da página do módulo. Também pode consultar a ficha no Odoo Apps da sua versão.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_portugal_saf_t_accounting_atcud_submission_tool 20.0 (6935c20f): README.rst
- apps.odoo.com/apps/modules/20.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- apps.odoo.com/apps/modules/17.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- apps.odoo.com/apps/modules/18.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- apps.odoo.com/apps/modules/19.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
