زرّ «إضافة عميل» ينقل إلى شاشة العملاء، فيخرج المستخدم من سياقه ويعود بنفسه. والنافذة المنبثقة موجودة أصلاً (QuickClientModal) وتُستعمل في نقطة البيع.
كيف تُجرَّب: الرئيسية ← «إضافة عميل» ← تفتح نافذة فوق الصفحة ← احفظ ← تبقى في الرئيسية وتظهر رسالة نجاح.
2
روابط: فاتورة بيع · فاتورة شراء · عرض سعر
جاهزة لاختبارك
ثلاثة إجراءات يوميّة لا مدخل لها من الرئيسية، فتُفتح من القائمة الجانبية في كل مرّة.
كيف تُجرَّب: الرئيسية ← صفٌّ ثانٍ تحت الأزرار الأربعة ← كل زرّ يفتح شاشته الصحيحة.
3
أربعة أرقام: المبيعات · الأرباح · المرتجعات · الرصيد
جاهزة لاختبارك
المرتجعات والرصيد لا يظهران في الرئيسية اليوم، ويُسألان يومياً. المصادر جاهزة: fetchNetProfit و fetchReturnsSummary و fetchMoneyBalances.
كيف تُجرَّب: الرئيسية ← أربع بطاقات جديدة ← قارن الرصيد بشاشة «الأرصدة»، والمرتجعات بتقرير المرتجعات لنفس المدّة.
4
بطاقة «المشتريات» تعرض صفراً دائماً
جاهزة لاختبارك
عطبٌ قائم: القيمة مكتوبة صراحةً formatCurrency(0) في الشيفرة، فلا تتغيّر مهما اشتُري.
كيف تُجرَّب: سجّل فاتورة شراء اليوم ← الرئيسية ← البطاقة تعرض قيمتها لا صفراً.
5
«منتج سريع» لا يعمل
جاهزة لاختبارك
البطاقة تَعِد بـ«إضافة منتج بدون تفاصيل» وكل ما تفعله وضعُ المؤشّر في خانة البحث. التعليق في الشيفرة يقرّ بذلك: no-op مع TODO.
كيف تُجرَّب: نقطة البيع ← «منتج سريع» ← نافذة تطلب الاسم والسعر ← احفظ ← يُضاف الصنف للسلّة وللمخزون.
6
معالج الإعداد للحساب الجديد
جاهزة لاختبارك
الحساب الجديد يبدأ فارغاً بلا دليل: بيانات المنشأة، السجل والضريبة، أول فرع، الأرصدة الافتتاحية، أول مستخدم. اليوم تُكتشف من شاشة الإعدادات بالصدفة.
كيف تُجرَّب: سجّل حساباً جديداً ← يُساق إلى خمس خطواتٍ قابلة للتخطّي ← يصل لأول فاتورة صحيحة بلا فتح الإعدادات.
7
شريط «بياناتك ناقصة» في الرئيسية
جاهزة لاختبارك
من تخطّى الإعداد لا يعرف ما ينقصه حتى تُرفض فاتورته.
كيف تُجرَّب: احذف الرقم الضريبي ← الرئيسية ← شريطٌ يذكر الناقص ويصل إليه.
8
«إدارة الاشتراكات» تعرض الاشتراكات لا المنشآت
جاهزة لاختبارك
المنشأة بلا اشتراكٍ لا تظهر أصلاً — نحو عشرة حسابات إنتاج غير مرئية لمن يديرها، فلا تُفعَّل ولا تُتابَع.
كيف تُجرَّب: أنشئ حساباً بلا اشتراك ← يظهر في القائمة بحالة «بلا اشتراك».
9
قصر الدخول على شبكة الفرع وموقعه — مبنيٌّ، يحتاج تجربة
جاهزة لاختبارك
طُلب بناؤه فتبيّن أنه قائمٌ منذ قبل: نموذج الفرع فيه geofence (تفعيل وإحداثيات ونصف قطر) و ipAllowlist، ومسارُ الدخول يفرضهما على الكاشير ومدير الفرع ويُعفي المالك — ويُقدّم فحصَ عنوان الشبكة أولاً لأنه لا يحتاج تعاونَ المتصفّح، ثم الموقع. وشاشةُ الفروع تعرض الحقلين. فلا يُبنى ثانيةً بل يُجرَّب ويُوثَّق. وهذا هو البديل العمليّ لطلب «الماك أدريس»: عنوانُ شبكة المكتب يؤدّي الغرض، والواي فاي الثابت يزيده دقّة.
كيف تُجرَّب: الفروع ← فعّل الموقع بنصف قطر ١٠٠ متر ← ادخل بحساب كاشير من داخل الفرع: يعمل ← من شبكةٍ أخرى: يُمنع برسالة. ثم أضف عنوان شبكة المكتب إلى القائمة المسموحة ← الدخول من غيرها يُمنع قبل أن يُسأل عن الموقع.
10
محوران للتصفية وترقيمٌ وتجاهُل
جاهزة لاختبارك
الحالة والأهميّة صفتان لا صفة، فصُفّتا في محورين. ومعهما ✕ لكل تنبيه، و«تجاهل الكل»، و«عرض المزيد».
كيف تُجرَّب: التنبيهات ← «غير المقروء» + «مهم» معاً ← ✕ على تنبيه يختفي فوراً ← «عرض المزيد» لا يكرّر ولا يُسقط.
11
الهويّة الفيروزية في الشاشات كلّها
جاهزة لاختبارك
٤٧٩٦ لوناً صريحاً نُقلت إلى رموز، ثم قُلبت الهويّة بتحرير ثلاثة أسطر.
كيف تُجرَّب: تصفّح عشر شاشاتٍ داخلية ← لا يبقى ذهبي ← اطبع فاتورة ← ألوانها سليمة.
12
شعار TOP SAS في الشريط والدخول واللسان
جاهزة لاختبارك
الصفحات الداخلية كانت لا تزال على وثاق تك، ومعها أيقونة اللسان وعنوان الصفحة.
كيف تُجرَّب: حدّث الصفحة بقوّة ← الشريط والدخول والتسجيل وأيقونة اللسان: TOP SAS.
13
بوّابة انحراف الفهارس
جاهزة لاختبارك
فهرسا TTL ناقصان في الاختبار كانا سيجعلان تجميعتين تنمُوان بلا حدّ. وسكربتُ المزامنة لم يكن يرى النموذجين أصلاً.
كيف تُجرَّب: /api/health ← indexDrift يساوي صفراً في الإنتاج والاختبار.
لم تبدأ (81)
لم تبدأ بعد، مرتَّبةٌ بالأولويّة.
14
ازدواج الذمم المدينة — لم يُعَد إنتاجه، ويلزم بيانٌ منك
عاجل
بُحث في المواضع الثلاثة التي قد يقع فيها فلم يقع في أيّها: (١) القيود — البيعة الآجلة تُقيَّد مرّةً واحدة مدينةً في ١١٣٠، والسداد يُنقصها، والمرتجع كذلك؛ (٢) المصدران — رصيدُ بطاقة العميل (currentBalance) ومجموعُ ١١٣٠ في القيود متطابقان بعد بيعةٍ وسدادٍ جزئيٍّ وبيعتين متتاليتين؛ (٣) لوحة المالية — «ديونٌ جديدة في المدّة» و«إجمالي المستحقّ» رقمان منفصلان لا يُجمعان. وأُضيف اختبارٌ يقفل الاثنين معاً (receivablesMirror) فأيُّ انفراقٍ لاحقٍ يسقط الفحص. فيبقى السؤال: في أيّ شاشةٍ أو تقريرٍ رُئي الرقم مضاعفاً؟ فبلا ذلك لا يُصلَح إلا بالحدس — والحدسُ في المحاسبة يُنشئ عطباً ثانياً فوق الأول.
كيف تُجرَّب: أرِ الشاشة التي ظهر فيها الرقم مضاعفاً، ومعها رقمُ العميل والمدّة — ثم يُقارن بما في ميزان المراجعة.
15
حسم اسم العلامة قانونياً قبل التوسّع
عاجل
بحث SAIP: «TOP SAS» صفر نتائج، لكن ٣٤ علامة تحوي SAS وأكثرها في الفئة ٩ (البرمجيات) — وSAS Institute تُنازع في ٩ و٤٢ وهما فئتا هذا المنتج. الصفرُ ليس براءة: البحث مطابقةٌ تامّة بلا حرفٍ بديل.
كيف تُجرَّب: رأيُ وكيل علامات تجارية مكتوب على الفئتين ٩ و٤٢.
16
رفع حجب الفوترة في GitHub
عاجل
الإجراءات كلُّها موقوفة لعجز الدفع عن ٠٫٠٦ دولار: لا اختبارات، ولا فحص نشر. وسجلّ المستودع يذكر حجباً سابقاً لم يُرفع إلا بتدخّل الدعم — فالبطاقات المدفوعة مسبقاً مرفوضة أصلاً.
كيف تُجرَّب: ادفع ← أعِد تشغيل آخر تشغيلٍ فاشل ← يخضرّ.
17
التأكّد من عمل النسخ الاحتياطي على كونتابو
عاجل
النسخة الليلية توقّفت منذ ١٨ أغسطس بسبب الحجب، وعنقود Atlas مشتركٌ بلا نسخٍ من المزوّد. رُكّب البديل على الخادم وينقصه ثلاثة أسرار.
كيف تُجرَّب: backup-configure ثم backup-mongo ← لقطةٌ جديدة في restic snapshots ← ثم جرّب استرجاعها فعلاً.
18
دمج testing إلى main
عاجل
كلُّ ما بُني منذ ٦ أغسطس ما زال في testing: الترميز اللوني، والهويّة، والتنبيهات، وتصفية التصنيفات.
كيف تُجرَّب: بعد اختبارك للبنود المنجَزة ← دمج ← فحص النشر يخضرّ ← الإنتاج يعمل.
19
إضافة تصنيف من داخل شاشة البيع
مهمّ
التصنيف الجديد يحتاج الخروج إلى شاشة المنتجات ثم العودة، والكاشير قد لا يملك صلاحيتها.
كيف تُجرَّب: نقطة البيع ← «+ تصنيف» ← أضف ← يظهر في شريط التصنيفات فوراً بلا إعادة تحميل.
20
بطاقة «ملاحظة» لا تفعل شيئاً
مهمّ
no-op صريح في الشيفرة (TODO) — بطاقةٌ تُضغط ولا يقع شيء، وهي أسوأ من غيابها.
كيف تُجرَّب: نقطة البيع ← «ملاحظة» ← نافذة تكتب فيها ← تظهر الملاحظة على الفاتورة المطبوعة.
21
هامش الربح ولون التحذير عند البيع بخسارة
مهمّ
أُضيف في صفحة المنتجات؛ يحتاج تأكيداً أنه يعمل مع الأسعار الثلاثة للجملة.
كيف تُجرَّب: أضف منتجاً بتكلفة ١٠٠ وسعر ٩٠ ← يظهر الهامش سالباً بالأحمر.
22
«تراجع عن الاستلام» لأمر الشراء
مهمّ
الاستلام يزيد المخزون ولا سبيل لعكسه إن أُدخل غلطاً، فيُصحَّح بحركة يدوية تُفسد التتبّع.
كيف تُجرَّب: استلم أمر شراء ← تراجع ← يعود المخزون ويُلغى القيد المحاسبي.
23
قيود البيع والشراء عبر جدول الربط
مهمّ
الحسابات مكتوبة في الشيفرة، فمن غيّر شجرة حساباته لم تتبعه القيود.
كيف تُجرَّب: غيّر حساب المبيعات في «ربط الحسابات» ← بِع ← القيد يذهب للحساب الجديد.
24
تقرير التدفّق النقدي
مهمّ
مطلوبٌ لأي منشأةٍ تُراجَع، وغيرُ موجود.
كيف تُجرَّب: التقارير ← التدفّق النقدي ← المدّة ← المجموع يطابق حركة الصندوق والبنك.
25
أعمار ديون الموردين
مهمّ
يوجد نظيره للعملاء ولا يوجد للموردين، فلا يُعرف المستحقّ ومتى.
كيف تُجرَّب: التقارير ← أعمار الدائنين ← الأعمدة ٣٠/٦٠/٩٠ يوماً.
26
كشف حساب عميل مستقلّ للطباعة
مهمّ
الكشف داخل بطاقة العميل ولا يُطبع وحده ليُرسل.
كيف تُجرَّب: العميل ← كشف حساب ← طباعة ← ترويسة المنشأة والرصيد الافتتاحي والختامي.
27
نسخة الشعار بخلفيةٍ شفّافة (PNG/SVG)
مهمّ
الملفّات الأربعة كلُّها JPEG بخلفيةٍ بيضاء مطبوعة، فيظهر الشعار مربّعاً أبيض على الشريط الداكن. والنقطيّ لا يكبر للّوحات والطباعة.
كيف تُجرَّب: الشريط الجانبي ← الشعار بلا مربّعٍ أبيض حوله.
28
الترويسة تعرض العلامة مرّتين وتُخفي هويّة المنشأة
مهمّ
في التصميم المقترح يظهر شعار TOP SAS في الشريط وفي الترويسة معاً، وفي موضع اسم المنشأة والمستخدم. وهذا نظامٌ متعدّد المنشآت: من يعمل على حسابين يحتاج أن يعرف أين هو.
كيف تُجرَّب: الترويسة تعرض اسم المنشأة والمستخدم؛ شعار المزوّد في الشريط وحده.
29
الشعار النصّي تحت العلامة لا يُقرأ
مهمّ
«إدارة ذكية · أعمال أسهل · نمو أسرع» يُعرض بنحو ٧ بكسل بلونٍ باهت على الكحلي — لا يُقرأ ولا يجتاز معايير التباين. والشعارات النصّية للتسويق لا لشاشةٍ تُستعمل ثماني ساعات.
كيف تُجرَّب: الشريط الجانبي ← إمّا حجمٌ مقروء أو يُحذف.
30
إيقاف جدولة backup.yml بعد نجاح البديل
مهمّ
تفشل كل ليلةٍ وتُرسل بريد فشل، فيُعتاد تجاهلُ بريد الفشل — وهو الجرس نفسه الذي يجب أن يُسمع يوماً.
كيف تُجرَّب: لا يصل بريد فشلٍ ليليّ، ويبقى التشغيل اليدوي متاحاً.
31
تذكُّر الجهاز في التحقّق الثنائي
مهمّ
التحقّق الثنائي مبنيٌّ أصلاً؛ الناقص أن يُسأل مرّةً كل مدّة على الجهاز نفسه. وسؤالُه في كل دخولٍ يدفع المستخدم إلى تعطيله، فتُفقد الحماية كلُّها طلباً للراحة.
كيف تُجرَّب: ادخل بالتحقّق ← علّم «تذكّر هذا الجهاز» ← اخرج وادخل ← لا يُسأل. ومن متصفّحٍ آخر ← يُسأل.
32
حدّ المستخدمين حسب الباقة
مهمّ
لا حدَّ اليوم: الباقة لا تُقيّد عدد المستخدمين، فتُضاف حسابات بلا مقابل ويُفقد فرقُ الباقات معناه.
كيف تُجرَّب: باقةٌ حدُّها ٣ ← أضف الرابع ← يُرفض برسالةٍ تذكر الحدّ وسبيل رفعه.
33
رفع حدّ المستخدمين لمنشأةٍ بعينها عند الطلب
مهمّ
الحدّ بالباقة لا يكفي: منشأةٌ تطلب مستخدماً زائداً تحتاج استثناءً تمنحه الإدارة، لا تغييرَ باقةٍ كاملة.
كيف تُجرَّب: إدارة المنصّة ← منشأة ← ارفع الحدّ إلى ٥ ← تستطيع إضافة الخامس.
34
إظهار وإخفاء عناصر القائمة لكل منشأة
مهمّ
القائمة واحدةٌ للجميع، فترى منشأةُ البقالة شاشاتِ المقاولات وتضيع بينها. والتحكّم من الإعدادات يجعل النظام يبدو بحجم حاجتها.
كيف تُجرَّب: الإعدادات ← أطفئ «المقاولات» ← يختفي القسم من القائمة، ومن كتب مساره يداً يُمنع.
35
تقييمٌ يكتبه التاجر ويُشارَك بين التجار
مهمّ
أساسٌ للطلبين بعده وغيرُ موجود: التقييم اليوم يُحسب آلياً من تواريخ الاستحقاق (أخضر/أصفر/أحمر) داخل المنشأة الواحدة — لا يكتبه أحد ولا يراه تاجرٌ آخر. والمطلوب حكمٌ يكتبه التاجر («مرضٍ/يحتاج متابعة/غير مرضٍ») ويُشارَك. تنبيه: مشاركةُ حكمٍ سلبيٍّ عن منشأةٍ ثالثة عملٌ قريبٌ من التصنيف الائتماني، وله في السعودية جهةٌ منظِّمة — يُستشار فيه قانونيّاً قبل النشر.
كيف تُجرَّب: قيِّم عميلاً من منشأة أ ← افتح المنشأة ب ← ترى التقييم بلا تفاصيل المعاملة.
36
تعهّدٌ قبل اعتماد تقييمٍ سلبي
مهمّ
التقييم السلبي يبقى معلّقاً على العميل بعد زوال سببه، فيُظلم. فيُشترط إقرارٌ مكتوب قبل الاعتماد: «أقر بأن التقييم يعكس تجربة تعامل فعلية… وأتعهد بمراجعته وتحديثه عند انتهاء المعاملة أو المخالصة…».
كيف تُجرَّب: اختر «غير مرضٍ» ← زرّ الاعتماد معطّل ← علّم الإقرار ← يُفعَّل. واختر «مرضٍ» ← لا يُطلب إقرار.
37
تنبيه مراجعة التقييم عند المخالصة
مهمّ
التعهّد وحده وعد؛ والتنبيه يجعله فعلاً. فإذا سُجّل سدادٌ كامل أو مخالصة للمعاملة المرتبطة، يُطلب من التاجر مراجعة تقييمه: [تحديث] أو [إبقاء]. ولا يُحوَّل آلياً إلى «مرضٍ» — التقييم تجربةُ تعاملٍ لا حالةُ سداد؛ لكن الإبقاء على السلبي بعد المخالصة يحتاج تأكيداً ثانياً، ولا يُنشر سببُه لبقيّة التجار.
كيف تُجرَّب: قيِّم عميلاً «غير مرضٍ» ← سدّد فاتورته كاملة ← يظهر التنبيه ← اختر «الإبقاء» ← يُطلب تأكيدٌ ثانٍ.
38
«التبديل للبضائع» — يحتاج توضيحاً
مهمّ
ورد في طلبات ٢١ أغسطس بلا سياقٍ يكفي. أهو تبديلُ نشاط المنشأة إلى تجارة البضائع؟ أم مقايضةُ بضاعةٍ ببضاعة؟ أم تحويلُ صنفٍ إلى آخر في المخزون؟ ثلاثةُ أعمالٍ مختلفة، فلا يُبدأ بأحدها بالحدس.
39
القيود تُرحَّل بلا انتظار — والفشل لا يبلغ صاحبه
مهمّ
المسار يردّ ٢٠١ ثم يُرسل الترحيل المحاسبي بلا انتظار (postSafely، في ٣٢ موضعاً بسبعة ملفّات). فإن سقط الترحيل لم يُعلَم به أحد: سطرُ تحذيرٍ في السجلّ، والمستخدم قد قيل له «تمّ». والحالة الناتجة: سندٌ موجودٌ بلا قيدٍ يقابله. يُقرَّر: إمّا الانتظار قبل الردّ، أو صفٌّ يُعاد المحاولة فيه وتنبيهٌ عند العجز — لا سطرَ تحذيرٍ وحده.
كيف تُجرَّب: اجعل الترحيل يفشل عمداً ← أنشئ دفعةً مقدّمة ← يجب ألا يُقال «تمّ» بلا قيد، أو يصل تنبيهٌ صريح.
40
تسعُ حزمٍ ما زالت تنام مدّةً ثابتة قبل أن تسأل عن قيد
مهمّ
اثنتا عشرة حزمةً تستعمل settle(400) — نومٌ ثابتٌ ثم سؤالٌ عن قيدٍ يُرحَّل بلا انتظار. أُصلحت ثلاثٌ سقطت فعلاً في الفحص (advancePayment · apCycle · invoicePartialPayment) بـ testUtils/waitFor، وبقيت تسع: accountingBalances · contractorAccounting · custody · delayPenalty · employeeCustody · extractRetention · projectModule · registerLead · smartExpenses. كلُّها تنجح اليوم وتسقط يوم يُحمَّل الخادم — وهو أسوأ سقوطٍ: لا يُعاد إنتاجه عند من يُصلحه.
كيف تُجرَّب: حوّلها إلى waitFor ← شغّل الحزمة كاملةً على الخادم مرّتين متتاليتين ← تمرّان.
41
الحزمة تسقط تحت التوازي — عزلُ الاختبارات
مهمّ
مع maxWorkers=2 يسقط ٣٤ اختباراً من ٨٠٦ بـE11000 على phone_1: ملفّان يستعملان أرقام هواتفٍ واحدة فيتزاحمان. والفحص يعمل الآن متسلسلاً — عشرون دقيقةً بدل خمس — وهذا ثمنٌ يُدفع كل دفعة. (والعلّة كانت في سير GitHub أيضاً، فما كان ليخضرّ لو عمل.)
كيف تُجرَّب: شغّل: npx jest --ci --maxWorkers=4 ← تمرّ الحزمة كلُّها ← ثم يُعاد الفحص على الخادم إلى التوازي.
42
إعدادات التنبيهات: أيّ الأنواع تصلني
مُجدوَل
زرٌّ في التصميم بلا شيءٍ خلفه: لا نموذج ولا مسار. خمسون نوعاً تصل كلُّها للجميع، فتُتجاهل كلُّها.
كيف تُجرَّب: التنبيهات ← «إعدادات» ← أطفئ نوعاً ← تسبَّب في حدوثه ← لا يصل.
43
بند أمر الشراء عند المقاول يبقى بلا معرّف صنف
مُجدوَل
productId يبقى فارغاً فلا يتحرّك المخزون عند الاستلام. عولج في شاشة التاجر ولم يُعالج عند المقاول.
كيف تُجرَّب: أمر شراء من شاشة المقاولات ← استلم ← افحص المخزون: يجب أن يزيد.
44
إقفال السنة المالية
مُجدوَل
لا سبيل لإقفال سنةٍ وترحيل الأرباح المدوّرة، فتختلط السنوات في التقارير.
كيف تُجرَّب: أقفل ٢٠٢٥ ← الأرباح تُرحَّل ← لا يُقبل قيدٌ بتاريخها إلا بإذن المالك.
45
اعتماد القيود قبل ترحيلها
مُجدوَل
كل قيدٍ يُرحَّل فوراً بلا مراجعة، ولا يليق بمنشأةٍ لها محاسب ومراجع.
كيف تُجرَّب: محاسب يُنشئ قيداً ← يبقى «بانتظار الاعتماد» ← المالك يعتمده ← يُرحَّل.
46
تصدير القوائم المالية
مُجدوَل
لا تُصدَّر إلى Excel، فتُنسخ يدوياً للمحاسب القانوني.
كيف تُجرَّب: الميزانية ← تصدير ← يفتح الملف بأرقامٍ مطابقة.
47
أسماء المنتجات في القائمة ما زالت «وثاق تك»
مُجدوَل
«سوق وثاق تك» و«فريق وثاق تك» أسماءُ منتجاتٍ لا زخرفة، وتغييرها يمسّ تطبيق السوق ووثائقه — فتُركت عمداً حتى يُحسم الاسم.
كيف تُجرَّب: القائمة الجانبية ← لا يبقى «وثاق تك» في أيّ عنصر.
48
نصوص الصفحة الرئيسية ما زالت «وثاق تك»
مُجدوَل
الشريط صار TOP SAS والعناوين والوصف لم تتغيّر — تجربةُ شعارٍ لا تحويلَ هويّة، بانتظار الحسم القانوني.
كيف تُجرَّب: الصفحة الرئيسية ← العنوان والوصف والأقسام بالاسم الجديد.
49
«تسجيل الخروج» في أبرز موضع
مُجدوَل
إجراءٌ نادرٌ يأخذ أثمن ركنٍ في الشاشة، والملفّ والإعدادات خلفه. موضعُه قائمة الحساب.
كيف تُجرَّب: الترويسة ← الخروج داخل قائمة الحساب لا زرّاً مستقلاً.
50
ألوان أيقونات المؤشّرات تُزاحم ألوان الدلالة
مُجدوَل
أحمر وبنّي وذهبي وأخضر بلا قاعدة، والأحمر نفسه يعني «متأخّر» في مكانٍ آخر. اللون معنىً لا زينة.
كيف تُجرَّب: الرئيسية ← طقم أيقوناتٍ واحد، واللون للدلالة وحدها.
51
إعادة تسمية --gold إلى --accent
مُجدوَل
قيمتها فيروزية واسمها ذهبي. أُجّلت عمداً لئلا يختلط تغييرُ الاسم بتغيير اللون في فرقٍ واحد.
كيف تُجرَّب: لا يبقى --gold في الشيفرة، والمظهر كما هو.
52
الإجازات على نمط أوراكل: أرصدة واستحقاق وسلسلة اعتماد
مُجدوَل
الإجازات اليوم طلبٌ وموافقة. والمطلوب رصيدٌ يُستحقّ شهرياً، وترحيلٌ للسنة التالية، وبدلٌ نقديّ، وسلسلةُ اعتمادٍ بأكثر من درجة.
كيف تُجرَّب: موظف ← الرصيد يزيد آلياً كل شهر ← اطلب إجازة ← تمرّ على مديره ثم الموارد البشرية ← يُخصم الرصيد.
53
الإنذارات والخصومات
مُجدوَل
لا موضع لتسجيل إنذارٍ أو خصمٍ تأديبي، فتُدار على الورق ولا تظهر في مسيّر الرواتب.
كيف تُجرَّب: سجّل إنذاراً بخصم ٣ أيام ← يظهر في ملف الموظف وفي مسيّر الشهر.
54
الترقيات وزيادة الراتب بتاريخ سريان
مُجدوَل
تغييرُ الراتب اليوم يكتب فوق القديم فيضيع تاريخُه، ولا يُعرف راتبُ الموظف في شهرٍ مضى.
كيف تُجرَّب: رقِّ موظفاً من أول الشهر القادم ← مسيّر هذا الشهر بالقديم، والقادم بالجديد، والتاريخ محفوظ.
55
الهرم الوظيفي
مُجدوَل
لا تسلسل إداريّاً مرسوماً، وهو ما تُبنى عليه سلسلةُ اعتماد الإجازات والتقييم.
كيف تُجرَّب: الموارد البشرية ← الهيكل ← شجرةٌ تُظهر من يرفع لمن ← تُستعمل في اعتماد الإجازة.
56
ربط الكاشير بموقعٍ جغرافيّ
مُجدوَل
طبقةٌ ثانية مع قيد الشبكة: شاشة البيع لا تُفتح إلا داخل نطاقٍ حول الفرع. وتُبنى على إذن الموقع في المتصفّح، فهي مُعينةٌ لا حارس — تُخدع بالتزوير، ولذلك تُجمع مع قيد الشبكة لا تُغني عنه.
كيف تُجرَّب: حدّد نطاق الفرع ← افتح نقطة البيع داخله: تعمل ← خارجه: تُمنع.
57
باقاتٌ ومميّزاتٌ تُدار من لوحة الإدارة لا من الكود
مُجدوَل
الفقرات ٣٨ و٤٢ و٤٣، وهي أساسُ المنظومة كلِّها: اليوم الباقة حقلٌ محدود القيم في نموذج الاشتراك والمميّزات مكتوبةٌ في الشيفرة. والمطلوب جدولُ باقاتٍ يُحرَّر: اسمٌ وسعرٌ وسعرُ سنةٍ أولى وتجديدٌ ومدّةُ تجربة وحدودٌ (مستخدمون، مناديب، فروع، مستودعات) ومفاتيحُ مميّزات. وكلُّ بندٍ بعده يسأل هذا الجدول، فلو بُني قبله لأُعيد بناؤه.
كيف تُجرَّب: لوحة الإدارة ← أنشئ باقة ← أطفئ ميزة ← المنشأة تفقدها فوراً بلا إصدارٍ جديد.
58
صلاحيات الأسواق منفصلة عن أسماء الباقات
مُجدوَل
الفقرة ٤٣: أربعُ صلاحياتٍ مستقلّة — دخولُ سوق الموردين، دخولُ سوق التجار، البيعُ كمورّد، إدارةُ التوصيل. والربطُ باسم الباقة يجعل كل تغييرٍ تجاريٍّ تعديلَ شيفرة.
كيف تُجرَّب: امنح منشأةً صلاحية سوق الموردين وحدها ← ترى سوق الموردين ولا ترى سوق التجار.
59
نشاطٌ جديد: بقالة / تموينات / سوبر ماركت
مُجدوَل
الأنشطة اليوم خمسة ليس فيها بقالة (trader · contractor · followup_office · hospitality · restaurant). والمنظومة كلُّها معلّقةٌ على هذا النوع: به يظهر السوق ويُخفى عن غيره.
كيف تُجرَّب: سجّل منشأةً نشاطُها «بقالة» ← تظهر: الكاشير وسوق الموردين وطلبات الموردين — ولا تظهر لتاجرٍ عادي.
60
موقع الفرع إلزاميٌّ عند التسجيل
مُجدوَل
الفقرة ٢: مدينةٌ وحيٌّ وعنوانٌ مختصر وإحداثيات ورقمُ تواصل واسمُ فرع — لكل فرعٍ موقعُه. وعليه يقوم توزيعُ الطلبات وتجميعُها بالأحياء، فبدونه لا تعمل الفصول ١٦–٢٢. ويحتاج مزوّدَ خرائط: قرارٌ وكلفةٌ ومفتاح.
كيف تُجرَّب: سجّل بقالة ← لا يكتمل التسجيل بلا موقع ← أضف فرعاً ثانياً ← يُطلب موقعُه مستقلاً.
61
المناقصات والتسعير
لاحقاً
أكبر فجوةٍ في وحدة المقاولات: لا موضع لدراسة مناقصةٍ وتسعيرها قبل أن تصير عقداً.
كيف تُجرَّب: أنشئ مناقصة ← بنود وكميات ← سعّر ← حوّلها عقداً عند الترسية.
62
متغيّرات العقد — المرحلة الثالثة
لاحقاً
المرحلتان الأولى والثانية أُنجزتا؛ الثالثة (الحصاد من المستندات المستوردة) لم تُنجز.
كيف تُجرَّب: استورد عقداً ← تُقترح المتغيّرات المكتشفة ← اقبلها ← تُملأ في القالب.
63
٣٥٧ لوناً صريحاً باقياً بلا رمز
لاحقاً
ألوانٌ نادرة تُركت صريحةً عمداً. تُراجَع: ما تكرّر يُرمَّز، وما استُعمل مرّةً يبقى.
كيف تُجرَّب: إعادة تشغيل عدّاد الألوان بعد المعالجة.
64
ترجمة الشاشات إلى الإنجليزية
لاحقاً
المفاتيح موجودة والقشرة مترجمة؛ الصفحات لم تُترجم بعد.
كيف تُجرَّب: بدّل اللغة ← تصفّح عشر شاشات ← لا يبقى نصٌّ عربي.
65
شاشات قطاع الفنادق
لاحقاً
القطاع مفتوحٌ في التسجيل وشاشاته ناقصة.
كيف تُجرَّب: سجّل منشأة ضيافة ← الحجز والغرف والنزلاء تعمل.
66
دورات التصنيع وحساب تكاليف الإنتاج
لاحقاً
قطاعٌ جديد كاملاً: أمرُ تشغيل، وقائمةُ مكوّنات، واستهلاكُ مواد، وتكلفةٌ تُحمَّل على المنتج (مواد + أجور + غير مباشرة). ولا شيء منه اليوم.
كيف تُجرَّب: أمر تشغيل ← اصرف المواد ← أنهِ الأمر ← تكلفة الوحدة تساوي مجموع ما حُمّل عليها.
67
فصلُ سوق الموردين عن سوق التجار
لاحقاً
الفقرات ١ و٣٩–٤١: سوقُ التجار مبنيٌّ أصلاً (MarketplaceListing و MarketplaceOrder وغيرهما). وسوقُ الموردين نماذجُه وقواعدُه مختلفة: المورّد يعرض والبقالة تطلب. والمصنع لا ينال سوق التجار باشتراكه في سوق الموردين.
كيف تُجرَّب: مورّدٌ مشتركٌ في سوق الموردين وحده ← لا يظهر له سوق التجار ولا عروضُه.
68
تصفّح الموردين ومنتجاتهم
لاحقاً
الفقرتان ٦ و٧: قائمةُ الموردين الذين يغطّون موقع البقالة مصنّفةً؛ وصفحةُ المورّد: شعارٌ ونبذةٌ ومناطقُ تغطية ومنتجاتٌ بصورةٍ ووحدةٍ وسعرٍ إن سمح وحدٍّ أدنى وتوفّرٍ وعروض.
كيف تُجرَّب: بقالةٌ في جدة ← لا يظهر موردُ الرياض وحدها ← افتح مورّداً ← منتجاته بوحداتها وأسعارها.
69
سلّةٌ وطلبُ توريدٍ برقمٍ تلقائي
لاحقاً
الفقرة ٨: المورّد ثم المنتجات والكميات ثم مراجعةٌ فإرسال، والطلبُ يظهر فوراً في لوحة المورّد.
كيف تُجرَّب: أضف ثلاثة أصناف ← أرسل ← يُولَّد رقمُ طلب ← يظهر عند المورّد في الحال.
70
حالاتُ الطلب وسجلُّ أوقاتها
لاحقاً
الفقرة ٩: سبعُ حالاتٍ من الإرسال إلى التسليم، ومعها مرفوضٌ وملغيٌّ وتعذّر التسليم وتسليمٌ جزئي، ويُسجَّل وقتُ كل تغيير — وبدونه لا يُعرف أين وقع التأخير.
كيف تُجرَّب: مرّر طلباً بالحالات كلِّها ← يظهر سجلٌّ بوقت كل انتقال.
71
إعادةُ طلبٍ سابق
لاحقاً
الفقرة ٣١: البقالة تطلب الأصناف نفسها أسبوعياً، فتُفتح طلبيةٌ سابقة وتُعاد بكمياتها مع إمكان التعديل قبل الإرسال.
كيف تُجرَّب: افتح طلباً منفّذاً ← «إعادة الطلب» ← تظهر الأصناف نفسها ← عدّل كميةً ← أرسل.
72
المخزون المنخفض يقود إلى المورّد
لاحقاً
الفقرة ٣٢: عند بلوغ الحدّ الأدنى يظهر «المخزون منخفض — اطلب من المورّد»، وبالضغطة يصل إلى المورّد والمنتج. للباقات التي تدعم المخزون وحدها.
كيف تُجرَّب: أنزل صنفاً تحت حدّه ← يظهر الزرّ ← اضغطه ← تفتح صفحة المورّد على المنتج نفسه.
73
استلامُ الطلب يُنشئ فاتورة شراءٍ ويُحدّث المخزون
لاحقاً
الفقرة ٣٣: عند تأكيد الاستلام تُنشأ فاتورةُ شراء وتُدخَل الكميات وتُحدَّث تكلفةُ الصنف ورصيدُ المورّد ويُحفظ رقمُ الطلب. وهذا موضعُ الخطأ المحاسبي إن أُهمل.
كيف تُجرَّب: أخفِ سعر منتج ← البقالة تراه بلا سعر ← اجعل حدَّه الأدنى ١٠ ← طلبُ ٥ يُرفض.
77
مناطقُ التغطية والمستودع المسؤول
لاحقاً
الفقرة ١٤: مدنٌ وأحياءٌ ومناطقُ توزيعٍ ومستودعٌ لكلٍّ، ولا يظهر المورّد لبقالةٍ خارج تغطيته إلا بقرار الإدارة.
كيف تُجرَّب: قيّد مورّداً بجدة ← بقالةُ الرياض لا تراه ← أضف الرياض ← تراه.
78
اعتمادُ الطلب وتعديلُه واقتراحُ البديل
لاحقاً
الفقرة ١٠: اعتمادٌ كاملٌ أو رفضٌ أو تعديلُ كمياتٍ بموافقة البقالة، وتحديدُ غير المتوفّر واقتراحُ بديلٍ وملاحظةٌ وموعدُ تسليمٍ وفترتُه. والتعديلُ بلا موافقةٍ يُفسد الثقة، فيُشترط ردُّ البقالة.
كيف تُجرَّب: عدّل كميةً ← يصل إشعارٌ للبقالة ← لا يمضي الطلب حتى توافق.
79
العروض: خصمٌ وكميّةٌ ومنطقةٌ ومدّة
لاحقاً
الفقرة ٢٦: خصمٌ على منتج، واشترِ كميةً فتنال زيادة، وعروضُ كراتين، وعروضٌ حسب حجم الطلب أو المنطقة أو لعملاء بعينهم، ببدايةٍ ونهاية.
كيف تُجرَّب: أنشئ عرضاً لأسبوعٍ في حيٍّ واحد ← يظهر لبقالاته وحدها ← وينتهي تلقائياً.
80
عروضُ قرب انتهاء الصلاحية — والتاريخ لا يُخفى
لاحقاً
الفقرات ٢٧ و٢٨ و٤٥: بضاعةٌ صالحةٌ قارب أجلُها تُعرض بسعرٍ خاص. ولا يُسمح بإخفاء تاريخ الانتهاء: يظهر التاريخُ والمدّةُ المتبقية بوضوح، ويُقرّ المشتري باطّلاعه قبل التأكيد. ويُحفظ سجلٌّ كامل — من أنشأ ومتى وبأيّ سعرٍ وكميةٍ ومن عدّل ومن طلب — ولا يُغيَّر التاريخ بأثرٍ رجعيٍّ على طلبٍ نُفّذ. وليست هذه تفصيلاً شكلياً: بيعُ بضاعةٍ قاربت أجلَها بلا إفصاحٍ مسؤوليةٌ نظامية.
كيف تُجرَّب: أنشئ عرض تصفية ← البقالة ترى التاريخ والمتبقّي ← لا يُفعَّل زرّ الطلب قبل الإقرار ← حاول تغيير التاريخ بعد طلبٍ منفَّذ ← يُمنع.
81
تنبيهُ المورّد قبل انتهاء الصلاحية
لاحقاً
الفقرة ٢٩: قاعدةٌ يضعها المورّد (٩٠ يوماً مثلاً) فيُنبَّه بالكميات المقاربة ويُعرض عليه إنشاء عرض تصفية. ولا يُنشر شيءٌ تلقائياً: السعرُ والكميةُ والمناطقُ والاعتمادُ قرارُه وحده.
كيف تُجرَّب: اضبط ٩٠ يوماً ← يصل التنبيه بالكمية والمنتج ← ولا يُنشر عرضٌ بلا اعتماده.
82
عرضُ المخزون القريب لبقالات المنطقة نفسها
لاحقاً
الفقرة ٣٠: الكميةُ في مستودع جدة تُعرض أولاً على بقالات جدة — أقلُّ كلفةَ توزيعٍ وأسرعُ تصريفاً.
كيف تُجرَّب: عرضٌ من مستودع جدة ← يظهر لبقالات جدة قبل غيرها.
83
استيرادُ عملاء المصنع الحاليين وكودُ الانضمام
لاحقاً
الفقرة ٢٣: للمصنع مئاتُ البقالات أصلاً، فيستوردها أو يرسل كودَ انضمامٍ خاصّاً به، ومن سجّل بالكود ارتبط به. وهذه هي القيمةُ الحقيقية للمصنع: إدارةُ عملائه الحاليين إلكترونياً لا جلبُ عملاء جدد فقط.
كيف تُجرَّب: استورد ملفّ بقالات ← أرسل كوداً ← سجّل بقالةً به ← تظهر مرتبطةً بالمورّد.
84
مندوبٌ افتراضيٌّ لكل بقالة
لاحقاً
الفقرة ٢٤: للمصنع مندوبٌ مسؤولٌ عن بقالةٍ بعينها مسبقاً، فيُقترح أولاً عند وصول طلبها.
كيف تُجرَّب: عيّن مندوباً افتراضياً لبقالة ← اطلب منها ← يظهر اسمُه أول الاقتراحات.
85
تقاريرُ المورّد
لاحقاً
الفقرة ٤٤: عددُ الطلبات وقيمُها ومتوسّطُها، وأكثرُ المنتجات والبقالات طلباً، وتوزيعٌ بالمنطقة والمندوب، ونسبةُ التسليم والمتعثّر، ومتوسّطُ زمن الاعتماد والتسليم، وأداءُ كل مندوب، ومبيعاتُ العروض وعروضِ التصفية.
كيف تُجرَّب: التقارير ← المدّة ← الأرقام تطابق الطلبات الفعلية.
86
حساباتُ المناديب وحالاتُهم
لاحقاً
الفقرة ١٥: لكل مندوبٍ اسمٌ وجوّالٌ ومدينةٌ وأحياءُ تغطيةٍ وحالةٌ (متاح/مشغول/غير متاح) وعددُ طلباته الحالية والمكتملة والمتعثّرة.
كيف تُجرَّب: أنشئ مندوباً ← يدخل بحسابه ← يرى طلباته وحدها لا طلبات غيره.
87
تحويلُ الطلب لمندوبٍ يغطّي المنطقة
لاحقاً
الفقرة ١٦: موقعُ البقالة محفوظٌ مسبقاً فيُعرض أولاً من يغطّي منطقتها ومعه عددُ طلباته الحالية — فلا يُحمَّل مثقلٌ ويُترك فارغ.
كيف تُجرَّب: طلبٌ من حيّ الصفا ← تظهر قائمةُ من يغطّيه بأعباء كلٍّ ← عيّن ← يصل إشعارُ المندوب.
88
تحويلٌ جماعيٌّ وتجميعٌ بالأحياء
لاحقاً
الفقرتان ١٧ و٢١: «حي الصفا — ٢٧ طلباً» فتُحدَّد خمسةَ عشرَ وتُحوَّل دفعةً واحدة والباقي لمندوبٍ آخر. وبلا هذا يصير التعيينُ طلباً بطلبٍ وهو غير عمليٍّ في مئات الطلبات.
كيف تُجرَّب: حيٌّ فيه ٢٧ طلباً ← حدّد ١٥ ← حوّلها دفعةً ← وصلت كلُّها لمندوبٍ واحد.
89
اقتراحُ المندوب تلقائياً — والقرار للمورّد
لاحقاً
الفقرة ١٨: يُقترح الأنسبُ حسب المنطقة والحالة وعدد الطلبات والمسافة، ولا يُحوَّل شيءٌ بلا موافقة المورّد إلا إن فعّل التوزيع التلقائي لاحقاً.
كيف تُجرَّب: ثلاثةُ مناديب يغطّون الحيّ ← يُقترح الأقلّ حِملاً ← ولا يُعيَّن حتى يضغط المورّد.
90
واجهةُ المندوب: طلباتُ اليوم والاتجاهات
لاحقاً
الفقرتان ١٩ و٢٠: لكل طلبٍ اسمُ البقالة وموقعُها ورقمُها وأصنافُه وقيمتُه وموعدُه وملاحظاتُ المورّد وزرُّ اتجاهات، ويحدّث الحالة: استلمتُ المهمّة ← في الطريق ← وصلتُ ← سُلّم، أو تعذّر التسليم بسببٍ يُختار.
كيف تُجرَّب: ادخل بحساب مندوب ← افتح طلباً ← الاتجاهات تفتح الخريطة ← حدّث الحالة ← تظهر عند البقالة والمورّد.
91
إعادةُ الطلب لمندوبٍ آخر عند التعذّر
لاحقاً
الفقرة ١٧: تغييرُ المندوب قبل الخروج وإعادةُ الطلب لغيره إن تعذّر التسليم — وإلا عَلِق الطلبُ عند مندوبٍ غائب.
كيف تُجرَّب: مندوبٌ يسجّل «تعذّر التسليم» ← يعود الطلب لغير المعيَّنة ← يُحوَّل لآخر.
92
ترتيبُ مسار التوصيل
لاحقاً
الفقرة ٢٢: خمسةَ عشرَ طلباً تُرتَّب بأقرب مسار. مؤجَّلٌ عمداً: يحتاج خدمةَ مساراتٍ بكلفةٍ لكل نداء، ولا يُبنى قبل أن تعمل بقيّة الدورة.
الفقرات ٣٥–٣٧: شهران تجربةً، ومن اشترك خلالهما فسنتُه الأولى بألف ريالٍ عرضاً تأسيسياً — يُبيَّن أنه عرضُ سنةٍ أولى لا سعرٌ دائم. ثم أربعُ درجات (مورّد · أعمال · مصنع · شركات كبرى) تُحدَّد بالحدود لا بالاسم، فقد يكون موردٌ أكبرَ من مصنع.
كيف تُجرَّب: سجّل مورّداً ← تظهر مدّة التجربة ← اشترك ← يُطبَّق سعرُ السنة الأولى ثم سعرُ التجديد.
94
لوحةُ إدارة المنظومة
لاحقاً
الفقرة ٤٢: التحكّم في الأنشطة، ومن يرى أيّ سوق، والباقات والأسعار والتجارب والخصومات والمميّزات، والموردين والبقالات والمنتجات الممنوعة والعروض والطلبات والشكاوى والمستخدمين والصلاحيات.
كيف تُجرَّب: من اللوحة: امنع منتجاً ← يختفي من الأسواق ← اسمح لنشاطٍ برؤية سوق الموردين ← يظهر له.
اختُبرت وأُغلقت (1)
اختُبرت وأُغلقت.
✓
التصفية بتصنيفٍ تشمل ما تحته
أُغلقت
اختيار «أغذية» كان يعيد لا شيء: المقارنة على الاسم حرفاً بحرف، والصنف محفوظٌ باسم فرعه. وقائمة الفئات كانت من أسماء المنتجات لا من الشجرة، فالتصنيف الجديد لا يظهر فيها.
كيف تُجرَّب: المنتجات ← الفئة ← الشجرة كاملةً بمسافاتٍ تُبيّن العمق ← اختر الجذر ← تظهر أصناف الفروع.