SAFTCheck
Documentação / invoice-status
invoice.status

Consistência entre código de estado e data da fatura

InvoiceStatus tem de ser um de N/S/A/R/F e InvoiceStatusDate tem de ser >= InvoiceDate.

O que se verifica

Cada bloco <Invoice><DocumentStatus> tem de cumprir duas regras de consistência:

  1. InvoiceStatus é um dos códigos definidos pela AT: N, S, A, R, F.
  2. InvoiceStatusDate é maior ou igual ao InvoiceDate da própria fatura.

Os códigos de estado

CódigoSignificado
NNormal — a fatura está ativa e em vigor.
SAutofaturação.
AAnulada.
RResumido — documento que agrega um período.
FFaturada — estado intermédio.

Porque é que a consistência de data importa

Um evento de estado não pode ser anterior ao documento a que se refere. A AT rejeita uma fatura marcada como A a 2025-12-30 se a fatura tiver sido emitida a 2026-01-15 — a linha temporal é impossível. A mesma lógica de um reembolso anterior à venda.

Exemplos

InvoiceDateInvoiceStatusInvoiceStatusDateVeredicto
2026-01-15N2026-01-15T10:00:00
2026-01-15A2026-01-20T09:00:00✓ anulação posterior à emissão
2026-01-15A2025-12-30T09:00:00✗ estado antes da fatura
2026-01-15X2026-01-15✗ código de estado desconhecido

Como corrigir

Ambos são problemas de integridade de dados do ERP, não corrigíveis diretamente no SAF-T. Investigue o documento no sistema de contabilidade e confirme: foi anulado retroativamente? O timestamp do evento de estado foi sobrescrito? Volte a exportar quando os dados de origem estiverem consistentes.

Outras regras

Usamos um cookie de sessão para autenticação, um cookie de idioma para a preferência linguística e o Tawk.to para o widget de chat ao vivo (que define os seus próprios cookies quando abre o chat). O Google Analytics (GA4) só é carregado depois de aceitar, com anonimização de IP; sem rastreadores publicitários. Consulte a nossa Política de Privacidade.