الخزن والبنوك + تقرير التدفقات النقدية — داخل موديول المعامل

LIS · إدارة الخزن/البنوك بدون الدخول لموديول الحسابات · الربط التلقائي بشجرة الحسابات · تقرير يومي للداخل والخارج

1 المطلوب

2 اللي موجود فعلًا (وإيه الصح فيه)

مفاجأة سارّة: الربط التلقائي بشجرة الحسابات موجود ومتعمل صح في الباك إند بالفعل — مش محتاجين نبنيه من الصفر.
العنصرالحالةالتفاصيل
الخزنة (Petty Cash) موجود PettyCashController::store — لو بعتّ من غير account_idيعمل حساب فرعي تلقائي تحت «النقدية بالصندوق» (كود 1101) عبر AutoAccountService. صفر خطوات.
البنك (Bank Account) موجود نفس الآلية — حساب فرعي تلقائي تحت «النقدية بالبنك» (كود 1102) لو account_id فاضي.
مدفوعات المعمل موجود الويزارد وشاشة المدفوعات بيحمّلوا الخزن والبنوك بالفعل (PettyCashService/BankAccountService مع تجاهل خطأ الصلاحية 403). المدفوعة بتتربط بحساب الخزنة/البنك (GL).
ملخص يومي (بالطريقة) جزئي /lis/payments/daily-summary — بيرجّع إجمالي اليوم مقسوم حسب طريقة الدفع (كاش/فيزا/تحويل) فقط. مفيش تقسيم حسب الخزنة/الحساب، ومفيش «خارج».

3 الفجوات الحقيقية (إيه الناقص)

1) صلاحيات الحسابات: شاشات الخزن/البنوك محمية بصلاحيات accounting.* — والمعمل-فقط معندوش الصلاحيات دي، فمش قادر يضيف خزنة من غير موديول الحسابات.
2) فورم الحسابات بيطلب تختار حساب GL يدويًا: رغم إن الباك إند بيعمل ربط تلقائي، شاشة الحسابات في الفرونت بتجبر المستخدم يختار حساب من الشجرة. ده اللي بيخلّيها «صعبة وخطوات كتير».
3) مفيش شاشة إدارة خزن/بنوك جوّه المعمل — لازم تروح /accounting/petty-cash أو /accounting/bank-accounts.
4) مفيش تقرير تدفقات (داخل/خارج): الملخص الحالي «بالطريقة» بس وداخل بس. مفيش خارج (مرتجعات، عمولات أطباء، دفع معامل خارجية، مصروفات خزنة)، ومفيش تقسيم حسب كل خزنة/بنك.

4 الحل المقترح

أ) واجهة الخزن والبنوك داخل المعمل (Wrapper على الحسابات)

شاشة المعمل «الخزن والبنوك» endpoints جديدة /lis/treasuries + /lis/bank-accounts تنشئ PettyCash/BankAccount بـ account_id فاضي ⇐ ربط تلقائي

ب) تقرير التدفقات النقدية اليومي (/lab/cash-flow)

┌─ Cash Flow — 30 May 2026 ──────────────────────────────┐ │ IN 12,500 OUT 3,200 NET +9,300 │ ├──────────────┬─────────┬─────────┬─────────┬───────────┤ │ Account │ Opening │ In │ Out │ Closing │ ├──────────────┼─────────┼─────────┼─────────┼───────────┤ │ Main Cashbox │ 2,000 │ 6,500 │ 1,200 │ 7,300 │ │ Visa / POS │ 0 │ 4,000 │ 0 │ 4,000 │ │ NBE Bank │ 5,000 │ 2,000 │ 2,000 │ 5,000 │ └──────────────┴─────────┴─────────┴─────────┴───────────┘ By movement: Patient payments +12,500 · Refunds −400 Doctor settlements −1,800 · Ext-lab −1,000

5 ليه ده مهم: «المعمل ما يطلعش بره الموديول»

دلوقتي عشان المعمل يضيف خزنة لازم يدخل موديول الحسابات (صلاحيات + تعقيد + غالبًا موديول مدفوع منفصل). الحل ده بيخلّي كل حاجة مالية أساسية تتعمل من جوّه المعمل بصلاحيات المعمل، والربط المحاسبي بيحصل تلقائي ورا الكواليس. لو المعمل بعدين وسّع وفتح قسم حسابات كامل ⇐ نفس الخزن/البنوك بتظهر هناك عادي (لأنها نفس الكيانات)، فمفيش ازدواج ولا هجرة بيانات.

6 قرارات محتاج أأكدها قبل التنفيذ

س1 — مكان شاشة الخزن والبنوك
تبويب «الخزن والبنوك» جوّه صفحة إعدادات المعمل؟ ولا شاشة مستقلة /lab/treasuries تحت قائمة «المالية»؟ (المقترح: شاشة مستقلة تحت المالية — أوسع للإدارة، والإعدادات تفضل للإعدادات.)
س2 — الحركات اليدوية على الخزنة (إيداع/صرف)
عايز كمان تعمل إيداع/صرف يدوي على الخزنة من جوّه المعمل (مصروفات نثرية)؟ ولا بس عرض الرصيد والمدفوعات؟ (المقترح: نعم — صرف/إيداع بسيط، عشان «الخارج» يبقى مظبوط.)
س3 — نطاق «الخارج» في التقرير
الخارج يشمل: مرتجعات/إلغاءات + تسويات عمولات الأطباء + مدفوعات المعامل الخارجية + مصروفات الخزنة. نبدأ بالأربعة كلهم ولا نبدأ بالمرتجعات + مصروفات الخزنة بس؟ (المقترح: الأربعة — صورة كاملة لليوم.)
س4 — الصلاحيات
نعمل صلاحية معمل جديدة lis.treasuries.*، ولا نستخدم lis.settings.manage الموجودة؟ (المقترح: lis.settings.manage — أبسط، نفس صلاحية إعدادات المعمل.)
Moon ERP · LIS · تحليل الخزن والبنوك وتقرير التدفقات — جاهز للمراجعة. أكّد القرارات وأبدأ.