Trình phân tích báo cáo ngân hàng là một thư viện Python mã nguồn mở phân tích các báo cáo ngân hàng từ sáu định dạng thành các khung dữ liệu gấu trúc có cấu trúc. Tất cả quá trình xử lý diễn ra cục bộ -- không có cuộc gọi mạng nào, đầu ra xác định và xử lý PII tự động.
Cái này dành cho ai?
- Nhóm Kho bạc di chuyển từ MT940 sang CAMT.053, những người cần một trình phân tích cú pháp xử lý cả định dạng cũ và mới trong quá trình chuyển đổi.
- Các nhà phát triển Fintech xây dựng quy trình đối chiếu, báo cáo hoặc kế toán, những người muốn có một phần phụ thuộc duy nhất thay vì kết hợp mt940 + ofxparse + logic CSV tùy chỉnh.
- Nhóm tuân thủ cần chỉnh sửa PII theo mặc định và đầu ra xác định, sẵn sàng kiểm tra và không bao giờ gửi dữ liệu đến các dịch vụ bên ngoài.
- Bất kỳ ai từ chối gửi dữ liệu tài chính nhạy cảm đến SaaS của bên thứ ba khi một công cụ nguồn mở cục bộ có thể thực hiện công việc đó.
Định dạng được hỗ trợ
| Định dạng | Tiêu chuẩn | Các loại tệp | Lớp phân tích cú pháp |
|---|---|---|---|
| CAMT.053 | Tuyên bố giữa ngân hàng với khách hàng theo tiêu chuẩn ISO 20022 | .xml |
CamtParser |
| ĐAU.001 | Bắt đầu chuyển giao tín chỉ ISO 20022 | .xml |
Pain001Parser |
| CSV | Xuất khẩu ngân hàng tổng hợp | .csv |
CsvStatementParser |
| OFX | Sàn giao dịch tài chính mở | .ofx |
OfxParser |
| QFX | Trao đổi tài chính nhanh chóng | .qfx |
QfxParser |
| MT940 | Tiêu chuẩn SWIFT | .mt940, .sta |
Mt940Parser |
Tất cả các định dạng đều tạo ra các DataFrames gấu trúc được chuẩn hóa với các tên cột nhất quán, khiến việc xử lý định dạng xuôi dòng trở nên bất khả tri.
Khả năng chính
- Tự động phát hiện định dạng:
detect_statement_format()xác định định dạng;create_parser()khởi tạo trình phân tích cú pháp phù hợp. - Phân tích cú pháp trực tuyến: Xử lý các tệp lớn (giao dịch 50 MB+, 50K+) với bộ nhớ giới hạn bằng cách sử dụng
parse_streaming(). - Xử lý song song: Phân tích nhiều tệp đồng thời với
parse_files_parallel()sử dụng ProcessPoolExecutor. - Loại bỏ trùng lặp: Phát hiện các bản sao chính xác và các kết quả trùng khớp bị nghi ngờ với điểm tin cậy có thể giải thích được.
- Phân tích cú pháp trong bộ nhớ:
from_string()Vàfrom_bytes()dành cho quy trình làm việc SFTP và API không cần I/O đĩa. - Xử lý ZIP an toàn:
iter_secure_xml_entries()với giới hạn tỷ lệ nén, giới hạn kích thước mục nhập và từ chối mục nhập được mã hóa. - Xuất: CSV, JSON, Excel (
.xlsx) và các Khung dữ liệu Polars tùy chọn.
Bảo mật và quyền riêng tư
- Xử lý PII: Tên, IBAN và địa chỉ được ẩn theo mặc định trong đầu ra CLI. Chọn tham gia với
--show-pii. - Bảo vệ XXE: Sử dụng phân tích cú pháp XML
resolve_entities=False,no_network=True,load_dtd=False. - Bảo vệ chống bom ZIP: Giới hạn tỷ lệ nén (mặc định 100:1), giới hạn kích thước mục nhập (10 MB), từ chối mục nhập được mã hóa.
- Ngăn chặn truyền tải đường dẫn: Danh sách chặn mẫu nguy hiểm và giải quyết liên kết tượng trưng.
- Bảo mật chuỗi cung ứng: Các phần phụ thuộc được khóa băm SHA-256, CycloneDX SBOM, xây dựng chứng thực xuất xứ.
Hiệu suất
| Số liệu | Giá trị |
|---|---|
| Thông lượng CAMT.053 | 27.000+ giao dịch/giây |
| Thông lượng PAIN.001 | 52.000+ tx/s |
| Độ trễ trên mỗi giao dịch (CAMT) | 37 micro giây |
| Độ trễ trên mỗi giao dịch (PAIN.001) | 19 micro giây |
| Thời gian đến kết quả đầu tiên | < 2 mili giây |
| Chia tỷ lệ bộ nhớ (1K-50K tx) | Hằng số (phát trực tuyến) |
| Phạm vi kiểm tra | Bao phủ 100% chi nhánh |
| Kiểm tra | 467 trên 29 tệp thử nghiệm |
Bắt đầu xây dựng
"Kho lưu trữ GitHub"