محلل كشوف الحسابات البنكية هو مكتبة Python مفتوحة المصدر تحلل كشوف الحسابات البنكية من ستة تنسيقات إلى DataFrames منظمة في pandas. تتم جميع المعالجة محلياً -- بدون اتصال بالشبكة، ومخرجات حتمية، وإخفاء تلقائي لبيانات PII.
لمن هذه الأداة؟
- فرق الخزينة التي تنتقل من MT940 إلى CAMT.053 وتحتاج إلى محلل يتعامل مع التنسيقات القديمة والجديدة خلال فترة الانتقال.
- مطورو التكنولوجيا المالية الذين يبنون خطوط أنابيب للتسوية أو إعداد التقارير أو المحاسبة ويريدون تبعية واحدة بدلاً من دمج mt940 + ofxparse + منطق CSV مخصص.
- فرق الامتثال التي تحتاج إلى إخفاء PII افتراضياً ومخرجات حتمية جاهزة للتدقيق لا ترسل البيانات أبداً إلى خدمات خارجية.
- أي شخص يرفض إرسال بيانات مالية حساسة إلى خدمة SaaS تابعة لطرف ثالث عندما يمكن لأداة محلية مفتوحة المصدر القيام بالمهمة.
التنسيقات المدعومة
| التنسيق | المعيار | أنواع الملفات | فئة المحلل |
|---|---|---|---|
| CAMT.053 | ISO 20022 كشف حساب من البنك إلى العميل | .xml |
CamtParser |
| PAIN.001 | ISO 20022 بدء تحويل ائتماني | .xml |
Pain001Parser |
| CSV | صادرات بنكية عامة | .csv |
CsvStatementParser |
| OFX | Open Financial Exchange | .ofx |
OfxParser |
| QFX | Quicken Financial Exchange | .qfx |
QfxParser |
| MT940 | معيار SWIFT | .mt940, .sta |
Mt940Parser |
تنتج جميع التنسيقات DataFrames موحدة في pandas بأسماء أعمدة متسقة، مما يجعل المعالجة اللاحقة مستقلة عن التنسيق.
القدرات الرئيسية
- الكشف التلقائي عن التنسيق: تحدد
()detect_statement_formatالتنسيق؛ وتنشئ()create_parserالمحلل المناسب. - التحليل بالبث المباشر: معالجة الملفات الكبيرة (أكثر من 50 ميغابايت، أكثر من 50 ألف معاملة) بذاكرة محدودة باستخدام
()parse_streaming. - المعالجة المتوازية: تحليل ملفات متعددة بشكل متزامن باستخدام
()parse_files_parallelعبر ProcessPoolExecutor. - كشف التكرارات: اكتشاف التكرارات الدقيقة والمطابقات المشتبه بها مع درجات ثقة قابلة للتفسير.
- التحليل في الذاكرة:
()from_stringو()from_bytesلسير عمل SFTP وAPI بدون عمليات إدخال/إخراج على القرص. - معالجة آمنة لملفات ZIP:
()iter_secure_xml_entriesمع حدود نسبة الضغط وحدود حجم الإدخال ورفض الإدخالات المشفرة. - التصدير: CSV وJSON وExcel (
.xlsx) وDataFrames اختيارية في Polars.
الأمان والخصوصية
- إخفاء PII: يتم إخفاء الأسماء وأرقام IBAN والعناوين افتراضياً في مخرجات CLI. يمكن الإظهار باستخدام
show-pii--. - الحماية من XXE: يستخدم تحليل XML الإعدادات
resolve_entities=Falseوno_network=Trueوload_dtd=False. - الحماية من قنابل ZIP: حدود نسبة الضغط (100:1 افتراضياً)، حدود حجم الإدخال (10 ميغابايت)، رفض الإدخالات المشفرة.
- منع اجتياز المسار: قائمة حظر الأنماط الخطرة وحل الروابط الرمزية.
- أمان سلسلة التوريد: تبعيات مقفلة بتجزئة SHA-256، وSBOM بتنسيق CycloneDX، وشهادة مصدر البناء.
الأداء
| المقياس | القيمة |
|---|---|
| إنتاجية CAMT.053 | أكثر من 27,000 معاملة/ثانية |
| إنتاجية PAIN.001 | أكثر من 52,000 معاملة/ثانية |
| زمن الاستجابة لكل معاملة (CAMT) | 37 ميكروثانية |
| زمن الاستجابة لكل معاملة (PAIN.001) | 19 ميكروثانية |
| الزمن حتى أول نتيجة | أقل من 2 مللي ثانية |
| تدرج الذاكرة (1 ألف - 50 ألف معاملة) | ثابت (بث مباشر) |
| تغطية الاختبارات | تغطية فرعية 100% |
| الاختبارات | 467 عبر 29 ملف اختبار |