Conservazione Documentale

Archivio locale con hash SHA-256 + retention 10 anni

v 2.2Certificato
1Panoramica
🔑 Visibilità condizionata (certificazione v 2.2) — Questo modulo è accessibile solo se:
Pacchetto CONTABILITA attivo sul workspace (configurabile da SUPERADMIN in /admin/pacchetti)
Profilo attività compatibile: Tutti i profili con obblighi fiscali
Permesso utente abilitato in Modifica Utente → Moduli
I tre livelli si applicano in intersezione. Dettagli completi in Gerarchia Pacchetti+Profilo+Utente.

Il modulo Conservazione implementa un archivio tecnico locale con tracciabilità crittografica (hash SHA-256) dei pacchetti di versamento.

Importante: questo modulo NON sostituisce la conservazione sostitutiva a norma (DMEF 17/06/2014), che richiede conservatore accreditato AgID esterno. Fornisce un livello tecnico che integra ma non sostituisce la conservazione formale.

Cosa fa il modulo:

  • Crea pacchetti di versamento locali con manifest JSON firmato (hash)
  • Salva i pacchetti in /opt/gestione/backend/conservazione/
  • Tiene traccia di retention 10 anni per ogni pacchetto
  • Permette verifica integrità a posteriori (hash calcolato vs hash memorizzato)
  • Opzionalmente registra il riferimento AgID se il pacchetto è poi inviato a conservatore esterno
2Tipologie di pacchetto
TipologiaContenuto
FATTURE_EMESSETutte le fatture EMESSO/INVIATO/PAGATO dell'anno
REGISTRI_IVAChiusure registri IVA dell'anno (con hash originale)
PRIMA_NOTARegistrazioni Prima Nota CONFERMATO/DEFINITIVO

Ogni tipologia produce un manifest JSON con lista completa dei documenti (metadati essenziali) e hash aggregato SHA-256 per rilevare alterazioni successive.

3Creare un pacchetto
  1. Endpoint: POST /api/conservazione/pacchetti (ADMIN)
  2. Body: { anno: 2026, periodo?: "Q1", tipologia: "FATTURE_EMESSE"|"REGISTRI_IVA"|"PRIMA_NOTA", note?: "..." }
  3. Il sistema raccoglie i documenti, costruisce il manifest, calcola l'hash, scrive il file su disco.
  4. Stato iniziale: LOCALE (archivio tecnico locale).
  5. Scadenza conservazione: automatica a +10 anni dalla creazione (art. 2220 c.c.).

Il pacchetto ritorna: id, hash, documentiCount, storagePath, dimensione, scadenzaConservazione.

4Verifica integrità

L'integrità di un pacchetto si verifica confrontando l'hash al momento della creazione con l'hash calcolato attualmente sul file e sul manifest in DB.

Verifica singola

Endpoint: GET /api/conservazione/pacchetti/:id/verifica

Risposta: { esito: "OK"|"HASH_DB_MISMATCH"|"HASH_FILE_MISMATCH"|"FILE_MANCANTE", storedHash, hashDb, hashFile, fileEsiste, dettagli }

Ogni verifica lascia traccia in log_verifica_conservazione.

Verifica massiva

Endpoint: POST /api/conservazione/verifica-tutti (ADMIN)

Esegue verifica su tutti i pacchetti e restituisce aggregato degli esiti.

Pianificare verifica massiva almeno trimestrale per rilevare bitrot, corruzione storage, eliminazioni accidentali.
5Integrazione con conservatore AgID

Quando il pacchetto viene inviato a un conservatore accreditato AgID esterno, è possibile registrare il riferimento di conservazione restituito dal conservatore stesso (il codice identificativo univoco che serve per le verifiche fiscali).

Operativamente: aprire il pacchetto conservato e inserire nel campo “Riferimento conservatore” il codice ricevuto. Lo stato passa a CONSERVATO AGID.

L'integrazione automatica con API di conservatori accreditati (Aruba, InfoCert, Namirial) è in roadmap v 2.3. Richiede contratto commerciale con il conservatore.
6Manifesto di conservazione annuale

Dal 2026 il gestionale può produrre in un click un Manifesto di conservazione: un file JSON “firmato” che raccoglie l'elenco di tutti i documenti fiscalmente rilevanti dell'anno con:

  • Un'impronta digitale (hash SHA-256) per ciascun documento — serve per provare che non è stato modificato
  • Un'impronta aggregata di tutto il gruppo
  • Una firma digitale con data e firmatario
  • Una marca temporale (timestamp) che attesta il momento esatto

A cosa serve

In caso di verifica fiscale o accertamento puoi dimostrare tramite il manifesto che alla data X hai conservato i documenti Y1, Y2, Y3... senza modifiche successive. È un completamento al formato UniSInCro delle Linee Guida AgID.

Come si genera

  1. Vai su Contabilità → Registri IVA
  2. Imposta l'anno di interesse
  3. Clicca Scarica Manifesto Conservazione dal menu azioni
  4. Il gestionale restituisce un file JSON con tutti i dati sopra descritti

Il file pesa pochi KB (contiene solo metadata + hash, non i payload dei documenti). Stampalo, archivialo o caricalo sul conservatore AgID.

Verifica successiva del manifesto

Se hai un manifesto scaricato in passato e vuoi verificare che non sia stato manomesso, basta ricaricarlo:

  1. Apri la funzione Verifica manifesto
  2. Incolla o carica il JSON
  3. Il sistema ricalcola gli hash e confronta con quelli nel file
  4. Risposta: VALIDO oppure MANOMESSO (con dettaglio di cosa non torna)
La firma digitale nel manifesto è al momento una firma interna (mock). Per una firma qualificata CAdES con valore legale, si integra un provider esterno (Aruba Firma Remota, InfoCert, Namirial) — roadmap v 2.3.