تنظيم الأدوار — مين بيعمل إيه في دورة المشتريات والمخازن

👥 مين بيستلم، مين بيشتري، مين يفحص، مين يحاسب — وإزاي أعمل يوزر لكل واحد

سؤالك مهم وصح: اللي بيستلم ويضيف للمخزن هو مسؤول المخازن، مش المشتريات — لكن الاستلام بيتعمل على أمر الشراء. الملف ده وجهة نظري في تنظيم ده، مع تحديد أدوار (المخازن / المشتريات / الجودة / الحسابات) وصلاحيات كل واحد بالظبط، وإزاي تعمل يوزر لكل دور خطوة بخطوة.

📅 9 يوليو 2026 🔑 الأدوار: /core/roles · المستخدمون: /core/users

١ وجهة نظري في المشكلة

عندك حق تمامًا — في أي نظام محترم (SAP/Oracle) الاستلام (Goods Receipt) شغل المخازن، والمخازن بيستلم على أمر شراء عمله المشتريات. المشتريات بتطلب وتوافق، والمخازن بيستلم، والجودة بتفحص، والحسابات بتفوتر. كل واحد بيلمس خطوة مختلفة من نفس السلسلة.

الخلاصة (وجهة نظري)
شاشة «إذن الاستلام / GRN» هي فعلًا شاشة استلام المخازن اللي إنت متخيّلها: بتفتحها، تختار أمر الشراء، تستلم عليه، (لو فعّلت الجودة) لازم فحص جودة، و(لو فعّلت حد الاستلام) الكمية محدودة بالمطلوب، وعند الاعتماد الرصيد يدخل المخزن. هي بس متسمّية تحت منيو «المشتريات» — لكن مين يستخدمها بتحدّده الصلاحية، مش الاسم. فالحل تنظيمي بالصلاحيات، مش تعديل برمجي: إدّي مسؤول المخازن صلاحية purchases.grns.* وهو بقى صاحب الاستلام.
الفكرة اللي في دماغك (المخازن يعمل «إذن إضافة» → يختار أمر شراء → يطلب جودة وكمية محددة) = بالظبط شاشة الـGRN. «إذن الإضافة» في المخازن (/core/stock-receipts) هو استلام عام (رصيد افتتاحي/استلام متنوّع) — مش مربوط بأمر شراء ولا بيطبّق الجودة/المطابقة. الاستلام المربوط بأمر + جودة + حد كمية = الـGRN. فبدل ما نبني نسخة مكرّرة، نستخدم الـGRN ونديه لدور المخازن.
اللي محتاج تفعّله من الإعدادات عشان رؤيتك تشتغل (Core ← الإعدادات ← المشتريات): grn_mode = grn_quality (يفرض الجودة) · enforce_receiving_limit = ON (يمنع استلام أكتر من المطلوب) · require_po_for_bill = ON + enforce_three_way_match = ON (المحاسب مايفوترش أكتر من المُستَلم). كلها جاهزة

٢ السلسلة بتوزيع الأدوار (مين يسلّم لمين)

المشتريات
① طلب شراء من احتياج المخزن/الإنتاج
② أمر شراء + اعتماد + إرسال للمورّد
المخازن
③ إذن استلام (GRN) على أمر الشراء + إدخال الكميات المستلمة
⑤ الاعتماد → الرصيد يدخل المخزن (بحد الكمية)
الجودة
④ فحص الجودة مقبول/مرفوض (في وضع grn_quality)
الحسابات
⑥ فاتورة الشراء على المُستَلم فعلًا (3-way match)
⑦ السداد + المحاسبة + تسوية GR-IR
⚠️ ملاحظة مهمة عن الجودة: حاليًا فحص الجودة + اعتماد الـGRN تحت صلاحية واحدة (purchases.grns.approve). فلو عايز مفتّش جودة منفصل يعمل الفحص بس من غير ما يقدر يعتمد نهائيًا — ده محتاج تعديل برمجي صغير (فصل صلاحية purchases.grns.quality). لحد ما نعمله: يا إما مسؤول المخازن يعمل الاستلام + الجودة + الاعتماد (الأبسط)، يا إما تدّي الجودة نفس الصلاحية باتفاق إن هو بس يفحص. أقدر أعمل الفصل ده لو حبيت.

٣ الأدوار الأربعة وصلاحيات كل واحد

دي القوائم اللي تفعّلها لكل دور في شاشة الأدوار. الأخضر = يمتلكها، الأحمر = ممنوعة عنه (فصل المهام).

