SAFTCheck
Documentazione / header-dates
header.dates

Date dell'header — StartDate, EndDate, FiscalYear, DateCreated

Invarianti temporali che l'AT impone sul blocco Header del SAF-T.

Cosa controlla l'AT

Il blocco Header del file SAF-T descrive il periodo coperto dal file e quando è stato generato. L'AT impone alcune invarianti su queste date:

CampoVincolo
StartDateLa prima data coperta dal file.
EndDateDeve essere strettamente successiva a StartDate.
FiscalYearDeve essere uguale all'anno solare di StartDate.
DateCreatedDev'essere uguale o successiva a EndDate — non puoi generare un file prima che termini il periodo coperto.

Sotto-regole applicate da SAFTCheck

  • header.dates.range — scatta quando StartDate ≥ EndDate.
  • header.dates.fiscal_year_mismatch — scatta quando FiscalYear non corrisponde all'anno di StartDate (warning).
  • header.dates.created_before_end — scatta quando DateCreated < EndDate (warning; l'AT può comunque accettare).
  • header.dates.future_end — scatta quando EndDate è nel futuro (warning).

Errori comuni

  • Cambio anno. Un file di gennaio con FiscalYear=2025 ma StartDate=2026-01-01. L'ERP ha cambiato anno su un campo ma non sull'altro.
  • Unità di periodo sbagliata. Inviare un trimestre quando l'AT si aspetta un mese — o viceversa. Le date dichiarano l'unità; il disallineamento con la finestra di invio è un controllo separato lato AT.
  • DateCreated impostata durante test. File esportati durante il setup dell'ERP riportano talvolta una DateCreated nel passato o nel futuro rispetto al momento reale di generazione.

Come correggere

  1. Controlla la selezione del periodo di esportazione nell'ERP: la maggior parte dei problemi viene dallo scegliere il mese di inizio/fine sbagliato.
  2. Se le date sono corrette e solo FiscalYear è errato, modifica l'impostazione dell'anno fiscale dell'azienda nell'ERP e riesporta. Per invii occasionali, l'editor inline può correggere FiscalYear direttamente nella pagina del risultato.
  3. Se DateCreated è nel futuro o prima di EndDate, sistema l'orologio di sistema dell'ERP e riesporta — oppure usa l'editor inline per il file immediato.

L'anomalia combinata header.dates.range (StartDate vs EndDate) non è modificabile come singolo campo — correggi StartDate o EndDate separatamente con l'editor inline, oppure riesporta.

Correlato

Altre regole

Usiamo un cookie di sessione per l'accesso, un cookie locale per la preferenza linguistica e Tawk.to per il widget di chat (che imposta i propri cookie quando apri la chat). Google Analytics (GA4) si carica solo dopo la tua accettazione, con anonimizzazione dell'IP; nessun tracker pubblicitario. Vedi la nostra Informativa sulla privacy.