概要
Bank Statement Parser は、ハイブリッド LLM パイプラインによる PDF を含む 7 つの銀行取引明細書形式を統合 API で解析する唯一のオープンソース Python ライブラリです。単一フォーマットライブラリ(mt-940、ofxparse、pycamt)はそれぞれ 1 つのフォーマットのみを処理します。SaaS ツール(Ocrolus、Parseur)はクラウド OCR を提供しますが、データを外部に送信する必要があり、月額 $49〜$1,000+ の費用がかかります。
オープンソースの代替手段
単一フォーマットライブラリ
ほとんどのオープンソースの銀行取引明細書パーサーは、1 つの形式のみを処理します。複数の形式が必要な場合は、異なる API、出力スキーマ、更新サイクルを持つ個別のライブラリをインストールして保守する必要があります。
| ライブラリ | 形式 | 出力 | 残高検証 | 台帳エクスポート | |
|---|---|---|---|---|---|
| Bank Statement Parser | 7 形式 | ハイブリッドパイプライン | pandas DataFrame | ゴールデンルール | hledger, beancount |
| mt-940 (WoLpH) | MT940 のみ | なし | Python オブジェクト | なし | なし |
| ofxparse | OFX のみ | なし | Python オブジェクト | なし | なし |
| pycamt | CAMT.053 のみ | なし | Python オブジェクト | なし | なし |
| ofxtools | OFX v1/v2 のみ | なし | Python オブジェクト | なし | なし |
vs pyiso20022
pyiso20022 は、完全な ISO 20022 スキーマカタログから Python データクラスを生成します。PACS、PAIN、CAMT、ADMI メッセージを扱うための汎用 ISO 20022 ツールキットです。
Bank Statement Parser は、本番機能を備えた銀行取引明細書を DataFrame に解析するために専用設計されています。
| 特徴 | Bank Statement Parser | pyiso20022 |
|---|---|---|
| 目的 | 明細書の解析 + 抽出 + エクスポート | ISO 20022 スキーマツールキット |
| 出力 | pandas/Polars DataFrame | Python データクラス |
| フォーマット | 7(PDF、非 ISO を含む) | ISO 20022 のみ |
| PDF サポート | ハイブリッドパイプライン(確定的 + LLM + ビジョン) | なし |
| 残高検証 | ゴールデンルール + マルチ通貨 | なし |
| REST API | 内蔵 FastAPI | なし |
| エンリッチメント | LLM による分類 | なし |
| 台帳エクスポート | hledger + beancount | なし |
| ストリーミング | あり(制限されたメモリ) | なし |
| PII 秘匿化 | 内蔵 | なし |
| 重複排除 | べき等なトランザクションハッシュ | なし |
| CLI | あり | なし |
完全な ISO 20022 メッセージカタログを操作する必要がある場合は pyiso20022 を使用してください。分析、調整、レポート作成のために銀行取引明細書を構造化データに解析する必要がある場合は Bank Statement Parser を使用してください。
SaaS の代替案
Ocrolus、Parseur、Sensible などの SaaS ツールは、銀行取引明細書の解析をクラウドサービスとして提供します。通常、OCR を使用してスキャン PDF を処理し、何百もの銀行固有の形式をサポートしています。
| 特徴 | Bank Statement Parser | SaaS ツール |
|---|---|---|
| データプライバシー | 100% ローカル(LLM は Ollama 経由) | クラウドにデータ送信 |
| 料金 | 無料(Apache 2.0) | 月額 $49〜$1,000+(2026 年第 1 四半期現在) |
| フォーマット | 7(構造化 + PDF) | 数百(OCR 経由) |
| PDF サポート | あり — ハイブリッドパイプライン(確定的 + LLM + ビジョン) | あり(クラウド OCR) |
| 残高検証 | ゴールデンルール(自動) | 手動 / 限定的 |
| レイテンシ | <2 ms(構造化)、数秒(PDF+LLM) | 1〜30 秒 |
| スループット | 27,000+ tx/秒(構造化) | API レート制限あり |
| REST API | 内蔵 FastAPI | プロプライエタリ |
| 台帳エクスポート | hledger + beancount | なし |
| ベンダーロックイン | なし | あり |
| コンプライアンス | ローカル処理、SBOM | プロバイダーにより異なる |
LLM ベースのパーサー
ますます多くのツール(Inscribe、Unstract、Mozilla.ai ブループリント)が、スキャン PDF を含む銀行取引明細書の解析に大規模言語モデルを使用しています。Chase が 2025 年後半にコンシューマ明細書のフォーマットを再設計した際、テンプレートベースのパーサーが壊れた一方で、LLM パーサーは自動的に適応しました。
Bank Statement Parser には、独自のハイブリッド LLM パイプライン(v0.0.5+)が含まれており、Ollama 経由で完全にローカルで実行されます。両方のアプローチの長所を組み合わせています。
- 構造化形式(XML、CSV、OFX、MT940): 確定的解析 — 100% の精度、サブミリ秒のレイテンシ、LLM コストゼロ。
- PDF 明細書: 3 パスルーティング(確定的テーブル抽出 → テキスト LLM → ビジョン LLM)で、自動ゴールデンルール検証により抽出エラーを検出します。
クラウド専用の LLM パーサーとは異なり、Bank Statement Parser のハイブリッドパイプラインは:
- 100% ローカルで実行されます(Ollama)— データがマシンから出ることはありません。
- すべての抽出を残高検証(ゴールデンルール)で検証します。
- フラグされた不一致のインタラクティブレビューモードをサポートします。
- 安全なインクリメンタル取り込みのためのべき等なトランザクションハッシュを生成します。
Bank Statement Parser よりも純粋な SaaS LLM パーサーを選ぶべき場合: 何百もの銀行から大きく異なる PDF レイアウトの明細書を受け取り、ローカルインフラを運用せずにすぐに対応したい場合。
Bank Statement Parser を選ぶべき場合: コンプライアンスのためにローカル処理が必要な場合。残高検証が必要な場合。台帳エクスポートが必要な場合。継続コストをゼロにしたい場合。
ベンチマーク方法: Apple M2、Python 3.12 で 5,000 トランザクションの CAMT.053 ファイル(2.1 MB)を使用して測定。結果は 100 回の実行の平均値です。ローカルで再現: python -m bankstatementparser.bench。SaaS レイテンシは 2026 年 4 月時点の公開 API ドキュメントに基づいています。