كيف تقرأ هذه الوثيقة
كتبتُ لك هذه الوثيقة قبل أن نبدأ، حتى يكون أمامك شيء ملموس تعدّل عليه بدل أن نتناقش في الهواء. هي ليست عقدًا نهائيًا — هي المسودة التي تقرأها وتشطب منها وتضيف عليها، وبعد اتفاقنا عليها تصبح هي تعريف «تم التسليم».
بُنيت على قاعدة واحدة: كل بند هنا يبدأ بكلامك أنت. القسم الثاني يمشي على قائمتك ذات الأربعة عشر بندًا بترتيبك أنت، وكل بند فيه:
- كلامك منقولًا حرفيًا كما كتبته
- ما يُنفَّذ بالتحديد
- الحد الذي يتوقف عنده
- كيف تتحقق بنفسك أنه تم
السبب في هذا الشكل عملي: أي ميزة لم تطلبها لن تجد لها مكانًا في هذه الوثيقة، وأي شيء طلبته وسقط سيترك فراغًا ظاهرًا. وما أضفته أنا مما لم تطلبه موضوع في قسم مستقل ومعلَّم بوضوح (القسم الثالث)، حتى لا يختلط بما اتفقنا عليه.
ولا توجد في هذه الوثيقة أي غرامة، على أي من الطرفين. لا غرامة تأخير، ولا دفعة محتجزة، ولا قبول تلقائي إذا سكتّ، ولا شرط عدم منافسة عليّ، ولا تحكيم. ما يحمي المشروع ليس بنود العقوبات، بل أن كل مرحلة قصيرة ومسلَّمة ومجرَّبة بيدك.
القسم الثاني — بنودك الأربعة عشر
1الاستيراد التلقائي للمديونيات
من مواصفاتك، كما كتبتها«استخراج كشوفات المديونيات تلقائياً من البرامج المحاسبية دون الحاجة إلى API. دعم أكثر من طريقة للاستيراد بما يتناسب مع اختلاف الأنظمة المحاسبية. استيراد بيانات العملاء، الفواتير، المبالغ، أرقام الهواتف، وتواريخ الاستحقاق.»
ما يُنفَّذ: ترفع الشركة كشفها من برنامجها المحاسبي بصيغة CSV أو Excel. شاشة ربط الأعمدة تعرض أعمدة ملفك وتختار أمام كل عمود ما يقابله في النظام. يُحفَظ الربط باسم، فالمرة القادمة من نفس البرنامج تتم بضغطة واحدة. ثم معاينة لأول عشرين صفًا قبل الاعتماد، ولا يدخل شيء إلى قاعدة البيانات قبل موافقتك. وأي صف مرفوض يظهر برقم سطره وسبب رفضه بالعربية، ولا يُرفض الملف كله بسبب صف واحد.
تمييز المدينين: كل صف يحمل معرِّفًا واحدًا على الأقل تختاره أنت من الملف — رقم هاتف، أو سجل تجاري، أو رقم ضريبي، أو هوية. الصفوف التي تحمل نفس المعرِّف تُنسَب لنفس المدين. والنظام لا يخمّن هوية المدين من تشابه الأسماء إطلاقًا، لأن التخمين يعني دمج رصيدَي مدينَين مختلفين ثم إرسال مطالبة بمبلغ خاطئ لجهة خاطئة، وهو أسوأ خطأ يرتكبه نظام تحصيل.
عند رفع نفس الملف مرة ثانية: الفواتير لا تتضاعف — يُميَّز كل صف برقم الفاتورة داخل الشركة الواحدة. وإذا تغيّر مبلغ فاتورة موجودة، يُحدَّث المبلغ ولا يُنشأ سجل ثانٍ، ويظهر التحديث في تاريخ الملف حتى ترى ما تغيّر ولماذا. هذا هو السلوك الطبيعي: كشوف المحاسبة تُصدَّر مرارًا وفيها تعديلات.
الحد: الاستيراد بالرفع اليدوي للملف. السحب الدوري التلقائي من مجلد أو بريد ليس داخلًا في هذا الإصدار، ويمكن أن نضيفه في إصدار لاحق بتسعير مستقل. الصيغ: CSV و Excel فقط، لا PDF ولا صور ولا ملفات بنكية. والتكامل المباشر مع أي برنامج محاسبي بعينه يُسعَّر منفصلًا.
كيف تتحقق بنفسكترفع ملفًا حقيقيًا فيه 500 صف على الأقل، تربط الأعمدة، فتدخل الصفوف السليمة كلها. ثم تُفسِد خمسة صفوف عمدًا وترفعه ثانية، فتظهر الخمسة في قائمة أخطاء برقم السطر والسبب بالعربية. ثم ترفع نفس الملف مرة ثالثة فلا تتضاعف الفواتير.
2محرك سياسات التحصيل
من مواصفاتك، كما كتبتها«يتيح لكل شركة تصميم سياسة التحصيل الخاصة بها دون تعديل النظام... اعتماد تاريخ الاستحقاق الموجود في البرنامج المحاسبي. أو اعتماد سياسة موحدة مثل: بعد 20 يوماً من تاريخ الفاتورة. بعد 30 يوماً. أي مدة تحددها الشركة... تقسيم الدين إلى دفعات متعددة. متابعة كل قسط بشكل مستقل. إنشاء دورة تحصيل خاصة بكل قسط.»
ما يُنفَّذ: آليتان للاستحقاق: من الملف، أو بعد N يومًا من تاريخ الفاتورة وتكتب الشركة N بنفسها. وخطط التقسيط: تحدد عدد الأقساط وتاريخ أولها والفاصل بينها، فينشئ النظام جدول التزامات مؤرخة. كل قسط التزام مستقل بتاريخه، وله دورة تحصيل خاصة به كما طلبت — تأخّر القسط الثالث يبدأ دورته وحده دون أن يمس الرابع.
وتوزيع المبلغ على الأقساط لا يتم بالقسمة والتقريب: النظام يضمن أن مجموع الأقساط يساوي الأصل بالضبط، بالكسر الأخير، دائمًا.
الحد: آليتا استحقاق فقط. فواصل التقسيط: أسبوعي، نصف شهري، شهري. إعادة جدولة قسط متأخر أو إعادة هيكلة خطة بعد بدئها تُعامَل كطلب تغيير.
كيف تتحقق بنفسكتنشئ خطة على ستة أشهر لمبلغ فيه كسور، وتجمع الأقساط الستة يدويًا، فيساوي المجموع الأصل بلا فرق. ثم تجعل قسطًا واحدًا يتأخر، فتبدأ دورة تحصيل له وحده ولا تتأثر الأقساط اللاحقة.
3محرك دورة التحصيل
من مواصفاتك، كما كتبتها«عدد الرسائل اليومية. نوع الرسائل (واتساب – SMS – اتصال). ترتيب قنوات التواصل. عدد محاولات التواصل. الفاصل الزمني بين كل محاولة. وقت بدء التواصل. وقت انتهاء التواصل. الأيام المسموح التواصل خلالها. عدد الاتصالات قبل التصعيد. شروط الانتقال بين كل مرحلة.»
ما يُنفَّذ: العشرة كلها، على شاشة واحدة. ولكل إعداد مدى مسموح وقيمة افتراضية مكتوبان:
| الإعداد | المدى | الافتراضي |
|---|
| الحد اليومي للرسائل لكل مدين | 1 إلى 5 | 1 |
| الحد اليومي للرسائل لكل الشركة | 1 إلى 5000 | 500 |
| عدد محاولات التواصل قبل التصعيد | 1 إلى 10 | 3 |
| الفاصل بين المحاولات (أيام) | 1 إلى 30 | 3 |
| وقت بدء التواصل | 00:00 إلى 23:59 | 09:00 |
| وقت انتهاء التواصل | 00:00 إلى 23:59 | 17:00 |
| الأيام المسموح التواصل خلالها | أيام الأسبوع السبعة | الأحد إلى الخميس |
| المنطقة الزمنية | الخليج واليمن ومصر | Asia/Riyadh |
| نوع الرسائل وترتيب القنوات | ترتيب 1/2/3 لكل قناة، لكل مرحلة | واتساب ثم رسائل نصية ثم اتصال |
| عدد الاتصالات قبل التصعيد | 1 إلى 10 | 3 |
ترتيب القنوات يظهر كثلاثة صفوف في كل مرحلة — رقم لكل قناة — لا كسحب وإفلات.
شروط الانتقال بين المراحل بثلاثة محاور رقمية تجتمع معًا: عدد الفواتير غير المسددة ≥ N، وإجمالي المبلغ ≥ X، وعدد الأيام منذ أقدم فاتورة ≥ D. تكتب الشركة الثلاثة لكل مرحلة وتترك ما لا يعنيها فارغًا. ومعها محور رابع: وسم «لا يلاحق» يستثني أي مدين من كل المراحل والرسائل مهما كانت أرقامه.
الحد: أي شرط انتقال خارج هذه المحاور الأربعة طلب تغيير.
كيف تتحقق بنفسكتضبط النافذة على 09:00–17:00 والأيام من الأحد إلى الخميس. ثم تفتح مدينًا مستحقًا يوم الخميس مساءً وتضغط زر «جرّب السياسة»، فيقول لك النظام إن أول رسالة ستخرج الأحد الساعة 09:00 — لا في المساء ولا يوم الجمعة ولا يوم السبت. جرّبها بأوقات وأيام مختلفة وسترى النافذة محترمة في كل مرة.
4محرك التصعيد
من مواصفاتك، كما كتبتها«متى يتم التصعيد. من يتم إبلاغه. ترتيب مستويات التصعيد. إجراءات كل مرحلة. إشعارات تلقائية عند التصعيد.»
ما يُنفَّذ: أربعة مستويات — تذكير ودّي، مطالبة حازمة، تصعيد أول، تصعيد نهائي. وترتيبها قابل للتغيير، لأنك طلبت التحكم في الترتيب: الترتيب حقل على المستوى نفسه، فإذا نقلت مستوى انتقلت شروطه معه ولم تنتقل إلى مستوى آخر. وكل مستوى يمكن تفعيله أو تعطيله.
والإجراءات المتاحة في كل مستوى: إرسال رسالة للمدين · إبلاغ مستخدم داخلي · تغيير حالة الملف · إضافة ملاحظة آلية · إيقاف المطالبات حتى تدخّل بشري.
الحد: أربعة مستويات وخمسة إجراءات. إضافة إجراء غير مذكور — كإنشاء مهمة في نظام خارجي أو إرسال بريد — طلب تغيير.
كيف تتحقق بنفسكتفتح مصفوفة التصعيد، تنقل مستوى من مكانه، فتنتقل شروطه معه. وتُشغِّل حالة تحقق شرط التصعيد فيصل الإشعار الداخلي.
5إدارة ملفات التحصيل
من مواصفاتك، كما كتبتها«دمج جميع الفواتير في ملف تحصيل واحد. عرض إجمالي المديونية. الاحتفاظ بتفاصيل كل فاتورة داخله. متابعة الملف كوحدة واحدة.»
ما يُنفَّذ: حرفيًا. شاشة الملف تعرض إجمالي المديونية محسوبًا من الفواتير لحظيًا لا رقمًا مخزنًا، وقائمة الفواتير كل واحدة برقمها وتاريخها وعمرها وحالتها، والمرحلة الحالية والسبب الذي وضعه فيها مكتوبًا بالعربية بالأرقام، والخط الزمني الكامل لكل رسالة ورد ودفعة وتغيير حالة، والإجراء القادم وموعده.
ورصيد الفاتورة يُحسب دائمًا من حركاتها، لا يُخزَّن كرقم جاهز. السبب عملي: إذا اعترض مدين على مبلغ، الجواب المقبول هو «هذه هي الحركات الاثنتا عشرة»، لا «الخانة مكتوب فيها 4,300».
كيف تتحقق بنفسكتختار مدينًا وتجمع فواتيره على الآلة الحاسبة، فيطابق المجموع ما يعرضه النظام بالضبط. ثم تسجل دفعة جزئية، فينقص الرصيد بمقدارها وتظهر في تاريخ الملف.
6التحقق من السداد
من مواصفاتك، كما كتبتها«لا يتم إغلاق الملف مباشرة. يقوم النظام تلقائياً بالتواصل مع المحاسب. انتظار تأكيد السداد. بعد التأكيد يتم: تحديث حالة الملف. إغلاق الملف أو تحديث الرصيد المتبقي. متابعة الأقساط المتبقية إن وجدت.»
هذا أهم بند في المنتج كله تجاريًا، ويُنفَّذ كاملًا:
- المدين يبلّغ بالسداد — إما بضغط رابط تسجيل السداد المرفق في الرسالة، وإما برد نصي، وإما يسجل المحصّل ادعاءً يدويًا.
- الملف ينتقل إلى «سداد مُدَّعى — بانتظار التأكيد».
- كل المطالبات المجدولة لهذا الملف تُلغى في نفس اللحظة. ليست تؤجَّل — تُلغى.
- يصل المحاسب إشعار فيه بيانات الادعاء وزرّا تأكيد ورفض.
- عند التأكيد: تُسجَّل الدفعة، ويُعاد حساب الرصيد، ويُغلق الملف إن صفر أو يستمر بالرصيد المتبقي، والأقساط المتبقية تُتابَع كما هي.
- عند الرفض: يعود الملف لمرحلته وتستأنف الجدولة، وتُسجَّل الواقعة في تاريخ الملف.
- إن لم يرد المحاسب خلال ثلاثة أيام وصله تذكير واحد، وظهر الملف في قائمة «بانتظار تأكيد المحاسب» فلا يضيع ملف بصمت.
عن الرد النصي، وهذه نقطة تستحق الصراحة: النظام يتعرّف على كلمتَي «سددت» و«دفعت» في الرد. ولكنه يرفض التعرّف إذا سبقها نفي — مثل «ما سددت» و«ما دفعت» و«مش دفعت». والسبب أن النفي في العربية يسبق الفعل، فالبحث عن الكلمة وحدها يجعل مدينًا يقول إنه لم يدفع قد أوقف مطالباته بنفسه — وهو أخطر ما يمكن أن يحدث في نظام تحصيل. والرد النصي يرفع ادعاءً فقط، لا يؤكد سدادًا أبدًا — التأكيد من المحاسب وحده.
وعد بالسداد بتاريخ: يسجل المحصّل الوعد بتاريخه بضغطة، فتتوقف المطالبات حتى ذلك التاريخ ثم تستأنف تلقائيًا في صباحه إن لم يسدد.
كيف تتحقق بنفسكتضغط «تسجيل دفعة» على ملف عليه ثلاث مطالبات مجدولة، فتجد الثلاثة أُلغيت فورًا، وتنتظر يومين فلا تصل رسالة واحدة. ثم ترسل من حساب المدين ردًا نصه «ما سددت» فلا يتوقف شيء، وردًا نصه «سددت» فيتوقف كل شيء ويصل المحاسب طلب التأكيد.
7وكيل التفاوض الذكي
من مواصفاتك، كما كتبتها«التفاوض مع العملاء. فهم أسباب التأخير. اقتراح حلول مناسبة. محاولة زيادة احتمالية السداد. تغيير أسلوب الحوار حسب شخصية العميل.»
ما يُنفَّذ — وبنودك الخمسة كلها لها مكان:
- التفاوض وتغيير أسلوب الحوار: الذكاء الاصطناعي يصوغ نص المطالبة بنبرة تتدرج مع مرحلة التصعيد وتاريخ التزام المدين. وكل رقم — المبلغ، وأيام التأخير، ورقم الفاتورة — يُحسب في الكود ويُحقن في الرسالة جاهزًا. النموذج لا يرى رقمًا ولا ينطق رقمًا. هذا الجزء مبنيّ ومجرَّب عندي بالفعل، وأستطيع أن أريك إياه شغّالًا قبل أن نبدأ.
- فهم أسباب التأخير: عند وصول رد من مدين، يسجل المحصّل سبب التأخير من قائمة محددة، فيتراكم السبب في ملف المدين وفي التقارير.
- اقتراح حلول وزيادة احتمالية السداد: زر «اقترح خطة تقسيط» يولّد خطة من رصيد المدين وتاريخه، يعتمدها إنسان قبل عرضها.
الحد، واقرأه بعناية: «تغيير أسلوب الحوار حسب شخصية العميل» في قائمتك — ما يُنفَّذ منه هو تغيّر النبرة حسب مرحلة التصعيد وتاريخ التزام المدين، وهي معايير موجودة في البيانات وقابلة للتفسير. وتحليل الشخصية بمعناه النفسي خارج النطاق.
وكذلك: النظام ليس وكيلًا مفاوضًا مستقلًا. لن يدير حوارًا ماليًا مع مدين بلا رقابة بشرية، ولا يعرض خصمًا، ولا يوافق على تقسيط، ولا يلتزم باسم الشركة بشيء. الأمر ليس صعوبة تقنية — هو مسؤولية: اللحظة التي يقول فيها نظامك لمدين «خذ خصم 10%» بلا موافقة إنسان، تصبح شركة عميلك ملزمة بكلام لم يقله أحد فيها. القاعدة: النظام يقترح، والإنسان يعتمد.
كيف تتحقق بنفسكتفتح رسالة مطالبة وتقارن كل رقم فيها بما في الشاشة، فتتطابق، وتكرر مع خمس فواتير مختلفة بلا استثناء واحد.
8الذكاء في اختيار وقت التواصل
من مواصفاتك، كما كتبتها«أفضل وقت لإرسال الرسائل. أفضل وقت للاتصال. الأيام التي تزيد فيها احتمالية الرد. القناة الأكثر نجاحاً لكل عميل.»
ما يُنفَّذ: شاشة واحدة فيها أربعة صفوف، صف لكل بند من بنودك الأربعة، ولا يغيب منها بند:
| الصف | الحالة عند التسليم |
|---|
| أفضل وقت لإرسال الرسائل | يعمل من أول خمس محاولات لهذا المدين |
| أفضل وقت للاتصال | يعمل، محسوبًا من نتائج المكالمات المسجلة — رقم مستقل عن سابقه |
| الأيام التي تزيد فيها احتمالية الرد | مكتوب أمامه «يحتاج سجل ردود» حتى يتراكم |
| القناة الأكثر نجاحاً لكل عميل | مكتوب أمامه «يحتاج سجل ردود» حتى يتراكم |
الصفان الأخيران يحتاجان شهورًا من سجل الردود، ولا يمكن لأي بناء أن يملأهما في اليوم الثلاثين — لكنهما ظاهران أمامك بأسمائهما لا محذوفَين، ويمتلئان من بيانات عملائك مع الوقت.
وأنت كتبت «تحليل سلوك العميل لاختيار»، فالنظام هو الذي يختار: الساعة المحسوبة تُطبَّق تلقائيًا، ولكنها تُضبَط داخل نافذة التواصل التي حددتها الشركة — إن خرجت عنها، تُقرَّب لأقرب دقيقة مسموحة. فلا يتعارض ذكاء التوقيت مع أوقات العمل التي ضبطتها.
الحد: هذا إحصاء وصفي شفاف على بيانات المدين نفسه، لا تعلّم آلة ولا نموذج تنبؤي. وهذه ميزة لا نقص: تستطيع أن تشرح لعميلك بالضبط لماذا اقترح النظام هذه الساعة، وتستطيع أن تعدّل القاعدة.
كيف تتحقق بنفسكتفتح الشاشة فترى الصفوف الأربعة بأسمائها، وأمام كل صف إما رقم وإما «يحتاج سجل ردود». ثم تضبط نافذة التواصل على ساعات ضيقة، فتجد الساعة المقترحة داخلها لا خارجها.
9فهم هيكل الشركة
من مواصفاتك، كما كتبتها«رقم صاحب الشركة. رقم المحاسب. الرقم المسؤول عن السداد. الشخص المناسب للتواصل المالي. ويقوم بتوجيه المطالبات للطرف الصحيح بدلاً من أي موظف.»
ما يُنفَّذ: لكل مدين قائمة جهات اتصال، لكل واحدة اسم ورقم ودور من قائمة محددة: صاحب الشركة / المحاسب / المسؤول عن السداد / جهة اتصال عامة. والتوجيه بقاعدة ثابتة: المطالبات العادية إلى المسؤول عن السداد، فإن لم يوجد فإلى المحاسب، فإن لم يوجد فإلى جهة الاتصال العامة. وإشعارات التصعيد إلى صاحب الشركة.
وعن «يتعرف النظام تلقائياً»: حين يصل رد من رقم غير مسجل في جهات اتصال المدين، يعرض النظام زرًا واحدًا: «اجعله المسؤول عن السداد؟» — فيتعلّم النظام من التعامل الفعلي بضغطة.
الحد، بصراحة: هذا الزر يملأ دور المسؤول عن السداد وحده. دورا صاحب الشركة والمحاسب يُستوردان مع الملف إن كانا فيه، وإلا يُضافان يدويًا. ولا يوجد اكتشاف تلقائي من مصادر خارجية — لن يبحث النظام في سجلات تجارية ولا مواقع عن «من هو محاسب هذه الشركة».
كيف تتحقق بنفسكتعرّف مدينًا له محاسب ومسؤول سداد، فتذهب المطالبة إلى المسؤول عن السداد ويذهب إشعار التصعيد إلى صاحب الشركة. ثم ترسل ردًا من رقم غير مسجل، فيظهر لك زر «اجعله المسؤول عن السداد؟».
10تقييم العملاء بالذكاء الاصطناعي
من مواصفاتك، كما كتبتها«سرعة السداد. عدد مرات التأخير. الوعود السابقة. الالتزام بالأقساط. نسبة الاستجابة. نتائج التفاوض. تاريخ التحصيل.»
ما يُنفَّذ: درجة من 0 إلى 100 لكل مدين، محسوبة من سبعة عوامل — عواملك السبعة كما كتبتها:
| العامل | كيف يُقاس |
|---|
| سرعة السداد | متوسط الأيام بين الاستحقاق والسداد الفعلي |
| عدد مرات التأخير | نسبة الفواتير المتأخرة إلى إجمالي فواتيره |
| الوعود السابقة | عدد الوعود المتحققة إلى إجمالي الوعود المسجلة |
| الالتزام بالأقساط | نسبة الأقساط المسددة في موعدها |
| نسبة الاستجابة | نسبة الرسائل التي رد عليها |
| نتائج التفاوض | نتيجة كل تفاوض مسجلة: تحقق أم لا |
| تاريخ التحصيل | عمر أقدم متأخر، وطول العلاقة، وسلوكه عبرها |
والدرجة تُترجم إلى ثلاث فئات: منخفض / متوسط / مرتفع المخاطر، بحدّين رقميين تعدّلهما الشركة. وشاشة المدين تعرض جدول العوامل السبعة بقيمها — فإذا سألك عميلك «لماذا هذا مرتفع المخاطر؟» فتحت له الجدول.
الحد: التقييم قواعدي شفاف بأوزان معلنة، لا تعلّم آلة. والنظام لا يتخذ قرارًا بنفسه بناءً عليه — يعرض ويلوّن وينبّه، والقرار للإنسان.
كيف تتحقق بنفسكتفتح تقييم مدين فترى الدرجة والفئة وجدول العوامل السبعة بقيمها. ثم تغيّر حدّ فئة «مرتفع المخاطر» من الإعدادات، فتتغير فئات المدينين على القوائم فورًا.
11شبكة تقييم القطاع
من مواصفاتك، كما كتبتها«بموافقة الشركات المشاركة: مشاركة تقييم المخاطر فقط للعملاء المتعثرين داخل نفس القطاع (مثل قطاع الأدوية). تحذير الشركات من العملاء مرتفعي المخاطر. عدم مشاركة أي بيانات مالية أو تجارية أو شخصية.»
الفكرة قوية تجاريًا وشرطك الأخير هو الشرط الصحيح تمامًا. وهذا البند مؤجَّل إلى الإصدار التالي، لسبب تتحقق منه بنفسك:
الإشارة لا تُعرض إلا إذا ساهمت بها ثلاث شركات مستقلة على الأقل — وبأقل من ذلك تصبح الإشارة منسوبة لشركة بعينها، وهذا ينقض شرطك أنت. وفي اليوم الثلاثين سيكون لديك شركة واحدة. فمهما بُني هذا البند، لن يعرض إشارة واحدة حتى تصل إلى عميلك الثالث. عُدَّ عملاءك وستجد أن هذا صحيح.
والمهم: لا تخسر شيئًا بالانتظار. السجل المطلوب هو (بصمة المعرِّف + فئة المخاطر + القطاع + الشهر)، وكل مدخل منه محفوظ عندك أصلًا: المعرِّف من ملفك، والفئة محسوبة من البند 10، والقطاع صفة شركتك المشتركة نفسها، والشهر تاريخ على صفوف موجودة. فحين تصل إلى شركتك الثالثة، يُولَّد السجل التاريخي كله من بياناتك المخزّنة بأثر رجعي. لا توجد فترة ضائعة.
استثناء واحد: الموافقة لا تُولَّد بأثر رجعي ولا يجوز — موافقة كل شركة تُسجَّل يوم تفعيل الميزة، ويبدأ سجلها من تلك اللحظة.
كيف تتحقق بنفسكعُدَّ شركاتك المشتركة يوم التسليم. ما دام العدد أقل من ثلاث، فأي بناء لهذا البند لن يعرض إشارة واحدة — وهذا شرطك أنت لا شرطي.
12عزل البيانات
من مواصفاتك، كما كتبتها«عزل كامل لبيانات كل شركة. لا تستطيع أي شركة الوصول إلى بيانات شركة أخرى. قواعد بيانات أو عزل منطقي آمن حسب البنية المعتمدة.»
ما يُنفَّذ: أنت تركت لي الاختيار بين الطريقتين، واخترت العزل داخل قاعدة البيانات نفسها (PostgreSQL + RLS) — لا لأن نصّك ألزمني به، بل لأنك ستبيع هذا النظام لشركات تضع فيه بيانات عملائها، وتسريبة واحدة بين شركتين تنهي المنتج. الفرق بين ضمان تفرضه قاعدة البيانات وعادة يلتزم بها الكود هو الفرق بين منتج مالي يبقى ومنتج ينتهي عند أول حادثة.
كيف تتحقق بنفسكتُشغِّل أمرًا واحدًا أعطيك إياه، فيعمل أمامك اختبار مكتوب بالاسم: ينشئ شركتين، ويحاول من داخل الأولى الوصول لبيانات الثانية بكل الطرق، ويفشل. تراه ينجح على شاشتك أنت، لا في صورة مني.
13حماية المعلومات
من مواصفاتك، كما كتبتها«تشفير البيانات أثناء النقل والتخزين. إدارة صلاحيات دقيقة للمستخدمين. تسجيل جميع العمليات (Audit Log). حماية من الوصول غير المصرح به.»
ما يُنفَّذ:
- التشفير أثناء النقل: شهادة TLS على النطاق، لا يمر شيء بلا تشفير.
- التشفير أثناء التخزين: على مستوى القرص وقاعدة البيانات.
- الصلاحيات: خمسة أدوار جاهزة (مالك الحساب، مدير تحصيل، محصّل، محاسب، مشاهد) وإمكانية إنشاء غيرها. وأصارحك: الصلاحيات على مستوى الدور، لا على مستوى الحقل الواحد. المحصّل لا يستطيع تعديل مبلغ، وهذا مضمون؛ لكن إخفاء حقل بعينه عن دور بعينه ليس في هذا الإصدار.
- سجل العمليات: كل عملية تغيّر بيانات تُسجَّل بمن ومتى وما كان قبل وما صار بعد، ولا توجد في النظام وسيلة لحذف سطر منه.
- حماية من الوصول غير المصرح به: حدّ لمحاولات الدخول الفاشلة قبل التجميد المؤقت، وجلسات موقّعة تنتهي بمهلة، وحماية من انتحال الطلبات عبر المواقع، وتخزين كلمات المرور ببصمة بطيئة مقصودة، وفحص كل مدخل من المستخدم عند الحدود.
كيف تتحقق بنفسكتنشئ مستخدمًا بدور «محصّل» وتدخل بحسابه، فتجد أنك تستطيع إضافة ملاحظة ولا تستطيع تعديل مبلغ — والزر غير موجود، ولا يعمل حتى لو حاولت الوصول للرابط مباشرة.
14نظام قابل للتخصيص بالكامل + مؤشر الإنجاز
من مواصفاتك، كما كتبتها«كل شركة تستطيع تخصيص: سياسة الاستحقاق. دورة التحصيل. عدد الرسائل. أوقات التواصل. خطة التقسيط. سياسة التصعيد. قنوات التواصل. أسلوب التفاوض. قواعد المتابعة. وذلك دون الحاجة إلى أي تعديل برمجي»
ما يُنفَّذ: مجالاتك التسعة كلها قابلة للضبط من الشاشات، بلا أي تعديل برمجي.
معظم هذه الإعدادات أرقام وأوقات وقوائم، ولكل واحد منها مدى مسموح وقيمة افتراضية مكتوبان في هذه الوثيقة بالاسم. هذه تُعرَض عبر مولِّد نماذج واحد: يُعرَّف الإعداد مرة، فتظهر شاشته ومعها حقله وحدوده وقيمته الافتراضية والتحقق من صحته.
وثلاثة أشياء لا يصلح لها المولِّد فهي مبنية بشاشات خاصة: قوالب الرسائل · مصفوفة مراحل التصعيد وشروط الانتقال · زر «جرّب السياسة قبل تفعيلها».
ولماذا اخترت هذا الشكل: لو بنيتُ الشاشات التسع واحدة واحدة، لخرجت منها ثلاث في هذه المدة وتأجّلت ست. المولِّد هو ما يجعل قائمتك التسع كلها قابلة للضبط من اليوم الأول. الفرق أن الشاشات المولَّدة تبدو بسيطة — حقول مرتّبة بعناوين عربية وحدود واضحة — لا مصمَّمة. وأي إعداد تريده أوضح لاحقًا يُرقّى إلى شاشة خاصة، والترقية تغيير في الشكل لا إعادة بناء، لأن الإعداد وتخزينه ومنطقه موجودة بالفعل.
زر «جرّب السياسة قبل تفعيلها» يستحق سطرًا خاصًا: تكتب الشركة سياستها، ثم تضغط الزر وتختار مدينًا حقيقيًا من بياناتها، فيعرض النظام في أي مرحلة سيضعه ولماذا بالأرقام، ومتى ستخرج أول رسالة، ونص الرسالة نفسها كما ستصل — بلا إرسال شيء. هذا أقوى ما ستعرضه في اجتماع بيع.
من مواصفاتك، كما كتبتها«مؤشر خاص بالنظام يعطي تصور كم يكمل النظام من المهام»
ما يُنفَّذ: بطاقة واحدة على اللوحة تعرض عدد المهام المنجزة اليوم، وعدد المتبقّي، والنسبة بينهما — والمقصود بالمهام هنا عمل التحصيل: الرسائل والمكالمات والتصعيدات، لا المهام الداخلية للنظام. ومعها عدد الرسائل الناجحة والفاشلة وسبب الفشل. والعددان معروضان دائمًا بجانب النسبة، لأن النسبة وحدها قد تنخفض في يوم عمل جيد كلما جدول النظام مهامًا جديدة.
من مواصفاتك، كما كتبتها«القدرة على قابلية التوسع الكبيرة مع تجنب الديون البرمجية التي قد تهلك النظام»
هذا أهم سطر في قائمتك، وقد وضعت عليه نجمة. ولن أجيبك عنه بكلام إنشائي، لأن الكلام الإنشائي لا يُثبَت. أجيبك بثلاثة أشياء تفعلها أنت:
- تنشئ شركة ثانية من الشاشة في أقل من دقيقة. هذا هو معنى «قابلية التوسع» لمن يبيع: العميل الثاني لا يكلّفك شيئًا.
- تغيّر سياسة وترى أثرها بزر «جرّب السياسة» بلا أن يلمس أحد الكود. هذا هو معنى «تجنّب الديون البرمجية» عمليًا: أن تعدّل النظام بلا مبرمج.
- تُشغِّل اختبار عزل الشركات بأمر واحد وتراه ينجح.
ومعها رقم مقاس: أُحمِّل النظام بحجم بيانات واقعي على خادمك أنت بعد التنصيب — لا على جهازي، وأقيس أمامك زمن الفتح الفعلي، وأكتب في وثيقة التسليم الرقم، والطريقة التي قِيس بها، والجهاز الذي قِيس عليه.
ولماذا على خادمك تحديدًا: أنت ستعيد بيع هذا النظام، وستقول هذا الرقم لعملائك عن أجهزتهم هم. رقم مقيس على جهاز المطوّر يكون مخطئًا في الاتجاه الذي يضرّك — يبدو أفضل من الحقيقة. ورقم بلا طريقة وبلا جهاز ليس رقمًا، ولن أعطيك رقمًا بلا هذين.
القسم الرابع — المراحل والدفعات
الاتفاق على المشروع كاملًا كما وُصف أعلاه، والمراحل الأربع مواعيد تسليم ودفع داخله — الغرض منها أن ترى العمل وهو يتقدم وتدفع على ما رأيته، لا أن يتجزّأ ما اتفقنا عليه.
| المرحلة | الأيام | ما تستلمه | الدفعة |
|---|
| 1 — الأساس والبيانات | 1–7 | النظام يقرأ بياناتك الحقيقية ويعرضها صحيحة: الرفع، وربط الأعمدة، وملفات التحصيل، ولوحة أعمار الدين، والأدوار الخمسة الجاهزة، وعزل الشركات | 25% — 500$ |
| 2 — المحرك | 8–15 | النظام يلاحق وحده ويتوقف فورًا عند السداد: المراحل، والجدولة، والقنوات الثلاث، والتصعيد، ودورة تأكيد المحاسب، وصياغة الرسائل | 30% — 600$ |
| 3 — شاشات التحكم | 16–23 | كل الإعدادات تُضبط من الشاشات بلا برمجة: المولِّد، والقوالب، ومصفوفة التصعيد، وزر «جرّب السياسة»، وإنشاء أدوار جديدة بصلاحياتها | 20% — 400$ |
| 4 — الإغلاق والتسليم | 24–30 | التقسيط، والتقييم، وجهات الاتصال، وتوقيت التواصل، ومؤشر الإنجاز، وكشف الحساب، واختبار العزل، والنشر، والنسخ الاحتياطي، وجلسة التسليم | 25% — 500$ |
لا توجد دفعة مقدّمة، ولا دفعة مقابل «حجز الوقت». أربع دفعات فقط، كل واحدة بعد تسليم مرحلتها وقبولك لها. أنا أعمل الأسبوع الأول كاملًا قبل أن أستحق أول قرش، وهذا مقصود: أول ما تراه ليس وعدًا، بل بياناتك أنت داخل النظام.
والنسب موزّعة على حجم العمل الفعلي في كل مرحلة لا بالتساوي — المرحلة الثانية أثقل المراحل تقنيًا فأخذت أكبر نسبة، والثالثة أخفّها فأخذت أقلها.
كيف تُنفَّذ المراحل على مستقل عمليًا: منصة مستقل لا تدعم تقسيم مشروع واحد إلى دفعات مرحلية، فنعامل كل مرحلة كمشروع مستقل كامل على المنصة: تضع مقابل المرحلة في الضمان، فأبدأ العمل فيها، ثم أسلّمها، فتراجعها وتقبلها وتُفرج عن مقابلها، وعندها فقط نفتح المرحلة التالية بنفس الطريقة. لا تبدأ مرحلة ومقابلها خارج الضمان، ولا تبدأ مرحلة قبل تسليم التي قبلها وإغلاقها.
وهذا ليس دفعًا لي — المال يبقى محفوظًا لدى المنصة لا عندي، وأنت وحدك من يفرج عنه بعد أن تستلم وترضى. الغرض منه أن يعرف كل منا أن العمل القادم مغطّى قبل أن يبدأ. والوثيقة التي بين يديك هي المرجع الذي يحكم المراحل الأربع مجتمعة مهما تعدّدت مشاريع المنصة.
القسم الخامس — كيف نعمل معًا
لا توجد غرامات، على أي من الطرفين. لا غرامة تأخير عليّ، ولا دفعة غير مستردة عليك، ولا قبول تلقائي إذا انشغلت عن المراجعة، ولا إيقاف عمل إذا تأخرت دفعة، ولا شرط عدم منافسة، ولا تحكيم. حُذفت كلها عمدًا ومن الجهتين.
الشيء الوحيد الباقي هو حساب، لا عقوبة: المدة 30 يوم عمل، ولا يُحسب عليها أي يوم أكون فيه في انتظارك — في انتظار ملف، أو قرار، أو مراجعة مرحلة. أسجل تاريخ الطلب وتاريخ الرد وننظر فيهما معًا. السبب بسيط: لا أستطيع أن أعمل على شيء ينتظر قرارك.
مخرج عند التوقف: إذا مرّت 10 أيام متصلة ونحن في انتظار طرف، جاز لأي منا إنهاء المشروع. وكل ما سُلّم ودُفع يبقى مسلَّمًا ومدفوعًا. هذا البند موجود حتى لا يعلق أي منا في مشروع متوقف بلا باب.
الترخيص: تحصل على ترخيص دائم غير محدود بتشغيل النظام وتعديله وبيعه لعملائك وتحصيل اشتراكاتهم عليه، بلا حد لعدد الشركات ولا مقابل دوري. وتستلم الكود المصدري كاملًا. والترخيص يُستحق على كل مرحلة تدفع عنها ويتم قبولها — لا عند الدفعة الأخيرة وحدها. فإذا توقف التعاون في المنتصف، تملك فعلًا ما دفعت عنه.
ما أحتفظ به لنفسي: حق إعادة استخدام المكوّنات العامة غير الخاصة بمشروعك — دوال الحساب المالي، ومعالجة النصوص العربية، وطبقة الإرسال — وهي موجودة عندي قبل مشروعك وجزء من سبب أن التنفيذ يأخذ 30 يومًا لا 90. ولا يشمل هذا منطق عملك ولا بياناتك ولا تصميم النظام كمنتج.
مراجعة كل مرحلة — جولة واحدة، تأخذ فيها وقتك: عند تسليم كل مرحلة تفتح لك نافذة مراجعة تجرّب فيها ما استلمته على مهلك. تجمع كل ملاحظاتك على تلك المرحلة وترسلها مرة واحدة، فأنفّذها كلها دفعة واحدة قبل أن نغلق المرحلة وننتقل للتي بعدها.
وسبب أن تكون جولة واحدة مجمّعة لا جولات مفتوحة: التعديل على مرحلة أُغلقت وبُني فوقها يهدم ما بعدها. جولة واحدة تصلك بها كل ملاحظاتك منفَّذة، بينما عشر ملاحظات متفرّقة على مدى أسبوع تعني إعادة العمل عشر مرات وتأخيرًا في التسليم. فخذ وقتك في المراجعة، واجمع كل شيء، وأرسله مرة واحدة.
وما هو مجاني وما هو مدفوع، بلا لبس:
- مجاني دائمًا — كل ما سلّمته لك يعمل بخلاف ما تصفه هذه الوثيقة. مكتوب هنا «يتوقف فورًا عند السداد» وهو لا يتوقف، أو «خمسة أدوار» وسلّمتك أربعة، أو الشاشة تعرض رقمًا خاطئًا. هذا خلل عندي أنا، لا طلب منك — أصلحه بلا مقابل وبلا نقاش، في جولة المراجعة وبعدها.
- مدفوع — كل ما تطلبه ولم يكن مكتوبًا هنا أصلًا. النظام يعمل تمامًا كما وُصف، لكنك تريده أن يعمل بشكل آخر أو أن يفعل شيئًا إضافيًا. هذه إضافة جديدة لا إصلاح، وتمرّ على مسار طلبات التغيير أدناه.
المعيار الفاصل سؤال واحد: هل الوثيقة تعدك بهذا؟ إن كانت تعدك به ولم تجده، فهو عليّ. وإن كانت لا تذكره، فهو عمل جديد.
وبعد أن تُغلق جولة المراجعة وتُقبل المرحلة، يبقى إصلاح ما يخالف الوثيقة مجانيًا كما هو. أما أي طلب جديد بعدها فهو طلب تغيير مدفوع، حتى لو كان صغيرًا — لأن المرحلة أُغلقت وبُني فوقها، وهذا هو معنى أن يكون للمراجعة نافذة.
طلبات التغيير: لن أرفض طلبًا. ترسله مكتوبًا، وأرد في يوم العمل التالي بثلاثة أشياء: هل هو داخل المكتوب أم خارجه، وما تكلفته، وأثره على تاريخ التسليم. ولا يُنفَّذ شيء قبل موافقتك المكتوبة.
الاستبدال: إذا أردت أن تضيف شيئًا وتحذف شيئًا آخر بحجم مقارب من نفس المرحلة وقبل بدئها، فهذا ممكن باتفاق مكتوب بيننا نحن الاثنين — أراجع البندين وأؤكد لك أنهما متقاربان في الحجم فعلًا قبل أن نمضي. الغرض من الموافقة المتبادلة أن يبقى حجم العمل كما اتفقنا عليه، فلا يتحول الاستبدال إلى إضافة مغطّاة باسم آخر.
تعريف الخلل: سلوك يخالف ما هو مكتوب في هذه الوثيقة، وقابل لإعادة إنتاجه بخطوات. يُصلَح مجانًا، دائمًا، وخلال 30 يومًا بعد التسليم النهائي.