Quando a Autoridade Tributária rejeita um ficheiro SAF-T, a mensagem raramente explica o que está mal. Esta página lista todos os erros de validação que encontramos nos ficheiros SAF-T portugueses — o que significam, porque acontecem e como os corrigir — na mesma ordem em que o validador gratuito do Chancela os deteta.
A AT espera Windows-1252. Use a correção automática do validador (botão 'Corrigir encoding') ou exporte novamente em Windows-1252 — ficheiros UTF-8 (sobretudo com BOM) são uma causa clássica de rejeição silenciosa.
O ficheiro não é XML válido — provavelmente foi corrompido ao reabrir/gravar num editor. Gere o ficheiro de novo a partir do software de faturação.
Elemento ou valor inválido face ao esquema oficial da Portaria 302/2016. Ver a linha indicada.
O NIF não passa a validação Módulo 11. Corrija o NIF no registo do cliente/fornecedor — a AT rejeita ficheiros com NIF portugueses inválidos.
AuditFileVersion tem de ser 1.04_01 (versão em vigor).
O ATCUD tem o formato CodigoValidacaoSerie-NumeroSequencial (ex.: CSDF7T5H-35). Confirme que a série foi comunicada à AT e que o código de validação (8 caracteres) está a ser usado.
ATCUD "0" só era aceitável antes de 2023-01-01. Documentos emitidos desde então devem ter ATCUD válido — risco de coima.
A soma das linhas não corresponde aos DocumentTotals (NetTotal/TaxPayable/GrossTotal). Reveja arredondamentos, descontos e taxas de câmbio.
O mesmo número de documento aparece mais de uma vez. A AT rejeita automaticamente duplicados (incluindo já comunicados por webservice).
InvoiceDate fora de StartDate/EndDate do cabeçalho. Corrija o período do ficheiro ou a data do documento.
Há saltos na numeração da série. Não é rejeição automática, mas gera inconsistências no e-Fatura e perguntas da AT.
O campo Hash não é uma assinatura plausível (base64, 172 caracteres) ou há hashes repetidos na mesma série. Não verificamos a assinatura RSA (exige a chave pública do software), mas cadeia repetida/malformada é causa de rejeição.
NumberOfEntries, TotalDebit ou TotalCredit do grupo (ex.: SalesInvoices) não correspondem aos documentos presentes.
TaxRegistrationNumber do cabeçalho não é um NIF português válido.
Datas incoerentes entre registo no sistema e emissão — reveja o relógio do sistema de faturação.
Não adivinhe qual destes erros tem o seu ficheiro — descubra em segundos.
Validar o meu SAF-T gratuitamenteSem registo · o ficheiro nunca é guardado
O portal da AT valida contra o esquema XSD oficial e devolve erros técnicos (ou, em alguns casos de encoding, rejeita silenciosamente). A causa mais comum de rejeição "sem explicação" é o ficheiro estar em UTF-8 quando a AT espera Windows-1252 — ver SAFT-001.
O validador oficial verifica a estrutura contra o esquema, mas devolve os erros em linguagem técnica de XSD e valida um ficheiro de cada vez. Além disso, há problemas que só se manifestam na submissão (encoding, por exemplo). Validar antecipadamente com explicações em português poupa a descoberta por tentativa e erro no dia do prazo.
A comunicação dos elementos das faturas (SAF-T de faturação ou webservice) deve ser feita até ao dia 5 do mês seguinte. Um ficheiro rejeitado perto do prazo é a principal fonte de stress — e o motivo pelo qual vale a pena validar antes. Se já entregou com erros, veja como substituir um SAF-T já entregue.
Raramente é boa ideia: os documentos têm hash assinado pelo software certificado, e edições manuais podem invalidar a assinatura (ver SAFT-012). O caminho certo é corrigir a origem no software de faturação e voltar a exportar.