Each package is independently versioned and released, but they share one model and one set of conventions. Pick the pieces your workflow calls for.
bankstatementparser v0.0.11 · live
Core parser
The foundation of the suite. It turns CAMT (ISO 20022), PAIN.001, MT940, OFX/QFX, CSV and PDF statements into a single typed Transaction model. Structured formats take a deterministic path; PDFs fall through to a local model. Everything else in the suite depends on this.
PyPI · GitHub
bankstatementparser-loader-bai2 v0.0.14 · live
BAI2 loader
Reads BAI2 cash-management and lockbox files — the format US banks and treasury systems still lean on — and loads them straight into the same Transaction model as the core parser. No separate data shape to reconcile later.
PyPI · GitHub
bankstatementparser-loader-mt942 v0.0.14 · live
MT942 loader
Handles SWIFT MT942 interim transaction reports, the intraday counterpart to MT940. Ideal when you need same-day visibility of movements before the end-of-day statement arrives, all normalised into the shared model.
PyPI · GitHub
bankstatementparser-writer-xlsx v0.0.13 · live
Excel writer
Takes parsed statements and writes clean, formatted .xlsx workbooks. It closes the loop for the analysts and auditors who live in spreadsheets, without hand-crafting exports for every statement source.
PyPI · GitHub
bankstatementparser-lsp v0.0.13 · live
LSP server
A Language Server that brings editor tooling — navigation, validation and awareness — to statement files and column mappings. Use it when you are building integrations for editors that speak the Language Server Protocol.
PyPI · GitHub
bankstatementparser-mcp v0.0.14 · live
MCP server
Exposes the parser as Model Context Protocol tools, so coding and analysis agents such as Claude, Cursor and Zed can read statements through a safe, well-defined interface rather than raw file access.
PyPI · GitHub