Analyzátor bankovních výpisů je open-source Python knihovna, která analyzuje bankovní výpisy ze šesti formátů do strukturovaných pandas DataFrames. Veškeré zpracování probíhá lokálně -- žádná síťová volání, deterministický výstup a automatické maskování PII.
Pro koho je určen?
- Týmy pokladních oddělení migrující z MT940 na CAMT.053, které potřebují parser zpracovávající jak starý, tak nový formát během přechodu.
- Fintech vývojáři budující pipeline pro rekonciliaci, reporting nebo účetnictví, kteří chtějí jednu závislost místo spojování mt940 + ofxparse + vlastní CSV logiky.
- Compliance týmy, které potřebují maskování PII ve výchozím nastavení a auditovatelný, deterministický výstup, který nikdy neodesílá data do externích služeb.
- Kdokoli, kdo odmítá posílat citlivá finanční data do SaaS třetí strany, když to zvládne lokální open-source nástroj.
Podporované formáty
| Formát | Standard | Typy souborů | Třída parseru |
|---|---|---|---|
| CAMT.053 | ISO 20022 výpis banka-zákazník | .xml |
CamtParser |
| PAIN.001 | ISO 20022 iniciace úhrad | .xml |
Pain001Parser |
| CSV | Obecné bankovní exporty | .csv |
CsvStatementParser |
| OFX | Open Financial Exchange | .ofx |
OfxParser |
| QFX | Quicken Financial Exchange | .qfx |
QfxParser |
| MT940 | SWIFT standard | .mt940, .sta |
Mt940Parser |
Všechny formáty produkují normalizované pandas DataFrames s konzistentními názvy sloupců, což činí další zpracování nezávislým na formátu.
Klíčové schopnosti
- Automatická detekce formátu:
detect_statement_format()identifikuje formát;create_parser()vytvoří správný parser. - Streaming analýza: Zpracovávejte velké soubory (50 MB+, 50K+ transakcí) s omezenou pamětí pomocí
parse_streaming(). - Paralelní zpracování: Analyzujte více souborů současně pomocí
parse_files_parallel()s využitím ProcessPoolExecutor. - Deduplikace: Detekujte přesné duplicity a podezřelé shody s vysvětlitelnými skóre spolehlivosti.
- Analýza v paměti:
from_string()afrom_bytes()pro SFTP a API workflow bez diskových I/O operací. - Zabezpečené zpracování ZIP:
iter_secure_xml_entries()s limity kompresního poměru, omezením velikosti položek a odmítnutím šifrovaných položek. - Export: CSV, JSON, Excel (
.xlsx) a volitelně Polars DataFrames.
Bezpečnost a ochrana soukromí
- Maskování PII: Jména, IBAN a adresy jsou ve výchozím nastavení maskovány ve výstupu CLI. Povolte plná data pomocí
--show-pii. - Ochrana před XXE: Analýza XML používá
resolve_entities=False,no_network=True,load_dtd=False. - Ochrana před ZIP bombami: Limity kompresního poměru (výchozí 100:1), omezení velikosti položek (10 MB), odmítnutí šifrovaných položek.
- Prevence procházení cest: Blokační seznam nebezpečných vzorů a rozlišení symlinků.
- Zabezpečení dodavatelského řetězce: Závislosti uzamčené hashem SHA-256, CycloneDX SBOM, atestace provenance sestavení.
Výkon
| Metrika | Hodnota |
|---|---|
| Propustnost CAMT.053 | 27 000+ tx/s |
| Propustnost PAIN.001 | 52 000+ tx/s |
| Latence na transakci (CAMT) | 37 mikrosekund |
| Latence na transakci (PAIN.001) | 19 mikrosekund |
| Čas do prvního výsledku | < 2 ms |
| Škálování paměti (1K-50K tx) | Konstantní (streaming) |
| Pokrytí testy | 100% pokrytí větví |
| Testy | 467 v 29 testovacích souborech |
Začněte vytvářet
Začněte s instalací a příklady ❯
"GitHub repozitář"