ابدأ في ثوانٍ
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
مكتبة واحدة، ستة تنسيقات
حلّل CAMT.053 وPAIN.001 وCSV وOFX وQFX وMT940 إلى DataFrames منظمة في pandas باستخدام API موحّد واحد. لا حاجة لتثبيت حزم منفصلة لكل تنسيق.
| الميزة | محلل كشوف الحسابات البنكية | مكتبات أحادية التنسيق (mt940, ofxparse) | حلول SaaS (Ocrolus, Parseur) |
|---|---|---|---|
| التنسيقات المدعومة | 6، بـ API موحّد | واحد لكل مكتبة | كثيرة (عبر OCR) |
| خصوصية البيانات | محلي 100%، بدون اتصال بالشبكة | محلي 100% | البيانات تُرسَل خارجياً |
| التكلفة | مجاني، Apache 2.0 | مجاني | 49$-1,000$+/شهرياً |
| إخفاء PII | مدمج، مفعّل افتراضياً | لا | متفاوت |
| البث المباشر | ذاكرة محدودة | لا | غير متاح |
| أمان ZIP | حماية مدمجة | لا | غير متاح |
| كشف التكرارات | مدمج مع درجات ثقة | لا | جزئي |
مبني لترحيل ISO 20022
حددت SWIFT مواعيد نهائية واضحة: يجب على جميع المؤسسات المالية أن تكون قادرة على استقبال CAMT.053 بحلول نوفمبر 2027، وسيتم إيقاف MT940/MT942/MT950 بالكامل بحلول نوفمبر 2028. يتعامل محلل كشوف الحسابات البنكية مع كلا التنسيقين القديم MT940 والحديث ISO 20022 (أي CAMT.053 وPAIN.001) عبر API واحد، مما يضمن عمل خط معالجة البيانات خلال فترة الانتقال وما بعدها.
الأداء
- أكثر من 27,000 معاملة/ثانية لتحليل CAMT.053
- أكثر من 52,000 معاملة/ثانية لتحليل PAIN.001
- أقل من 2 مللي ثانية لأول نتيجة
- ذاكرة ثابتة من 1,000 إلى أكثر من 50,000 معاملة عبر البث المباشر
- 467 اختباراً بتغطية فرعية 100% عبر Python 3.9 إلى 3.14
لماذا هذا المحلل؟
- اكتشاف تلقائي للتنسيق: تتعرف
detect_statement_format()على الملفات تلقائياً وتعيدcreate_parser()المحلل المناسب. - الخصوصية أولاً: إخفاء PII مفعّل افتراضياً. تُخفى الحقول الحساسة (الأسماء وأرقام IBAN والعناوين) في مخرجات CLI. يمكن إظهارها عند الحاجة باستخدام
--show-pii. - جاهز للإنتاج: استيعاب آمن لملفات ZIP (حماية من القنابل، رفض الملفات المشفرة)، التحقق من المدخلات، ومنع اجتياز المسارات.
- مخرجات مرنة: التصدير إلى CSV أو JSON أو Excel أو التحويل إلى DataFrames في Polars.
- معالجة متوازية: حلّل عدة ملفات بالتوازي باستخدام
parse_files_parallel().