SAFTCheck
Docs / invoice-status
invoice.status

Invoice status code and date consistency

InvoiceStatus must be one of N/S/A/R/F and InvoiceStatusDate must be >= InvoiceDate.

What this checks

Each <Invoice><DocumentStatus> block must satisfy two consistency rules:

  1. InvoiceStatus is one of the AT-defined codes: N, S, A, R, F.
  2. InvoiceStatusDate is greater than or equal to the invoice's own InvoiceDate.

The status codes

CodeMeaning
NNormal — the invoice is active and effective.
SSelf-billing.
AAnulada — annulled / voided.
RResumido — summary document (covers a period).
FFaturada — billed (intermediate state).

Why the date consistency matters

A status event cannot predate the document it refers to. AT rejects an invoice marked A on 2025-12-30 if the invoice itself was issued on 2026-01-15 — the timeline is impossible. Same logic as a refund happening before a sale.

Examples

InvoiceDateInvoiceStatusInvoiceStatusDateVerdict
2026-01-15N2026-01-15T10:00:00
2026-01-15A2026-01-20T09:00:00✓ annulment after issue
2026-01-15A2025-12-30T09:00:00✗ status before invoice
2026-01-15X2026-01-15✗ unknown status code

How to fix

Both are ERP data-integrity issues, not user-correctable in the SAF-T directly. Investigate the document in your accounting system and confirm: was it annulled retroactively? Was the timestamp on the status event clobbered? Re-export once the source data is consistent.

Other rules

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.