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:
| Campo | Vincolo |
|---|---|
StartDate | La prima data coperta dal file. |
EndDate | Deve essere strettamente successiva a StartDate. |
FiscalYear | Deve essere uguale all'anno solare di StartDate. |
DateCreated | Dev'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 quandoStartDate ≥ EndDate.header.dates.fiscal_year_mismatch— scatta quandoFiscalYearnon corrisponde all'anno diStartDate(warning).header.dates.created_before_end— scatta quandoDateCreated < EndDate(warning; l'AT può comunque accettare).header.dates.future_end— scatta quandoEndDateè nel futuro (warning).
Errori comuni
- Cambio anno. Un file di gennaio con
FiscalYear=2025maStartDate=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
DateCreatednel passato o nel futuro rispetto al momento reale di generazione.
Come correggere
- Controlla la selezione del periodo di esportazione nell'ERP: la maggior parte dei problemi viene dallo scegliere il mese di inizio/fine sbagliato.
- 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
FiscalYeardirettamente nella pagina del risultato. - Se
DateCreatedè nel futuro o prima diEndDate, 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
- Editor inline — correggi FiscalYear / EndDate / DateCreated sul posto.
- Guida: scadenze di invio del SAF-T e flusso di rifiuto dell'AT