الديون داخل التطبيق
قسم الديون يجمع كل الالتزامات في سجل واحد: ما عليك وما لك، مع تواريخ استحقاق وملاحظات قصيرة. يعتمد على DebtsRepository وMoneyMovementUiEvent لضمان أن كل قيد دين ينعكس مباشرة على الرصيد الحقيقي والميزانيات المرتبطة، دون الحاجة لجداول خارجية.
تعريف عملي
كل دين يتكون من جهة التعامل، المبلغ، الرصيد المتبقي، جدول سداد اختياري، ووضعية (نشط/مغلق). عند تسجيل سداد جزئي، يُخصم من الدين ويُسجل كمعاملة مرتبطة بالحساب الصحيح لتبقى الأرقام متسقة.
يمكنك كذلك تحديد أولوية للدين، فتظهر الديون عالية الأولوية أعلى القائمة وتُستخدم في تنبيهات التذكير أولًا.
آلية العمل
- إضافة دين جديد: حدد الجهة، المبلغ، واختر حساب الدفع.
- تحديد خطة سداد: مبلغ ثابت أو نسبة من الدخل مع تاريخ مراجعة.
- عند السداد: استخدم حركة «سداد دين» ليُحدَّث الرصيد ويُقلّص الدين دفعة واحدة.
- إغلاق دين: بمجرد الوصول إلى صفر، يتحول إلى حالة مغلقة مع حفظ سجل كل الدفعات.
أمثلة استخدام قصيرة
- قرض صديق: سجل المبلغ وحدد مراجعة أسبوعية للتذكير بالسداد الجزئي.
- بطاقة ائتمان: عالجها كدين، وحدد سدادًا أدنى ثابتًا لتجنب تراكم الفوائد خارج التطبيق.
- دين متبادل: أنشئ سجلين واضحين (لك وعليك) لتبقى الصورة صافية عند المراجعة.
- دين قصير الأجل: اربطه بجدول سداد يومي أو كل ثلاثة أيام ليظهر التقدم في التقارير بسرعة.
الاستقرار والمزامنة
كل تعديل دين يُكتب أولًا محليًا ثم يُرسل إلى Firestore عبر FirestoreSyncApi. إذا انقطع الاتصال، يحتفظ PendingActionsQueue بالتغييرات ويعيد إرسالها بالترتيب. الأرصدة تُحسب عبر getAccountRealBalance، ما يمنع تضارب الأرقام مع شاشة الحسابات أو الميزانيات.
ضبط الأمان والشفافية
تسجيل الديون مرتبط بالمصادقة نفسها المستخدمة في باقي التطبيق، مع إمكانية الدخول المجهول أو Google بحسب اختيارك. لا تُخزن معلومات الدفع الحساسة خارج القنوات المؤمنة، وتستطيع حفظ نسخة احتياطية مشفرة عبر BackupManager لتجنب فقدان السجل عند تغيير الهاتف.
للمشاركة داخل فرق صغيرة، يمكن ربط الدين بفريق ضمن مجموعة teams ليعرف أعضاء الفريق حالة السداد دون تعديل الرصيد الشخصي لكل عضو. هذا مفيد للديون الجماعية أو المصاريف المشتركة.
ما الذي يسهّل المتابعة؟
- بطاقات دين مختصرة تظهر الرصيد المتبقي وأقرب استحقاق.
- فلترة حسب حالة الدين (نشط، متأخر، مغلق) لتحدد الأولوية بسرعة.
- ملاحظات قصيرة لكل دفعة لتوثيق السبب أو المصدر.
- تنبيه تذكيري مبني على WorkManager دون الحاجة لتطبيقات خارجية.