Validador saft PT — valide o ficheiro grátis online

Verifica o XML SAF-T (PT) antes de o entregar: versão 1.04_01, ATCUD, campos do QR code, hash, numeracao e totais linha a linha. Roda inteiramente no seu navegador — nada é enviado.

O mesmo motor da extensão do VS Code, byte a byte.

Instalar grátis

Grátis para o arquivo aberto no editor: sem chave, sem limite. A varredura do workspace e o relatório pedem uma chave.

VS Code MarketplaceOpen VSX (Cursor, VSCodium)npmMCP server (npx)Docker Hub
ext install ReadyStack.saft-pt-atcud-lint
npx @readystack/saft-pt-atcud-lint <file>
npx @readystack/saft-pt-atcud-lint --mcp

Equipe: uma chave para todos os linters ReadyStack, 5 assentos, $149 uma vez

Receba a tabela completa de regras em PDF
As 14 regras que o SAF-T (PT) + ATCUD Lint verifica, cada uma com a fonte e a data, em páginas para imprimir e entregar à equipe ou ao auditor. Enviamos agora por e-mail e só mais uma vez se uma regra mudar. Sem newsletter.

Receber a versão completa $29

Corre as mesmas 14 verificações em toda a pasta de exportações e grava um relatório CSV/JSON por ficheiro para o contabilista arquivar.

Um único pagamento, uma chave de licença para esta ferramenta. A chave aparece logo após o pagamento.

Rever os mesmos 14 pontos à mão: 3 documentos e 187 linhas de XML por exportação, e reexportar o período inteiro quando a AT devolve o ficheiro.

Comprar a versão completa — $29
ENDEJAESPT

Encontrar uma ferramenta

· ReadyStack

Exemplo resolvido

Números reais desta ferramenta, linha por linha.

SAF-T (PT) + ATCUD Lint

18 achados em 187 linhas: é o que a exportação SAF-T (PT) de uma software house de Lisboa devolve quando é lida antes de subir ao Portal das Finanças. O ficheiro está bem-formado, abre em qualquer editor, e nenhum dos 18 problemas é visível a olho.

O SAF-T (PT) é um ficheiro que só é julgado no fim. O programa de faturação exporta, o utilizador submete, e é a AT que responde — normalmente com um erro de cada vez. Corrigir esse erro significa alterar o programa, reexportar o período inteiro e voltar a submeter. Quem já passou por isto sabe que o custo não é o erro: é o ciclo.

A extensão SAF-T (PT) + ATCUD Lint lê o XML aberto no VS Code e corre 14 verificações sobre o texto, sem enviar nada para lado nenhum. O ficheiro de exemplo sujo que acompanha a extensão tem 187 linhas e 3 documentos e devolve 18 achados: 15 erros e 3 avisos. O ficheiro limpo, com 162 linhas, devolve 0.

O que aparece nesses 18 achados é sempre o mesmo tipo de coisa. AuditFileVersion a dizer 1.04 quando o esquema em vigor é o 1.04_01 da Portaria 302/2016. Um ATCUD escrito em minúsculas — jfv5zxpt-12 — quando o código de validação é sempre em maiúsculas. Um ATCUD que termina em -9 num documento cujo número termina em /13: a sequência do ATCUD tem de coincidir com a numeração do documento, e é o género de erro que aparece quando a série é renumerada a meio do ano. Um hash com 40 caracteres, quando a assinatura RSA-1024/SHA-1 em base64 tem sempre 172. Um GrossTotal de 492.00 quando NetTotal mais imposto dá 484.00.

E depois há a regra que muda dentro do mesmo país. As taxas de IVA em Portugal não são uma lista: são três. No continente, 0/6/13/23. Nos Açores, 0/4/9/16. Na Madeira, 0/4/5/12/22. Uma linha com TaxCountryRegion PT-MA e TaxPercentage 23 é um erro — e é um erro que nenhum parser de XML apanha, porque o documento continua perfeitamente bem-formado. É também exatamente o sítio onde o código gerado automaticamente falha: a taxa normal que o modelo escreve é a do continente.

O mesmo vale para o dígito de controlo do NIF. 501843247 e 501843248 são visualmente indistinguíveis numa lista de clientes; só um deles passa no módulo 11. A extensão confere o NIF do emitente e o de cada cliente do MasterFiles, e diz qual é o cliente.

