Vai al catalogo
7 min · 4 marzo 2026

Da 450 PDF a 1 Excel: estrazione dati automatica per PMI

Ogni mese ricevi decine o centinaia di PDF da fornitori, clienti o sistemi gestionali? Scopri come estrarre i dati automaticamente in un Excel strutturato, con log degli errori e zero copia-incolla.

PythonPDFExcelEstrazione DatiPMIOCR

Hai uno stack di PDF che arriva ogni mese — estratti conto, bolle di consegna, fatture fornitori, report da portali web — e qualcuno in azienda li apre uno per uno, copia i numeri su Excel, e poi spera di non aver sbagliato riga.

Questo processo ha un nome: errore che aspetta di succedere.

In questo articolo ti mostriamo come automatizzare l’estrazione dati da PDF in un file Excel strutturato, con gestione degli errori, log di esecuzione e gestione dei PDF anomali.


Il caso reale: 450 PDF di estratti conto al mese

Un cliente nel settore della contabilità riceveva ogni mese gli estratti conto bancari di 15 aziende clienti: 450 PDF totali. Ogni file aveva un layout leggermente diverso a seconda della banca — Intesa, UniCredit, BancoBPM — con colonne in posizioni diverse, date in formati diversi, intestazioni cambiate a seconda della versione del portale.

Il processo manuale: 3 persone, 2 giorni interi, margine di errore stimato al 3%.

Dopo l’automazione:

  • Tempo di elaborazione: 11 minuti (script non monitorato)
  • Accuratezza: 99.3% (gli scarti erano PDF con formato non riconosciuto, non errori di trascrizione)
  • Report scarti automatico: ogni PDF non riconosciuto finisce in una lista con motivazione

Come funziona tecnicamente

Fase 1 — Classificazione del PDF

Prima di estrarre, lo script capisce che tipo di PDF ha di fronte:

  • È un PDF testuale (con testo selezionabile)? → Usa pdfplumber o PyMuPDF
  • È un PDF scansionato (immagine)? → Usa OCR con pytesseract o easyocr
  • Il layout segue un pattern noto? → Usa le regole configurate per quel formato
import pdfplumber

with pdfplumber.open("estratto_banca.pdf") as pdf:
    for page in pdf.pages:
        testo = page.extract_text()
        tabelle = page.extract_tables()

Fase 2 — Estrazione strutturata

Le regole di estrazione vengono configurate per ogni “tipo” di documento. Se il PDF di Intesa Sanpaolo mette la data in colonna 2 e l’importo in colonna 4, quello di UniCredit li mette in colonna 1 e colonna 3: due regole separate, un solo script.

LAYOUTS = {
    "intesa_sanpaolo": {"col_data": 2, "col_importo": 4, "col_descrizione": 3},
    "unicredit":       {"col_data": 1, "col_importo": 3, "col_descrizione": 2},
}

Fase 3 — Validazione e gestione scarti

Ogni riga estratta viene validata:

  • La data è in formato corretto?
  • L’importo è numerico (non una stringa con virgola europea non gestita)?
  • I campi obbligatori sono presenti?

Se qualcosa non va, la riga non viene silenziata — finisce in un foglio “Scarti” con la motivazione e il nome del file sorgente.

Fase 4 — Output Excel strutturato

L’output finale è un file .xlsx con:

  • Foglio principale: tutti i dati estratti correttamente, con colonna “fonte” che indica il PDF di origine
  • Foglio scarti: le righe non estratte, con motivazione
  • Foglio log: un riepilogo dell’esecuzione (quanti file, quante righe, tempo, errori)

Quando l’OCR è necessario (e quando no)

Tipo di PDFTecnica consigliataAccuratezza attesa
PDF generato da software (testuale)pdfplumber / PyMuPDF99%+
PDF scansionato (alta qualità, 300 dpi)OCR con pre-processing95–98%
PDF scansionato (bassa qualità, inclinato)OCR + correzione geometrica80–90%
PDF con tabelle invisibili (testo sparso)Analisi posizionale personalizzata85–95%

L’OCR non è sempre necessario — e quando non lo è, il processo è molto più veloce e affidabile. Prima di proporre OCR, proviamo sempre a estrarre il testo nativo del PDF.


Cosa ricevi con il servizio

Quando sviluppiamo uno script di estrazione dati per te, il pacchetto include:

  1. Analisi del formato — esaminiamo un campione di 5–10 PDF rappresentativi
  2. Dry-run documentato — ti mostriamo cosa estrae lo script prima di processare tutto
  3. Script con log — ogni esecuzione produce un file log con risultati e scarti
  4. Documentazione — istruzioni su come lanciare lo script e interpretare gli output
  5. 1 revisione — se il formato cambia leggermente entro 30 giorni, la aggiorniamo

Hai PDF da estrarre ogni mese?

Se stai aprendo PDF a mano per copiare dati su Excel, stai perdendo ore che potrebbero essere automatizzate.

Inviaci un campione (anche anonimizzato) dei tuoi PDF: ti diciamo entro 24 ore se è fattibile, con quale tecnica e a che costo.

Contattaci e raccontaci il tuo caso