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.
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
pdfplumberoPyMuPDF - È un PDF scansionato (immagine)? → Usa OCR con
pytesseractoeasyocr - 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 PDF | Tecnica consigliata | Accuratezza attesa |
|---|---|---|
| PDF generato da software (testuale) | pdfplumber / PyMuPDF | 99%+ |
| PDF scansionato (alta qualità, 300 dpi) | OCR con pre-processing | 95–98% |
| PDF scansionato (bassa qualità, inclinato) | OCR + correzione geometrica | 80–90% |
| PDF con tabelle invisibili (testo sparso) | Analisi posizionale personalizzata | 85–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:
- Analisi del formato — esaminiamo un campione di 5–10 PDF rappresentativi
- Dry-run documentato — ti mostriamo cosa estrae lo script prima di processare tutto
- Script con log — ogni esecuzione produce un file log con risultati e scarti
- Documentazione — istruzioni su come lanciare lo script e interpretare gli output
- 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.