🛒 موظّف المشتريات
يطلب ويوافق ويرسل الأوامر
purchases.requests.view/create/update/approve
purchases.orders.view/create/update/approve/confirm
purchases.reports.view · purchases.supplier_scorecard.view
inventory.stock.view · inventory.reorder.view
ممنوع
✗ استلام (grns.approve) · ✗ فواتير/سداد · ✗ إعدادات
🏬 مسؤول المخازن
يستلم على أمر الشراء ويضيف للمخزن ← ده صاحب الاستلام
purchases.grns.view/create/update/approve/cancel
inventory.receipts.view/create/approve/cancel
inventory.issues.* · inventory.transfers.*
inventory.counts.* · inventory.adjustments.*
inventory.stock.view · inventory.warehouses.view · inventory.products.view
ممنوع
✗ إنشاء أوامر شراء · ✗ فواتير/سداد · ✗ إعدادات
🔬 مسؤول الجودة اختياري
يفحص الاستلام (مقبول/مرفوض)
purchases.grns.view
purchases.grns.approve (⚠️ حاليًا بيشمل الاعتماد كمان)
ملاحظة
للفصل الصارم (جودة بلا اعتماد) نضيف صلاحية purchases.grns.quality — تعديل صغير أقدر أعمله.
🧮 المحاسب
يفوتر ويسدّد ويحاسب
purchases.bills.view/create/update/approve/post/cancel
purchases.payments.view/create/post/cancel
purchases.returns.view/create/approve/post
purchases.reports.view (+ تقرير GR-IR) · purchases.landed_cost.*
accounting.* (القيود والحسابات)
مدير مالي فقط
purchases.settings.view/manage (لضبط نمط الاستلام/GR-IR/الحسابات)
ممنوع
✗ استلام (grns.approve) · ✗ إنشاء أوامر

٤ مصفوفة سريعة — مين يقدر يعمل إيه

العمليةالمشترياتالمخازنالجودةالحسابات
طلب/أمر شراء
إذن استلام (GRN) + الكميات👁️ عرض
فحص الجودة✅*
اعتماد الاستلام → إضافة للمخزن—*
إذون إضافة/صرف/تحويل/جرد/تسوية
فاتورة الشراء + الترحيل
السداد + المرتجعات + القيود
الإعدادات (نمط الاستلام/GR-IR)✅ (مدير مالي)
التقارير (+ تقادُم GR-IR)👁️

* حسب اختيارك: لو مفيش مفتّش جودة منفصل، مسؤول المخازن يعمل الفحص + الاعتماد. لو فيه، الجودة تفحص والمخازن يعتمد (بالتعديل الصغير المذكور).

٥ إزاي تعمل يوزر لكل دور — خطوة بخطوة

  1. اعمل الأدوار أولًا — افتح Core ← الأدوار ← «دور جديد» ← اكتب الاسم (مثلاً «مسؤول مخازن») ← فعّل الصلاحيات من القائمة (استخدم وضع «حسب الشاشة» الجديد — بيعرض الصلاحيات زي المنيو فتفعّل شاشة كاملة بضغطة) ← احفظ. كرّر لكل دور (مشتريات / مخازن / جودة / محاسب).
  2. اعمل المستخدم — افتح Core ← المستخدمون ← «مستخدم جديد» ← الاسم/الإيميل/كلمة المرور ← اختر الدور اللي عملته ← احفظ.
  3. المستخدم يدخل على التطبيق بحسابه — هيشوف بس الشاشات المسموح له بيها، والباقي مخفي.
  4. راجع بالتجربة — سجّل دخول بحساب المخازن وجرّب: هل يقدر يفتح الـGRN ويختار أمر شراء؟ هل ممنوع من الفواتير؟ ظبّط الصلاحيات لو ناقص/زايد.
نصيحة: ابدأ بأدوار قليلة واضحة (٤ أدوار)، وبعدين فصّل أكتر لو احتجت (مثلاً «أمين مخزن» بيستلم بس، و«مدير مخازن» يعتمد). ووضع «حسب الشاشة» في محرّر الأدوار بيسهّل ده جدًا لأنه بيوضّح الصلاحيات المشتركة اللي الشاشة محتاجاها.

٦ خيارات لو عايز الاستلام «يحسّ» إنه في المخازن أكتر

الخيارإزايرأيي
أ) استخدم الـGRN كما هو + صلاحيات المخازنإدّي دور المخازن purchases.grns.* — يعمل الاستلام من شاشة الـGRN.✅ موصى به — صفر تطوير، بيعمل كل اللي عايزه دلوقتي.
ب) نظهر رابط الـGRN في منيو المخازن كمانتعديل FE بسيط في القائمة (نضيف «الاستلام» تحت المخازن يودّي على نفس شاشة الـGRN).👍 تحسين شكلي لطيف لاحقًا (مجرد لينك).
ج) نخلّي «إذن الإضافة» في المخازن يختار أمر شراءتطوير: نربط /core/stock-receipts بأمر الشراء + الجودة + المطابقة.مش موصى به — بيكرّر الـGRN ويعقّد المحاسبة. الأفضل الخيار (أ).
د) فصل صلاحية الجودة عن الاعتمادتطوير صغير: صلاحية purchases.grns.quality منفصلة.👍 لو عايز مفتّش جودة صارم لا يعتمد — أقدر أعمله بسرعة.