Inizia in pochi secondi
pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format
fmt = detect_statement_format("statement.xml")
parser = create_parser("statement.xml", fmt)
df = parser.parse() # pandas DataFrame, pronto all'uso
Una libreria, sei formati
Analizza CAMT.053, PAIN.001, CSV, OFX, QFX e MT940 in DataFrames pandas strutturati con un'unica API unificata. Non è necessario installare pacchetti separati per ogni formato.
| Funzionalità | Analizzatore di estratti conto | OSS singolo formato (mt940, ofxparse) | SaaS (Ocrolus, Parseur) |
|---|---|---|---|
| Formati supportati | 6, API unificata | 1 ciascuno | Molti (via OCR) |
| Privacy dei dati | 100% locale, zero chiamate di rete | 100% locale | Dati inviati esternamente |
| Costo | Gratuito, Apache 2.0 | Gratuito | $49-$1.000+/mese |
| Mascheramento PII | Integrato, attivo per default | No | Varia |
| Streaming | Memoria limitata | No | N/A |
| Sicurezza ZIP | Protezione integrata | No | N/A |
| Deduplicazione | Integrata con punteggi di affidabilità | No | Parziale |
Costruito per la migrazione ISO 20022
SWIFT ha fissato scadenze precise: tutte le istituzioni finanziarie devono ricevere CAMT.053 entro novembre 2027 e MT940/MT942/MT950 saranno completamente dismessi entro novembre 2028. L'Analizzatore di estratti conto gestisce sia il formato legacy MT940 che i moderni formati ISO 20022 (CAMT.053, PAIN.001) in un'unica API.
Prestazioni
- 27.000+ transazioni/secondo per l'analisi CAMT.053
- 52.000+ transazioni/secondo per l'analisi PAIN.001
- < 2 ms tempo al primo risultato
- Memoria costante da 1K a 50K+ transazioni via streaming
- 467 test con 100% di copertura dei branch su Python 3.9-3.14
Perché questo analizzatore?
- Rilevamento automatico del formato:
detect_statement_format()identifica automaticamente i file ecreate_parser()restituisce il parser corretto. - Privacy prima di tutto: Il mascheramento PII è attivo per default. I campi sensibili (nomi, IBAN, indirizzi) sono mascherati nell'output CLI. Attiva con
--show-piiquando necessario. - Pronto per la produzione: Elaborazione ZIP sicura (protezione bomb, rifiuto voci crittografate), validazione input e prevenzione path traversal.
- Output flessibile: Esporta in CSV, JSON, Excel o converti in Polars DataFrames.
- Elaborazione parallela: Analizza più file contemporaneamente con
parse_files_parallel().
Primi passi ❯ | Visualizza su GitHub ❯ | Visualizza su PyPI ❯