개요
Bank Statement Parser는 하이브리드 LLM 파이프라인을 통한 PDF를 포함하여 7가지 은행 명세서 형식을 통합 API로 파싱하는 유일한 오픈 소스 Python 라이브러리입니다. 단일 형식 라이브러리(mt-940, ofxparse, pycamt)는 각각 하나의 형식만 처리합니다. SaaS 도구(Ocrolus, Parseur)는 클라우드 OCR을 제공하지만 데이터를 외부로 전송해야 하며 비용은 월 $49~$1,000 이상입니다.
오픈 소스 대안
단일 형식 라이브러리
대부분의 오픈 소스 은행 명세서 파서는 하나의 형식만 처리합니다. 여러 형식이 필요한 경우 API, 출력 스키마, 업데이트 주기가 서로 다른 별도의 라이브러리를 설치하고 유지 관리해야 합니다.
| 라이브러리 | 형식 | 출력 | 잔액 검증 | 원장 내보내기 | |
|---|---|---|---|---|---|
| Bank Statement Parser | 7가지 형식 | 하이브리드 파이프라인 | pandas DataFrame | Golden Rule | hledger, beancount |
| mt-940 (WoLpH) | MT940 전용 | 없음 | Python 객체 | 없음 | 없음 |
| ofxparse | OFX 전용 | 없음 | Python 객체 | 없음 | 없음 |
| pycamt | CAMT.053 전용 | 없음 | Python 객체 | 없음 | 없음 |
| ofxtools | OFX v1/v2 전용 | 없음 | Python 객체 | 없음 | 없음 |
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 + 비전) | 없음 |
| 잔액 검증 | Golden Rule + 다중 통화 | 없음 |
| 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) |
| 잔액 검증 | Golden Rule (자동) | 수동 / 제한적 |
| 지연 시간 | <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)과 추출 오류를 감지하는 자동 Golden Rule 검증.
클라우드 전용 LLM 파서와 달리 Bank Statement Parser의 하이브리드 파이프라인은:
- 100% 로컬 실행(Ollama) — 데이터가 외부로 유출되지 않습니다.
- 잔액 검증(Golden Rule)으로 모든 추출을 검증합니다.
- 플래그된 불일치에 대한 대화형 검토 모드를 지원합니다.
- 안전한 증분 수집을 위한 멱등성 트랜잭션 해시를 생성합니다.
순수 SaaS LLM 파서를 선택해야 하는 경우: 매우 다양한 PDF 레이아웃을 가진 수백 개의 은행에서 명세서를 수신하며, 로컬 인프라 운영 없이 즉시 사용 가능한 커버리지가 필요한 경우.
Bank Statement Parser를 선택해야 하는 경우: 컴플라이언스를 위해 로컬 처리가 필요한 경우. 잔액 검증이 필요한 경우. 원장 내보내기가 필요한 경우. 지속적인 비용을 원하지 않는 경우.
벤치마크 방법론: 성능 수치는 Apple M2, Python 3.12에서 5,000개 트랜잭션 CAMT.053 파일(2.1MB)로 측정되었습니다. 100회 실행 평균입니다. 로컬에서 재현: python -m bankstatementparser.bench. SaaS 지연 시간은 2026년 4월 현재 게시된 API 문서를 기준으로 합니다.