⌂ Self-hosting

Paperless-ngx: archiviare bollette e documenti con l'OCR

Come usare Paperless-ngx per digitalizzare la carta di casa: scansione, OCR, etichette, corrispondenti e regole automatiche per ritrovare tutto subito.

Bollette, contratti, garanzie, referti, ricevute fiscali: ogni casa accumula carta che va conservata per anni e che, quando serve, non si trova mai. Paperless-ngx è un'applicazione open source che trasforma questo archivio in un database consultabile: si scansiona un documento, il sistema ne estrae il testo con l'OCR, lo classifica e lo rende ricercabile per parole contenute nel testo, non solo per nome del file.

Come funziona il flusso

Il cuore di Paperless-ngx è la cartella di acquisizione (consume folder). Tutto ciò che vi finisce dentro viene preso in carico automaticamente:

  1. il file (PDF, immagine, ma anche email o documenti d'ufficio con i componenti opzionali) viene letto;
  2. l'OCR, basato su Tesseract tramite OCRmyPDF, riconosce il testo;
  3. viene creata una versione d'archivio in PDF/A con il testo selezionabile, mantenendo anche l'originale;
  4. le regole di assegnazione attribuiscono etichette, corrispondente e tipo di documento;
  5. il file originale viene rimosso dalla cartella di acquisizione.

La cartella può essere condivisa in rete, così lo scanner o il telefono possono salvare direttamente lì. Molti scanner da ufficio permettono di inviare i file verso una cartella condivisa: è la configurazione più comoda, perché basta premere un pulsante.

Installazione e lingua dell'OCR

Il progetto fornisce file Docker Compose già pronti, con PostgreSQL o MariaDB come database e Redis come coda. Un dettaglio spesso trascurato è la lingua dell'OCR: per documenti italiani bisogna impostarla esplicitamente, altrimenti accenti e parole vengono riconosciuti male.

environment:
  PAPERLESS_OCR_LANGUAGE: "ita+eng"
  PAPERLESS_TIME_ZONE: "Europe/Rome"
  PAPERLESS_FILENAME_FORMAT: "{{ created_year }}/{{ correspondent }}/{{ title }}"

Il formato dei nomi dei file determina come i documenti vengono organizzati sul disco. Non è indispensabile, perché si lavora quasi sempre dall'interfaccia, ma rende l'archivio leggibile anche senza l'applicazione: un vantaggio enorme se un giorno si decidesse di abbandonarla.

Le quattro dimensioni dell'archivio

Paperless-ngx organizza i documenti su più assi indipendenti, ed è utile capire quale usare per cosa:

Campo Esempio Uso
Corrispondente fornitore di energia, banca, medico chi ha emesso il documento
Tipo di documento bolletta, contratto, garanzia che cos'è
Etichette casa, auto, fiscale 2025 temi trasversali, anche più di una
Percorso di archiviazione Casa/Utenze dove finisce il file sul disco

A questi si aggiungono i campi personalizzati, per esempio una data di scadenza o un importo, utili per garanzie e assicurazioni.

Automatizzare la classificazione

Per ogni corrispondente, tipo ed etichetta si può scegliere un algoritmo di assegnazione:

  • parola esatta o qualsiasi parola: il documento riceve l'etichetta se contiene un certo termine, per esempio il numero cliente di un contratto;
  • espressione regolare: per schemi più complessi;
  • automatico: Paperless-ngx impara dalle classificazioni fatte a mano e propone l'assegnazione per i documenti simili.

L'approccio che funziona meglio è iniziare con l'automatico e correggere i primi documenti con pazienza: dopo qualche decina di esempi per categoria le proposte diventano affidabili. Per i casi critici, come il codice cliente di un'utenza, una regola esatta è più sicura.

I flussi di lavoro permettono inoltre di agire al momento dell'acquisizione: per esempio, tutti i file provenienti da una certa sottocartella ricevono l'etichetta «da verificare».

Acquisire anche la posta

Paperless-ngx può controllare una casella email via IMAP e importare gli allegati che rispettano certi criteri, come mittente o oggetto. È ideale per le fatture che arrivano solo in formato elettronico: si crea una regola per mittente e il documento entra nell'archivio senza intervento manuale.

Scansionare bene

La qualità dell'OCR dipende dalla scansione:

  • una risoluzione di 300 dpi è il compromesso abituale tra leggibilità e dimensione;
  • il bianco e nero o la scala di grigi bastano per la maggior parte dei documenti testuali;
  • lo scanner con alimentatore automatico e fronte-retro fa risparmiare molto tempo;
  • un'app di scansione sul telefono va bene per documenti occasionali, purché raddrizzi la pagina.

Un trucco utile: un foglio con un codice speciale di separazione (le cosiddette pagine barcode) permette di scansionare una pila di documenti in un unico file e farla dividere automaticamente.

Backup ed esportazione

Paperless-ngx include lo strumento document_exporter, che esporta originali, versioni d'archivio e metadati in una cartella. È il modo più sicuro per fare backup coerenti e per migrare a una nuova installazione:

docker compose exec webserver document_exporter ../export

La cartella di esportazione va poi copiata con il normale sistema di backup, cifrata, anche fuori casa. Va ricordato che l'archivio contiene dati molto sensibili: documenti d'identità, dati sanitari e finanziari. Meglio non esporlo su Internet e consultarlo da fuori solo tramite rete privata.

In sintesi

  • Paperless-ngx rende ricercabile ogni documento grazie all'OCR e alla versione PDF/A.
  • La cartella di acquisizione condivisa con lo scanner rende il flusso quasi automatico.
  • Corrispondenti, tipi, etichette e campi personalizzati organizzano l'archivio su più assi.
  • L'assegnazione automatica migliora con le correzioni manuali iniziali.
  • Il comando di esportazione è la base di backup coerenti e migrazioni.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche