كل من عمل فترة في الإدارة المالية لبنك أو صندوق مرّ بهذا المشهد. في نهاية اليوم لا يتطابق رقم نظام الودائع مع رقم المحاسبة، فيضطر أحد الموظفين إلى مقارنة المعاملات واحدة تلو الأخرى ليعرف من أين جاء الفرق. أحيانًا يكون قيد يدوي قد سقط سهوًا، وأحيانًا تكون معاملة مسجّلة في نظام وغير مسجّلة في آخر، وأحيانًا يقع انقطاع قصير في الشبكة في منتصف عملية تحويل بالضبط.
ولا تعود هذه الفروقات في الغالب إلى قلة انتباه الموظفين، وإنما ترجع جذورها إلى البنية المعمارية. فعندما يحتفظ نظام الودائع برصيد الحساب في جدوله، ونظام البطاقات برصيد الائتمان في جدوله، والمحاسبة برصيد الحسابات نفسها في بنودها، يصبح للحقيقة الواحدة ثلاثة أرقام. ومهما بلغت دقة المزامنة، فإن أحد هذه الأرقام سيخرج عن التطابق مع الرقمين الآخرين عاجلًا أو آجلًا.
القرار الذي اتخذناه في دارا
لا تحتوي أي وحدة في دارا على عمود للرصيد. فوحدات الودائع والمحفظة الرقمية وبطاقة الائتمان والتمويل ومحفظة الاستثمار تقرأ الرصيد من النواة المالية، وتسجل كل أثر مالي في صورة قيد في النواة نفسها. تحتفظ وحدة الودائع ببيانات مثل رقم الحساب وأصحابه وفئته وسياساته، أما مبلغ الرصيد فلا تعرفه إلا النواة المالية.
ولكي يكون ذلك ممكنًا، يجب أن يتسع دليل الحسابات لهذه التفاصيل. يمتد دليل الحسابات في دارا حتى ستة مستويات تفصيل، والحسابات التفصيلية فيه عائمة. لكل حساب وديعة، ولكل محفظة، ولكل عقد تمويل حساب تفصيلي مخصّص تحت البند المعني. وبذلك تكون حركة الحساب التفصيلي للعميل هي نفسها كشف الحساب الذي يراه في التطبيق، ولا حاجة إلى مصدر آخر لإعداده.
كيف يجري التحكم في السحب ضمن هذا النموذج
قبل تسجيل السحب، تطلب وحدة الودائع من النواة الرصيد المتاح، أي الرصيد التفصيلي للحساب مطروحًا منه الحجوزات القائمة. فإذا كان المبلغ كافيًا، يجري تسجيل قيد السحب في النواة، ثم تحديث حالة العملية في الوحدة نفسها.
ولترتيب هاتين الخطوتين أهمية. فإذا انقطع الاتصال في منتصف العملية، فإما أن القيد لم يسجل، وعندها لا يكون قد حدث شيء، وإما أنه سجل، وستعثر عليه الوحدة في المحاولة التالية. أما أن تنتقل أموال دون قيد يسندها، فهذه حالة لا تقع.
والتكرار مسألة أخرى. فقد تضيع الاستجابة في الشبكة أحيانًا، فيعيد المرسل الطلب نفسه. في دارا يحمل كل طلب لتسجيل قيد مفتاحًا فريدًا، وإذا وصل طلب بمفتاح مكرّر، أعادت النواة القيد السابق نفسه ولم تنشئ قيدًا ثانيًا.
القيد بثلاث مراحل والرقم التسلسلي
يمر القيد في النواة المالية بثلاث مراحل: مسودة، ثم مؤقّت، ثم نهائي. ويتحكم النظام نفسه في الانتقال بين هذه المراحل، ولا يمكن تعديل القيد بعد أن يصبح نهائيًا. والشراء ببطاقة الائتمان مثال جيد على ذلك: لحظة الشراء يسجل قيد مؤقّت وينخفض ائتمان العميل، وعندما يؤكد التاجر عملية الشراء يصبح القيد نفسه نهائيًا.
ويؤخذ الرقم التسلسلي للقيود في كل فترة مالية من عدّاد خاص بتلك الفترة، ولا يرجع إلى الخلف. فيجد مدقق الحسابات أمامه تسلسلًا متصلًا من الأرقام، لا فجوة فيه ولا رقم مكرّر.
ما الذي يتغير بالنسبة إلى الإدارة المالية
- تختفي المطابقة والتسوية بين الأنظمة الفرعية من مهام نهاية اليوم، إذ لا وجود لرقم ثان. أما التسوية مع كشوف حسابات البنوك فتبقى على حالها، وتجري ضمن وحدة الخزينة.
- تستخرج التقارير المالية، من ميزان المراجعة وحركة الحساب العام والمساعد والتفصيلي إلى الميزانية العمومية، من البيانات نفسها التي يعمل عليها الصرّاف.
- الرقم الذي يراه العميل في التطبيق هو الرقم نفسه الوارد في تقرير نهاية الفترة.
- إضافة منتج جديد، كنوع جديد من المحافظ أو البطاقات، لا تتطلب إعادة كتابة منطق الرصيد؛ فالوحدة الجديدة تتصل بالنواة نفسها.
كلفة هذا القرار
لهذه البنية كلفتها أيضًا. فجميع الوحدات تعتمد على النواة المالية في قراءة الرصيد، لذا يجب أن تكون النواة متاحة وسريعة الاستجابة دائمًا. ومن هنا أبقينا قراءة الرصيد في النواة بسيطة، وجعلنا تسجيل القيود يمر عبر مسار واحد. كما أن النواة المالية هي المكوّن الأكثر حساسية في تصميم النشر لكل مشروع، وتوضع خطة سعتها على حدة.
ومع ذلك نرى أن الحفاظ على نواة مستقرة أيسر من مطابقة عدة أرقام متنافسة كل يوم، سواء للفريق التقني أو للإدارة المالية. وتقوم معظم قرارات التصميم الأخرى في دارا، من محرّك العمليات إلى المحفظة، على هذا الأساس نفسه.
- #النواة_المالية
- #البنية_المعمارية
- #المطابقة_والتسوية
- #القيد_المحاسبي



