About the Bank Statement Parser

One Library. Six Formats. Zero Network Calls.

TL;DR: Bank Statement Parser is an open-source Python library that parses six bank statement formats (CAMT.053, PAIN.001, CSV, OFX, QFX, MT940) into pandas DataFrames. 100% local processing, PII redaction by default, 27K+ tx/s throughput.

Bank Statement Parser is an open-source Python library that parses bank statements from six formats into structured pandas DataFrames. All processing happens locally -- zero network calls, deterministic output, and automatic PII redaction.

Who Is This For?

Supported Formats

Format Standard File Types Parser Class
CAMT.053 ISO 20022 Bank-to-Customer Statement .xml CamtParser
PAIN.001 ISO 20022 Credit Transfer Initiation .xml Pain001Parser
CSV Generic bank exports .csv CsvStatementParser
OFX Open Financial Exchange .ofx OfxParser
QFX Quicken Financial Exchange .qfx QfxParser
MT940 SWIFT standard .mt940, .sta Mt940Parser

All formats produce normalised pandas DataFrames with consistent column names, making downstream processing format-agnostic.

Key Capabilities

Security And Privacy

Performance

Metric Value
CAMT.053 throughput 27,000+ tx/s
PAIN.001 throughput 52,000+ tx/s
Per-transaction latency (CAMT) 37 microseconds
Per-transaction latency (PAIN.001) 19 microseconds
Time to first result < 2 ms
Memory scaling (1K-50K tx) Constant (streaming)
Test coverage 100% branch coverage
Tests 467 across 29 test files

Start Building

Get started with installation and examples ❯

"GitHub Repository"