Doze campos do QR code — A, B, C, D, E, F, G, H, N, O, Q e R — dependem de dados que têm de existir no XML. Quando falta o país do cliente, o QR não se imprime completo; a extensão diz que letras ficaram por preencher e em que documento.

O que é grátis: o ficheiro aberto é analisado por inteiro. As 14 verificações, todos os achados, com o número da linha e o documento. Sem marca de água, sem contador de utilizações, sem função tapada. Para quem exporta um ficheiro de cada vez, isto é o trabalho todo.

A chave de licença acrescenta outro eixo, não outra metade do mesmo: correr a mesma análise em toda a pasta de exportações de uma vez e gravar um relatório CSV/JSON por ficheiro — o ficheiro de prova que o contabilista arquiva.

A mesma análise corre também numa página só, no browser, com o mesmo motor: cola-se o XML, escolhe-se a data de hoje, e os achados aparecem com a linha. À mão, o trabalho equivalente é percorrer 187 linhas e 3 documentos por exportação, conferir o ATCUD contra a numeração documento a documento, e repetir tudo quando a AT devolve o ficheiro.

15 segundos — o que ela faz de verdade

Perguntas frequentes

O que é que esta extensão faz ao meu ficheiro SAF-T?

Lê o XML SAF-T (PT) aberto e corre 14 verificações. No exemplo sujo apanha AuditFileVersion 1.04 em vez de 1.04_01, ATCUD jfv5zxpt-12 em minúsculas, ATCUD terminado em -9 no documento /13, IVA 23% em PT-MA, GrossTotal 492.00 quando NetTotal mais imposto dá 484.00, e um hash de 40 caracteres em vez de 172. Cada achado traz a linha.

Para quem é?

Para quem em Portugal gera o ficheiro: programadores de software de faturação, equipas de ERP e contabilistas que recebem a exportação do cliente. No ficheiro de exemplo sujo, de 187 linhas e 3 documentos, a análise devolve 18 achados; no ficheiro limpo de 162 linhas devolve 0.

Porque não chega o validador da AT ou um chatbot?

O validador da AT só responde depois do upload e aponta um erro de cada vez, o que obriga a reexportar o período inteiro. Um chatbot não confere o dígito de controlo do NIF nem sabe que 23% não existe na Madeira: as taxas válidas são 0/6/13/23 no continente, 0/4/9/16 nos Açores e 0/4/5/12/22 na Madeira.

O que é gratuito e o que é que a chave acrescenta?

Grátis: o ficheiro aberto é analisado por inteiro, com as 14 verificações e todos os achados, sem limite de utilizações e sem marca de água. A chave acrescenta outro eixo: correr a mesma análise em toda a pasta de exportações de uma vez e gravar um relatório CSV/JSON por ficheiro para arquivo.

Quanto custa fazer isto à mão?

À mão significa percorrer 187 linhas de XML e 3 documentos em cada exportação, conferir o ATCUD contra a numeração documento a documento e voltar a exportar o período inteiro quando a AT devolve o ficheiro. A extensão faz as 14 verificações no ficheiro aberto, no editor, antes do upload.

Por que não perguntar ao ChatGPT ou a outra IA?

Um chat de IA genérico responde com dados de treino com data de corte, não lê o seu repositório e não indica a versão da norma. SAF-T XML Lint (PT) - ATCUD, QR code, hash, NIF, AT verifica o arquivo aberto com 14 regras de um conjunto datado de 2026-09-20 e aponta a linha exata. Para uma declaração, uma auditoria ou um cliente você precisa desse resultado datado nos seus próprios arquivos.

Pergunte sobre esta ferramenta

Uma pergunta, respondida por quem a construiu. Email só se quiser a resposta por correio.

Incorpore esta ferramenta no seu site (grátis)

Cole este código na sua página. Ele roda no navegador dos seus visitantes e fica sempre atualizado. Nada do que digitam é guardado.

 Todas as ferramentas para incorporar

Para empresas: seu nome e logo no lugar do nosso, e o resultado + e-mail de cada visitante na sua caixa (só com o consentimento dele) — Pro a partir de US$ 19/mês. Ver Pro →

O que muda em 2027: todas as datas com fonte oficial →