المصادر المفتوحة تعني لنا مشاركة المعرفة والحلول
لا نطوّر البرمجيات لتلبية احتياجاتنا الخاصة فحسب، بل نرغب أيضًا في إتاحة حلول للمجتمع يمكن أن تفيد مستخدمي Odoo الآخرين.
لهذا السبب، نشرنا وحدات استيراد البيانات المصرفية الخاصة بنا لإصدار Odoo 19 Community كمشروع مفتوح المصدر.
المشروع بأكمله متاح مجانًا على GitHub:
استيراد كشوف الحساب المصرفية لـ Odoo 19 على GitHub
هدفنا بكل بساطة هو:
توفير طريقة فعّالة وبسيطة قدر الإمكان لاستيراد كشوف الحسابات المصرفية إلى Odoo 19 Community، دون الحاجة إلى إضافة مدفوعة.
لماذا أنشأنا مشروعًا خاصًا بنا أصلًا؟
يوفّر Odoo في الأساس إمكانات واسعة للمحاسبة ومعالجة الحركات المصرفية. لكن عند استيراد كشوف الحسابات المصرفية تحديدًا، يتوقف الأمر على الصيغ التي يتيحها البنك المعني.
ومن الصيغ الشائعة في الاستخدام العملي:
- CAMT.053
- CAMT.054
- OFX
- SWIFT MT940
لا تتوفر جميع هذه الصيغ بالقدر نفسه في كل إصدار من Odoo.
لاحظنا، خصوصًا عند الانتقال إلى Odoo 19، بعض أوجه القصور التي قد تؤثر في أنظمة Odoo القائمة.
لذلك، بدلًا من معالجة هذه المشكلات في نظامنا وحده، قررنا إتاحة الحل للجميع مجانًا.
Odoo 19 Community – استيراد كشوف الحسابات البنكية
يعتمد مستودعنا على مكوّنات OCA ذات الصلة المخصّصة لـ Odoo 19، ويضيف إليها وظائف ضرورية للاستخدام العملي.
يتضمن المشروع، من بين أمور أخرى، البنية الأساسية لكشوف الحسابات البنكية واستيراد الملفات، إلى جانب أدوات لتحليل البيانات بصيغ بنكية مختلفة.
يتيح ذلك، على سبيل المثال، معالجة التنسيقات التالية:
| التنسيق | الدعم |
|---|---|
| CAMT.053 | نعم |
| CAMT.054 | نعم |
| OFX | نعم |
| OFX مع ربط الحسابات باستخدام ACCTID | نعم |
| SWIFT MT940 | نعم |
وبذلك يغطي المشروع جزءًا كبيرًا من تنسيقات كشوف الحسابات المصرفية التقليدية.
دعم OFX في Odoo 19
من أبرز مزايا مشروعنا دعم OFX.
كان دعم OFX متاحًا في إصدارات سابقة من Odoo/OCA، لكنه أُزيل من فرع OCA-19.0. ويعيد مشروعنا توفير هذه الوظيفة في Odoo 19 إلى جانب وحدات الاستيراد الأخرى.
ويكتسب ذلك أهمية خاصة للشركات التي لا تزال بنوكها توفر كشوف الحسابات الإلكترونية بصيغة OFX.
ولم نكن نريد الاكتفاء بتطوير حل جديد تمامًا ومعزول عن الحلول القائمة.
بل اعتمدنا على المكونات الأساسية مفتوحة المصدر المتاحة، وجمّعناها بما يتوافق مع Odoo 19.
إضافة أخرى: SWIFT MT940
من الوظائف الأخرى التي يوفرها مشروعنا استيراد ملفات SWIFT MT940.
تُعدّ MT940 صيغة راسخة لكشوف الحسابات الإلكترونية، ولا تزال مستخدمة، ولا سيما لدى البنوك وفي عمليات الربط القديمة مع الأنظمة المصرفية.
وفقًا لوثائق مشروعنا، لا يتوفر حل مماثل من OCA لإصدارات Odoo الحالية.
لذلك طوّرنا وحدة خاصة لهذا الغرض:
account_statement_import_mt940
وبذلك يمكن أيضًا معالجة ملفات MT940 مباشرةً في Odoo 19.
بنية قائمة على وحدات مستقلة
تعمّدنا ألّا نطوّر إضافة واحدة تجمع جميع الوظائف في كتلة غير قابلة للتجزئة.
تتوزّع الوظائف على وحدات منفصلة في Odoo:
- account_statement_base
- account_statement_import_base
- account_statement_import_file
- account_statement_import_camt
- account_statement_import_camt54
- account_statement_import_ofx
- account_statement_import_ofx_by_acctid
- account_statement_import_mt940
وبذلك يستطيع المستخدمون تثبيت المكوّنات التي يحتاجون إليها فعليًا دون غيرها.
وهذا ينسجم أيضًا مع فلسفة المصادر المفتوحة: فلا ينبغي تعقيد الحل دون داعٍ لمجرد اختلاف متطلبات بعض المستخدمين.
متاح مجانًا لمجتمع Odoo
ولعل الأهم:
البرنامج متاح مجانًا.
نضع الإضافات التي طوّرناها في متناول مجتمع Odoo.
لا توجد رسوم ترخيص لاستخدام إضافاتنا.
الشفرة المصدرية متاحة للجميع على GitHub، ويمكن الاطلاع عليها هناك واستخدامها وتعديلها ومواصلة تطويرها.
المشروع متاح بموجب ترخيص AGPL-3، بما يتوافق مع ترخيص الأساس البرمجي المستخدم من OCA.
لماذا نفعل ذلك؟
لا تنجح البرمجيات مفتوحة المصدر على المدى الطويل إلا إذا لم يكتفِ الجميع بالاستفادة منها، بل ساهموا فيها أيضًا.
تتبنّى Odoo Community Association (OCA) هذه الفكرة تحديدًا، وتتيح العديد من إضافات Odoo بصفة برمجيات مفتوحة المصدر. وتتوفر أيضًا مجموعة واسعة من الوحدات التي يطوّرها المجتمع لاستيراد كشوف الحسابات البنكية.
ونحن نريد أن نؤدي دورنا في ذلك.
فنحن أنفسنا نستفيد من المشاريع مفتوحة المصدر.
ولهذا نساهم بدورنا أيضًا.
ولا يشترط أن يكون ما نطوّره من برمجيات مفتوحة المصدر دائمًا إطار عمل ضخمًا أو نظامًا جديدًا بالكامل لتخطيط موارد المؤسسات.
فأحيانًا تكفي إضافة صغيرة تحلّ مشكلة محددة.
وإذا وفّر هذا الحل جهدًا على عشرة أو مئة أو ألف مستخدم آخر من مستخدمي Odoo، فقد أثمر العمل على تطويره بالفعل.
من أجل Odoo Community، وليس فقط من أجل نسخة النظام المثبّتة لدينا
كان من المهم بالنسبة إلينا أثناء التطوير ألّا نصمّم الوحدات خصيصًا لتناسب بيئتنا وحدها.
نريد أن يكون المستودع مفيدًا أيضًا لمستخدمي Odoo 19 Community في بيئات أخرى.
لذلك جمعنا الوحدات في مستودع متاح للجميع، ويمكن استخدامها بشكل مستقل عن تثبيت Odoo الخاص بنا.
وبالطبع، قد تكون لكل بنك خصوصيات تختلف باختلاف صيغة التصدير. لذا نرحّب أيضًا بملاحظات المجتمع وبلاغاته عن الأخطاء ومساهماته في التحسين.
المشاركة هي روح البرمجيات مفتوحة المصدر
نؤكد أننا لا ننظر إلى هذا المشروع على أنه عمل تطويري مكتمل.
كل من يكتشف خطأً، أو لديه حالة استخدام إضافية، أو يرغب في المساهمة بتحسين، يمكنه المشاركة مباشرة في المشروع.
وهذه إحدى أبرز مزايا البرمجيات مفتوحة المصدر:
ليس بالضرورة أن يقتصر تطوير أي حل على مطوّره الأصلي.
يمكن للمستخدم أن يصبح مطوّرًا.
ويمكن للمطوّر أن يساهم بتحسين.
ثم يصبح هذا التحسين متاحًا للجميع.
التثبيت والشيفرة المصدرية
تتوفر الشيفرة المصدرية الكاملة، وبنية الوحدات، وإرشادات التثبيت على GitHub:
GitHub – Odoo 19 Bank Statement Import
يتطلب استيراد ملفات OFX وMT940 أيضًا مكتبات Python المناسبة. كما أن الاعتماديات المحددة موثّقة في المستودع.
مساهمتنا في مجتمع Odoo
نودّ من خلال هذا المشروع إيصال رسالة بسيطة:
ليس من الضروري دائمًا بيع البرمجيات حتى يكون لتطويرها قيمة.
أحيانًا تتحقق أكبر فائدة حين يكون الحل متاحًا للجميع، ويستطيع أكبر عدد ممكن من الأشخاص استخدامه ومواصلة تطويره.
نطوّر هذه البرمجيات في المقام الأول لأننا نحتاج بأنفسنا إلى حل.
وإذا نتج عن ذلك لاحقًا إضافة مفيدة لمستخدمي Odoo الآخرين، فيسعدنا إتاحتها للمجتمع.
ولهذا تحديدًا نشرنا Odoo 19 Bank Statement Import Module.
مجانية. مفتوحة المصدر. لمجتمع Odoo.
المشروع على GitHub
إلى المشروع على GitHub: Odoo 19 Bank Statement Import
نرحّب بملاحظاتكم وبلاغاتكم عن المشكلات واقتراحاتكم للتحسين، وبالطبع بمساهمات المجتمع أيضًا.
تؤتي البرمجيات مفتوحة المصدر أفضل ثمارها حين نتعاون على تطويرها.