Bank Statement Parser

Parse CAMT.053, PAIN.001, CSV, OFX, QFX, and MT940 into pandas DataFrames. 27K+ tx/s, streaming, PII redaction, zero network calls.

pip install bankstatementparser

Bank Statement Parser is an open-source Python library that parses bank statements from six formats (CAMT.053, PAIN.001, CSV, OFX, QFX, MT940) into structured pandas DataFrames. All processing runs locally — zero network calls, deterministic output, and automatic PII redaction.

Get Started in Seconds

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, ready to use
GitHub StarsMonthly DownloadsPyPI VersionPythonLicenseTestsCoverage

One Library, Six Formats

Parse CAMT.053, PAIN.001, CSV, OFX, QFX, and MT940 into structured pandas DataFrames with a single, unified API. No need to install separate packages for each format.

FeatureBank Statement ParserSingle-format OSS (mt940, ofxparse)SaaS (Ocrolus, Parseur)
Formats supported6, unified API1 eachMany (via OCR)
Data privacy100% local, zero network calls100% localData sent externally
CostFree, Apache 2.0Free$49-$1,000+/mo
PII redactionBuilt-in, on by defaultNoVaries
StreamingBounded memoryNoN/A
ZIP securityBuilt-in hardeningNoN/A
DeduplicationBuilt-in with confidence scoresNoSome

Built for the ISO 20022 Migration

SWIFT has set firm deadlines: all financial institutions must receive CAMT.053 by November 2027, and MT940/MT942/MT950 will be fully retired by November 2028. Bank Statement Parser handles both legacy MT940 and modern ISO 20022 formats (CAMT.053, PAIN.001) in a single API, so your parsing pipeline works during the transition and beyond.

Performance

Why Bank Statement Parser?

Built for Production

Bank Statement Parser is designed for treasury teams, fintech developers, and compliance officers processing sensitive financial data. The library is used in MT940-to-CAMT migration pipelines, automated reconciliation systems, and regulatory audit workflows across financial institutions.

Evaluating alternatives? See how Bank Statement Parser compares ❯ | Explore real-world use cases ❯

Get started ❯ | View on GitHub ❯ | View on PyPI ❯