الأسعار والمدفوعات
يتابع HoopoTrack العمل من إيداع القطعة إلى استلامها. وهذه الصفحة عن الجانب المالي من ذلك العمل نفسه، لا غير: السعر، وعرض السعر الذي يوافق عليه العميل، والدفعات المقدّمة والمدفوعات التي تُستلم عند منضدتك، والمبلغ المتبقي حتى يُقرأ على العمل «مدفوع بالكامل»، والتسليم للعميل من اللوحة، وعدّ النقد في نهاية اليوم، وصفحة «المدفوعات» ومعها ملف CSV لمحاسبك. والورشة التي لا تُدخل سعرًا قط ترى التطبيق كما كان تمامًا.
ما هي، ومن يراها
الأسعار والمدفوعات جزء من الخطط المدفوعة، وصفحة الخطط تقول ذلك في سطر خاص بها: «الأسعار والمدفوعات»، ويُقرأ فيه «مشمول» أو «غير مشمول» في كل خطة. وفي خطة لا تشملها يرى صاحب الورشة سطرًا واحدًا في كل صفحة تذكرة، في الموضع الذي كان المال سيحتلّه: «الأسعار والمدفوعات ضمن الخطط المدفوعة.» وبجانبه «الاطلاع على الخطط». أما الموظفون فلا يرون شيئًا البتّة، ولا يظهر شيء في نموذج التسجيل ولا قائمة التذاكر ولا لوحة المنضدة ولا صفحة التتبّع.
وداخل فريقك، المال صلاحية كغيرها. صاحب الورشة يملكها دائمًا. أما الموظف فيحتاج إلى تأشير «إدارة المدفوعات» في حسابه قبل أن يستطيع تحديد سعر أو إرسال عرض سعر أو تسجيل دفعة أو إلغائها أو ردّها؛ ومن دونها يرى أن على العمل مبلغًا متبقيًا أو أنه مدفوع بالكامل، ولا يرى كم أبدًا، ولا تظهر له أي أداة مالية لا يستطيع استعمالها. وتحتها صلاحية ثانية أصغر، «الاطلاع على المبلغ المتبقي»: بها وحدها يقرأ الموظف الرقم، «المبلغ المتبقي 320 MAD»، حيثما ظهرت الشارة، ولا يزال لا يرى سعرًا ولا بند عرض سعر ولا دفعة ولا شيئًا يسجّل. وتشرح «الفريق والعملاء» كيف تتصرّف الخانتان في نموذج الموظف.
ويُكتب كل مبلغ بعملة ورشتك، وهي المضبوطة في ملف الورشة، ورمزها بعد الرقم: «320 MAD»، «1,250.50 MAD»، ولا يُكتب رقم مجرّد أبدًا. والمبالغ الصحيحة تُسقط كسورها. ومتى سُجّلت دفعة واحدة لم يعد ممكنًا تغيير العملة من الإعدادات؛ ويقول الحقل «لا يمكن تغيير العملة بعد تسجيل مدفوعات. تواصل مع الدعم عند الحاجة.» وهذه القاعدة هي ما يمنع تقريرًا من جمع عملتين معًا.
والمال لا يعوق العمل أبدًا. فلا حقل مالي إلزامي قط؛ والتذكرة تُنشأ وتُنقل وتُكتمل وتُحذف بلا سعر أصلًا، ولا يُحتجز شيء لأن مبلغًا لم يُدفع. المال لوحة جانبية على العمل لا مرحلة فيه: فهو لا يضيف خطوة إلى «الخطوة 2 من 6» التي يراها العميل، ولا يظهر في أي من المسارَين خطوةً مستقلة، ولا يغيّر لون شارة المرحلة. وحيث يكون للتطبيق ما يقوله عن المال، يقوله تحت المرحلة لا بدلًا منها.
ويمكن إطفاء الميزة كلها لورشتك من تبويب «الإعدادات» في صفحة المدفوعات، والورشة التي تنتقل إلى خطة لا تشملها في الوضع نفسه. وفي الحالتين تحتفظ الورشة بكل ما سجّلته: للقراءة فقط، وما زال على التذكرة، وما زال في ملف CSV. فلا يُضاف جديد، ويُسحب عرض السعر الذي ما زال ينتظر العميل، ويكفّ العملاء عن رؤية المبالغ. وإعادة تشغيلها، أو العودة إلى خطة تشملها، تتيح الإضافة من جديد؛ أما عرض السعر المسحوب فيبقى مسحوبًا. وتقول صفحة التذكرة أيّ الحالتين هي في سطر واحد فوق السجلات. عند الإطفاء: «تبقى هذه السجلات محفوظة. الأسعار والمدفوعات متوقفة في ورشتك، ويمكن تشغيلها من جديد من تبويب الإعدادات في صفحة المدفوعات.» وفي خطة لا تشملها: «تبقى هذه السجلات محفوظة. إضافة الأسعار والدفعات متاحة في الخطط المدفوعة.»
سعر ودفعة مقدّمة عند تسجيل العمل
يكتسب نموذج التسجيل صفًّا واحدًا مطويًّا، «السعر (اختياري)»، بين المسند إليه والوصف. وهو مطويّ لا يكلّف المسار المعتاد شيئًا. وحين يُفتح فهو حقل مبلغ واحد بعملتك. فهذا الرقم الواحد هو طريقة أكثر المحلات في تحديد السعر، والنموذج لا يُلزمك بالتفصيل: «تفصيل السعر» رابط يحوّل المجموع إلى بنود («إضافة بند»، لكل منها تسمية مثل «مثال: أجرة العمل» ومبلغ)، و«الخصم بندٌ بمبلغ سالب.» تقول كيف يُكتب الخصم. أما «المجموع» فيُجمع لك.
وتحت المبلغ خانة «وافق العميل حضوريًا» تبدأ غير مؤشَّرة. فالموافقة فعلٌ من العميل، ولذلك لا يسجّلها التطبيق افتراضيًا أبدًا؛ وتأشيرها ضغطة واحدة في الموضع نفسه، وهي تجعل السعر عرض سعر متّفقًا عليه من الدقيقة الأولى. وإن تُركت بلا تأشير حُفظ السعر مسودةَ عرض سعر يمكنك إرسالها للموافقة لاحقًا. والعميل لا يرى المسودة أبدًا.
يفتح «دفعة مقدّمة مستلَمة الآن» مبلغًا وأزرار طرق الدفع، وهي الأداة نفسها التي ستلقاها ثانيةً باسم «تسجيل دفعة». والدفعة المقدّمة جزء من الثمن: تُخصم من المجموع، وتعود عبر «ردّ مبلغ» إن لم يمضِ العمل. وتُسجَّل دفعةً لحظة حفظ التذكرة، وتكتسب لوحة «هذه التذكرة» بجانب النموذج صفّ «السعر» وصفّ «دفعة مقدّمة» ما إن تكتبهما.
والإيصال الذي تسلّمه عند التسجيل يطبع الدفعة المقدّمة في الحالتين، بصيغة «دفعة مقدّمة 100 MAD · نقدًا»، لأن العميل يحمل إيصال ذلك المال. ولا يطبع السعر والمبلغ المتبقي إلا حين يكون السعر متّفقًا عليه؛ فالسعر المسودة لا يطبع شيئًا، لأن مبلغًا متبقيًا على رقم لم يوافق عليه العميل مطالبةٌ لا سجلّ. والصفّ لا يظهر إلا لمن يدير المدفوعات؛ أما الموظفون بلا هذه الصلاحية فيرون النموذج كما كان دائمًا.
وتُكتب المبالغ كما تكتبها لوحة مفاتيحك: الأرقام العربية المشرقية وأيّ من علامتَي الكسر العشري مقبولة وتُقرأ صحيحة. والمبلغ الذي فيه من الكسور أكثر ممّا في عملتك يُرفض برسالة ولا يُقرَّب، فيكون المسجَّل دائمًا هو المكتوب بالضبط.
عروض الأسعار
في صفحة التذكرة يجلس المال في بطاقة واحدة، «السعر والدفعات»، تحت تفاصيل التذكرة في العمود الجانبي. وصفّها الأول هو الجواب الذي تريده المنضدة: «المبلغ المتبقي 320 MAD» أو «مدفوع بالكامل» أو «يُردّ للعميل 50 MAD»، وبجانبه «تسجيل دفعة». وتحته السعر المتّفق عليه موسومًا بـ«المتّفق عليه»، ووضع عرض السعر، وبنوده إن كانت له بنود، و«الدفعات»، و«السجلّ». والمبلغ المتبقي نفسه شارةٌ أيضًا في ترويسة التذكرة بجانب شارة المرحلة؛ وعلى الهاتف، حيث البطاقة بعيدة في أسفل الصفحة، يأخذك لمس الشارة إليها. وفي تذكرة بلا سعر تكون البطاقة رابطًا هادئًا واحدًا «إضافة سعر» لا غير: لا أرقام فارغة ولا جدول ولا شارة.
وعرض السعر واحد من ستة أوضاع، والبطاقة تقول أيّها: «مسودة»، أو «بانتظار العميل» بعد إرساله، أو «تمت الموافقة»، أو «مرفوض»، أو «استُبدل بنسخة أحدث»، أو «سُحب». و«بانتظار العميل» هي العبارة نفسها التي تستعملها قائمة التذاكر واللوحة لمرحلة أو سؤال لم يُجب عنه العميل، فيظهر عرض السعر المرسَل عبر تلك الشارة المألوفة الواحدة بدل أن يضيف شارة ثانية. وبخلاف السؤال، لا يحتجز عرض السعر المرسَل العمل: يمكنك مواصلة نقل التذكرة بينما يقرّر العميل.
يفتح «إرسال للموافقة» نافذة مبنيّة كنافذة «اسأل العميل»: تعرض البنود والمجموع كما سيراها العميل تمامًا، وتتيح لك اختيار القنوات التي تستطيع الوصول إلى هذا العميل، ثم ترسل. وعرض السعر الذي لا بنود له يحتاج إلى سطر واحد خاص به قبل أن يخرج، «ما يشمله عرض السعر»، لأن العميل الذي يقرأ على هاتفه لم يكن عند المنضدة ليسمعه؛ والنافذة تقول ذلك: «اذكر ما يشمله عرض السعر، ليعرف العميل ما يوافق عليه.» أما السعر المتّفق عليه حضوريًا فلا يحتاج إلى مثل هذا السطر. وأزِل التأشير عن كل القنوات فتكون الرسالة صادقة: «سُجِّل عرض السعر. لم يُبلَّغ العميل، وسيجده في صفحة التتبّع.» وإلا: «أُرسل عرض السعر إلى العميل.» ولا يُعرض الإرسال على تذكرة منتهية ولا لعميل أُخفيت هويته، للأسباب نفسها التي لا يُعرض السؤال لأجلها.
ومتى أُرسل عرض السعر جُمِّد: بنوده ومجموعه وسطر «ما يشمله عرض السعر» هي ما يوافق عليه العميل، ولا شيء يعيد كتابتها بعد ذلك. يجيب العميل من صفحة تتبّعه، وتسجّل البطاقة ذلك: «وافق عليه العميل في 12 أكتوبر 02:32 م»، أو «رفضه العميل في 12 أكتوبر 09:10 ص» مع ما تركه من ملاحظة، مقتبسةً حيث الجواب. وتُراسَل ورشتك بالبريد لحظة وصول أيّ من الجوابين. أما السعر المتّفق عليه عند المنضدة فيُسجَّل باسم بدل جواب: «موافقة حضورية · التسجيل: …»، يليه من أشّر عليه ومتى.
وإن كانت مرحلة تطلب موافقة العميل مفتوحة في الوقت نفسه، لم يصل العميلَ بطاقتان عن قرار واحد. فبطاقة عرض السعر تحمل سؤال المرحلة تحت البنود، و«موافقة» أو «رفض» واحدة تُسجَّل على الاثنين، فتُحرَّر المرحلة ويُتَّفق على عرض السعر بالضغطة نفسها. وتخبرك نافذة الإرسال قبل الإرسال بأن العميل سيجيب عن الاثنين معًا.
وتغيير السعر بعد موافقة العميل سؤال جديد، لا تعديل أبدًا. فزرّ «تعديل» على عرض سعر مُرسَل أو متّفق عليه ينشئ نسخة جديدة، تظهر لك وأنت تكتبها وللعميل وهو يجيب عنها، والرقم القديم بجانب الجديد: «كان 350 MAD، وأصبح 420 MAD». وحتى تُرسَل تلك النسخة ويُوافَق عليها، أو يُتَّفق عليها حضوريًا، يبقى المبلغ السابق قائمًا: يظلّ موسومًا بـ«المتّفق عليه»، ويجلس الجديد بجانبه بوسم «عرض سعر جديد لم تتمّ الموافقة عليه بعد»، ويُحسب المبلغ المتبقي من المتّفق عليه. ولكل من يدير المدفوعات أن يفعل ذلك، وبهذه الطريقة وحدها؛ فلا أحد يعدّل عرض سعر متّفقًا عليه في موضعه، ولا صاحب الورشة نفسه. والخصم عند الاستلام يأخذ الطريق نفسه، متّفقًا عليه حضوريًا.
و«السجلّ» هو الجواب عن «قلتم 350»: قائمة زمنية واحدة لكل نسخة من عرض السعر وكل دفعة وإلغاء وردّ، الأقدم في الأسفل، ومع كل منها من ومتى، وسطور نسخ مثل «النسخة 2 · تمت الموافقة · 420 MAD» و«النسخة 1 · استُبدل بنسخة أحدث · 350 MAD». ويُفتح من تلقاء نفسه ما إن تصير النسخ أكثر من واحدة، حتى لا يكون الجواب خلف ضغطة في اللحظة التي يُحتاج فيها بالضبط. أما الدفعات التي تُلغى في ثوانٍ من تسجيلها فتنطوي في سطر هادئ واحد «دفعة واحدة ملغاة» بدل أن تزدحم به.
والمبلغ المتبقي يُحسب ولا يُكتب أبدًا: المجموع المتّفق عليه ناقص الدفعات زائد المبالغ المردودة، والصفوف الملغاة خارج الحساب. فلا شاشة فيها حقل «المبلغ المتبقي» أو «المبلغ المدفوع»، ولا أحد يستطيع كتابة «مدفوع بالكامل»؛ بل تظهر حين يقولها الحساب. وما دام لم يُتَّفق على شيء بعد، ترى أنت مبلغًا متبقيًا على المسودة تحت عنوان «على عرض سعر لم يوافق عليه العميل بعد»، ولا يرى العميل أي مبلغ متبقٍّ. وحين يُتَّفق على سعر أدنى بعد دفع المبلغ كاملًا، ينقلب المبلغ المتبقي فيُقرأ «يُردّ للعميل 50 MAD» بلون التحذير، وبجانبه «ردّ مبلغ».
تسجيل دفعة
يفتح «تسجيل دفعة» نافذةً تصعد من أسفل الشاشة على الهاتف، وتتوسّط الشاشة العريضة. و«المبلغ المستلَم» مملوء سلفًا بالمبلغ المتبقي، وأولى طرق الدفع المقبولة عندك مختارة سلفًا، فالمعتاد ضغطتان: افتح، وأكّد. ويحمل زرّ التأكيد الرقم الذي هو على وشك تسجيله، «تسجيل 320 MAD»، ليُقرأ المبلغ الخاطئ قبل أن يُحفظ.
وأزرار «طريقة الدفع» هي الطرق التي تقبلها ورشتك، بترتيب ثابت يبدأ بـ«نقدًا»: «نقدًا» و«بطاقة» و«تحويل بنكي» و«محفظة إلكترونية» و«أخرى»، وهذه الأخيرة تسأل «ما طريقة الدفع؟» وتحتاج إلى جواب. وأيّ الخمس يظهر يُضبط في «المدفوعات › الإعدادات»؛ والورشة التي تقبل طريقة واحدة لا ترى أزرارًا، بل اسمها فقط. والترتيب ثابت عن قصد: فالطريقة تقرّر ما ينبغي أن يكون في الصندوق في نهاية اليوم، و«بطاقة» بقيت مختارة من العميل السابق تُخرج دفعة نقدية من العدّ بهدوء.
اكتب أقلّ من المبلغ المتبقي فتقول النافذة ما سيبقى: «المبلغ المتبقي بعد ذلك: 120 MAD». واكتب أكثر فتحذّرك دون أن توقفك: «هذا أكثر من المبلغ المتبقي البالغ 320 MAD. سيظهر الفائض 30 MAD مبلغًا يُردّ للعميل.» والدفع الزائد نادر لكنه واقع؛ وسببه المعتاد كتابةُ النقد الذي ناوله العميل بدل السعر، ولهذا يكرّر الزرّ الرقم. والحقل الفارغ يعطّل الزرّ، وتحته «أدخل المبلغ المستلَم.»
وبعد التأكيد تظهر رسالة «سُجّلت دفعة بقيمة 320 MAD.» ومعها زرّان: «تراجع» لعشر ثوانٍ، و«طباعة الإيصال». والتراجع لا يحذف الدفعة. فيبقى صفّها في السجلّ منطويًا في «دفعة واحدة ملغاة» مع سطر «أُلغيت بعد تسجيلها مباشرة»، ويُترك خارج كل مجموع وخارج عدّ الصندوق. فالدفعة المحذوفة حذفًا تامًّا قد تكون على إيصال مطبوع أو في صفحة العميل، ولذلك يحفظها السجلّ ويقول ما حدث. والتراجع لمن سجّل الدفعة؛ وغيره يصحّحها بالطريق الأبطأ الموصوف تاليًا.
وبعد الثواني العشر تُصحَّح الدفعة على الملأ. فزرّ «إلغاء هذه الدفعة»، على الصفّ نفسه، يسأل «ما سبب الإلغاء؟» ويحتاج إلى جواب؛ ثم يُشطب الصفّ ويُقرأ «أُلغيت · …» مع الاسم والسبب، ويكفّ عن الحساب. والدفعة التي سبق ليوم مُقفَل أن احتسبها ترفض ذلك: «هذا الدفع ضمن يوم أغلقته بالفعل. سجّل استردادًا بدلًا من ذلك، وسيُحتسب في اليوم المفتوح حاليًا.»، مع «تسجيل استرداد» الذي يفتح نموذج الاسترداد معبّأً بمبلغها وطريقتها؛ وإعادة فتح ذلك الإقفال، وهي من شأن المالك، تجعلها قابلة للإلغاء من جديد. والمال المُعاد «مبلغ مردود»: صفّ خاص به بطريقة دفع وملاحظة، لا يعدّل الدفعة الأصلية أبدًا ولا يتجاوز ما دُفع على التذكرة. وكل صفّ، أيًّا كان نوعه («دفعة مقدّمة» أو «دفعة» أو «مبلغ مردود»)، يحمل «التسجيل: …» مع الاسم والوقت، ولا يظهر من دونه أبدًا. فلا شيء يُقرأ مدفوعًا ما لم يسجّله شخص.
ويفتح «طباعة الإيصال» «إيصال دفع» بعرض 80 مم في تبويب جديد: ورشتك، ورقم التذكرة، والتاريخ بساعة ورشتك، و«المبلغ»، و«طريقة الدفع»، و«التسجيل: 14 أكتوبر 05:38 م»، وتحت «بعد هذه الدفعة» المبلغ المتبقي. وورق العميل لا يحمل اسم موظف أبدًا. والطباعة لا تُنهي مهلة التراجع، لكن التراجع بعد خروج الإيصال يسأل أولًا: «الإيصال مطبوع مسبقًا» و«التراجع يُلغي هذه الدفعة. اطلب من العميل إعادة الإيصال.»، مع «التراجع رغم ذلك» و«إبقاء الدفعة». وإيصال الدفعة الملغاة، إن أُعيدت طباعته، يحمل «ملغى» عبره. وتتغيّر إيصالات التذكرة نفسها أيضًا؛ ويقول قسم الطباعة في صفحة «التذاكر» كيف.
وأكثر المدفوعات يحدث حين يعود العميل، فهناك ينتظر المبلغ المتبقي. ونقل التذكرة إلى مرحلة الجاهزية للاستلام لا يعرض أي مطالبة: فذلك النقل يُجرى على طاولة العمل والعميل غائب، ورسالة الجاهزية هي التي تحمل المبلغ المتبقي. ثم تبدأ بطاقة التذكرة المنتهية بـ«المبلغ المتبقي 320 MAD» و«تسجيل دفعة» فوق التقييم. أما التسليم للعميل، والنقل إلى مرحلة مكتملة تلي مرحلة الاستلام (مرحلة «تم الاستلام» أو «تم التسليم»)، فيسألان أولًا كلما كانت التذكرة غير مسوّاة: «ما زال 320 MAD مستحقًا.»، أو «50 MAD للاسترداد.»، أو «ما زال عرض سعر ينتظر ردًّا.»، كلٌّ منها مع الإجراء المناظر بجانب «التسليم رغم ذلك»؛ ومن لا يملك صلاحية تسجيل دفعة لا يرى رقمًا، بل «لم تُسوَّ هذه التذكرة بعد.» فقط. ولا يُعرض السؤال أبدًا في تقدّم لوحة المنضدة بضغطة واحدة لنقل عادي.
والموظف الذي ليس له «إدارة المدفوعات» يقرأ الشارة بلا رقم، ويقرأ في موضع البطاقة جملة واحدة: «يوجد مبلغ متبقٍّ. يمكن لمن يملك صلاحية إدارة المدفوعات تسجيله.» وهي تقرّر الواقع دون أن ترسل موظفًا وحيدًا عند المنضدة يبحث عن زميل قد لا يكون موجودًا. ومع «الاطلاع على المبلغ المتبقي» يعود الرقم إلى الشارة، ولا يعود شيء سواه.
التسليم للعميل من لوحة المنضدة
تعرض لوحة المنضدة الآن مرحلة الجاهزية للاستلام افتراضيًا، عمودَ الجاهز، في كل الخطط. أما المرحلة المكتملة التي تليها، والتذاكر التي سُلّمت أصلًا، فتبقى خلف «تضمين التذاكر المكتملة». وكل بطاقة في عمود الجاهز تحمل إجراءً رئيسيًا واحدًا حيث يقع التقدّم في البطاقات الأخرى. فعلى بطاقة لا شيء يُدفع فيها هو «تسليم للعميل»، ضغطة واحدة مع تراجع اللوحة المعتاد بأربع ثوانٍ. وعلى بطاقة عليها مبلغ متبقٍّ هو «تسجيل الدفعة والتسليم»، وتحمل البطاقة شارة المبلغ المتبقي. ولا تظهر الشارة إلا في عمود الجاهز، حيث يُسلَّم العمل إلى عميل؛ فأعمدة العمل الجاري لا تحملها أبدًا، والبطاقة المدفوعة لا تحملها.
والتسليم للعميل يعني أحد أمرين، والتطبيق يختار الصحيح لسير عملك. فحيث في سير العمل مرحلة مكتملة بعد مرحلة الاستلام، يكون التسليم هو النقل إليها، وتخرج رسائل تلك المرحلة كما تخرج لأي نقل. وحيث لا مرحلة كذلك، وهو حال كل القوالب الجاهزة، تبقى التذكرة في مرحلتها وتُختم بأنها سُلّمت لا أكثر، ولا تُرسَل رسالة. وفي الحالتين تغادر البطاقة عمود الجاهز، وتُقرأ التذكرة المنتهية «التسليم للعميل: …» مع التاريخ واسم من سلّمها. والأعمال المنتهية قبل وجود هذه الميزة تُحسب مسلَّمة من يوم اكتمالها وتُقرأ «التسليم للعميل: 3 مارس 04:40 م» بلا اسم.
ويفتح «تسجيل الدفعة والتسليم» نافذة عنوانها «التسليم للعميل · التذكرة T-1042»: العميل والتذكرة والمبلغ المتبقي بخطّ كبير، ثم حقل «المبلغ المستلَم» نفسه وأزرار الطرق نفسها التي في «تسجيل دفعة». وزرّها الرئيسي يحمل الرقم، «تسجيل 320 MAD والتسليم»، ويفعل الأمرين في طلب واحد. وتحته «تسجيل الدفعة فقط» يأخذ المال دون نقل العمل، و«تسليم دون دفع» زرّ نصّي كلفته مكتوبة تحته: «يظلّ المبلغ المتبقي مستحقًّا.» فتسليم عمل غير مدفوع ليس ضغطة عمياء أبدًا، ولا يُرفض أبدًا كذلك؛ وتُحسب التذكرة حينها ضمن المنتظرة للدفع.
ومن يحصل على أي زرّ يتبع الصلاحيتين. فمن له «إدارة المدفوعات» و«تحديث المراحل» يحصل على النافذة أعلاه. ومن يستطيع نقل التذاكر ولا يدير المدفوعات يحصل على «تسليم للعميل»، وهو على بطاقة عليها مبلغ متبقٍّ يفتح النافذة للقراءة فقط: «المبلغ المتبقي» (بالرقم إن كان يملك «الاطلاع على المبلغ المتبقي»)، وسطر «يوجد مبلغ متبقٍّ. يمكن لمن يملك صلاحية إدارة المدفوعات تسجيله.»، وإجراء واحد، «تسليم دون دفع». ومن يدير المدفوعات ولا يستطيع نقل التذاكر يحصل على «تسجيل دفعة»، وهو يسجّل ولا ينقل شيئًا. ومن ليس له أيّهما فلا زرّ له، كما هو الحال اليوم.
ويُرسَل الإجراء المركّب في الحال، ورسالته تُقرأ «سُجّلت دفعة بقيمة 320 MAD · جارٍ النقل إلى تم الاستلام» مع السطر الذي تضيفه اللوحة دائمًا عمّا سيُرسَل، ثم «تراجع» و«طباعة الإيصال» لعشر ثوانٍ. وهذه الثواني العشر صادقة لأن الرسائل التي يطلقها التسليم تُحتجز على الخادم طوال المهلة وتخرج حين تنقضي؛ وفي أثنائها لم يُرسَل شيء. والتراجع يلغي الدفعة (ويبقى الصفّ منطويًا في «دفعة واحدة ملغاة»)، ويُسقط الرسائل المحتجزة، ويعيد البطاقة إلى عمود الجاهز كأنها لم تتحرّك: «أُلغيت الدفعة وعادت التذكرة T-1042 إلى جاهز للاستلام.» وحيث كان التسليم ختمًا بلا نقل، تُقرأ الرسالة «سُجّلت دفعة بقيمة 320 MAD · جارٍ تسليم التذكرة T-1042 للعميل» ولا سطر فيها عن الإرسال، لأن شيئًا لا يُرسَل.
وحالتان نادرتان تستحقّان المعرفة. فإن كان «طباعة الإيصال» قد ضُغط، سأل التراجع أولًا، وأُضيف إلى السؤال «تعود التذكرة إلى جاهز للاستلام.»، لأن العميل قد يكون حاملًا الورقة أصلًا. وإن رفض الخادم التراجع (انقطع الاتصال، أو انقضت المهلة في الطريق) لم تعُد البطاقة: بل تقول الرسالة «تعذّر التراجع. الدفعة والتسليم قائمان. ألغِ الدفعة من صفحة التذكرة.» فبطاقة تبدو متراجَعًا عنها فوق دفعة قائمة هي أسوأ ما يمكن هنا. وبعد المهلة تُلغى الدفعة بسبب من بطاقة التذكرة، وتُعاد التذكرة إلى الوراء كأي تذكرة.
ويمكن التراجع عن التسليم وحده، لاحقًا، من بطاقة التذكرة المنتهية: «إلغاء التسليم للعميل»، بجانب سطر «التسليم للعميل»، لكل من يستطيع تحديث المراحل، في كل الخطط. وهو يمحو الختم (أو يعيد التذكرة التي انتقلت إلى مرحلة مكتملة لاحقة إلى مرحلة الجاهزية)، ويعيد التذكرة إلى عمود الجاهز، ولا يرسل إلى العميل شيئًا في الحالتين: فلا يُخبَر أحد مرّة ثانية بأن العمل جاهز، ولا يُخبَر أحد بأن التسليم أُلغي. والدفعة لا تُمسّ. وإن كانت دفعة قد سُجّلت في التسليم نفسه، سأل الزرّ أولًا: «تبقى الدفعة مسجّلة. ألغِها على حدة عند الحاجة.»، ويبقى إلغاؤها فعلَ البطاقة نفسها بسببه. وتُقرأ الرسالة «أُلغي التسليم للعميل. عادت التذكرة T-1042 إلى جاهز للاستلام.»
وإعادة تذكرة مسلَّمة إلى مرحلة الجاهزية بأي طريق آخر تمحو الختم أيضًا، وذلك النقل يرسل رسائل مرحلة الجاهزية كأي نقل، وهذا هو الفرق عن «إلغاء التسليم للعميل». ولا يُمحى التسليم السابق في الحالتين: فسجلّ مراحل التذكرة يحفظه سطرًا تحت المرحلة التي حدث فيها، «التسليم للعميل: … · … · الإلغاء: …» مسمّيًا من ألغاه، أو «التسليم للعميل: … · … · أُلغي بالعودة إلى جاهز للاستلام»، فحين يقول عميل «لقد استلمته أصلًا» يكون الجواب على الصفحة. ولا يصل شيء من ذلك إلى صفحة التتبّع.
ويكتسب الشريط الأعلى في اللوحة مالَ اليوم، بساعة ورشتك. فيقرأ صاحب الورشة «المقبوض اليوم: 2,050 MAD»، بعد خصم المبالغ المردودة، والنقد فيه. ويقرأ الموظفون، ومن يدير المدفوعات منهم، «المقبوض اليوم عدا النقد: 800 MAD»، وفي نافذة الشريط صفًّا لكل طريقة غير النقد لها مبلغ، ثم «النقد: يُعدّ عند الإقفال» في موضع النقد. ومجموع النقد الجاري محجوب عن الموظفين عن قصد، ليكون لعدّ نهاية اليوم معنى؛ وهو يصلهم عبر ذلك العدّ. وتحمل النافذة، وعنوانها «مدفوعات اليوم»، كذلك «3 تذاكر بانتظار الدفع»، وهو يفتح قائمة تذاكرك مفروزةً على الأعمال المنتهية التي عليها مبلغ متبقٍّ، وآخر إقفال، و«إقفال اليوم». واليوم الذي لم يُقبض فيه شيء يُغفل الرقم بدل أن يطبع صفرًا.
إقفال اليوم
«إقفال اليوم» يجيب عن سؤال واحد: هل النقد الذي في الصندوق هو ما يقول التطبيق إنك قبضته؟ وهو لمن يدير المدفوعات، وصاحب الورشة منهم، إذ إن من يسجّل النقد هو من يعدّه. أما إعادة فتح يوم مُقفَل فلصاحب الورشة وحده. وللورشة صندوق واحد، ولا شيء يلحّ عليك لعدّه: فالورشة التي لا تُقفل يومًا قط لا ترى إلا الزرّ.
والفترة ليست اليوم التقويمي. بل تجري من الإقفال السابق (أو من أول دفعة على الإطلاق) إلى الآن، والنافذة تقول ذلك في سطرها الأول، «منذ الجمعة 07:42 م»، فالاستلام المتأخّر الذي يُسجَّل بعد عدّ هذه الليلة يخصّ الإقفال التالي بدل أن يضيع من هذا. وإقفال ثانٍ في المساء نفسه أمر عادي.
والعدّ يجري دون رؤية المبلغ المتوقع. تُفتح النافذة على حقل واحد، «النقد بعد العدّ»، وزرّ واحد، «مقارنة»، لا غير: فقبل أن تضغط «مقارنة» لا يُرسَل المبلغ المتوقع إلى الصفحة أصلًا، حتى لا يعدّ أحد نحو رقم رآه من قبل. و«مقارنة» يرسل عدّك، فيجيب الخادم بالحكم، كلماتٍ لا رقمًا مجرّدًا بإشارة: «الصندوق مطابق» أو «نقص بمقدار 20 MAD» أو «زيادة بمقدار 20 MAD». والنقص والزيادة كلاهما بلون التحذير، لأن الزيادة فرقٌ أيضًا. وصاحب الورشة، الذي يقرأ رقم النقد الجاري على اللوحة طوال اليوم، هو الشخص الوحيد الذي يعدّ وهو يعرف الرقم، والنافذة واحدة للجميع حتى لا يتوقّف السجلّ أبدًا على من عدّ.
وتحت الحكم، حين لا يكون مطابقًا، يأتي «ما سبب الفرق؟»، ولا يُقفل اليوم حتى يُجاب عنه. ثم الحساب، مرصوفًا عمودًا تجمعه العين: «النقد في الصندوق عند الفتح»، زائد «النقد المقبوض»، ناقص «المبالغ المردودة نقدًا»، يساوي «المبلغ المتوقع في الصندوق». والنقد عند الفتح منقول من آخر إقفال ويمكن تعديله هنا؛ والتعديل يُسجَّل باسم من أجراه، لأنه يحرّك الرقم المتوقع. و«النقد المتروك في الصندوق» يأخذ افتراضيًا النقد عند الفتح ويصير رقم بداية الفترة التالية؛ وأكثر ممّا عددته مرفوض بـ«يتجاوز النقد بعد العدّ.» وأخيرًا يسرد «خارج الصندوق»، للعلم، مجاميع البطاقة والتحويل والمحفظة الإلكترونية وغيرها في الفترة، صفًّا لكل طريقة لها مبلغ ولا صفوف صفرية، والمبالغ المردودة تظهر بصيغة «بطاقة، مبلغ مردود».
ويمكنك إعادة العدّ بعد المقارنة. فالحقل يبقى قابلًا للتعديل، ويتبع الحكم والحساب وحدّ النقد المتروك الرقمَ الجديد دون مقارنة ثانية؛ والسطر تحت الحقل يقول «يمكنك إعادة العدّ. يبقى العدّ الأول محفوظًا مع الإقفال.» ويسجّل الإقفال الرقمين: العدّ الأول، المُرسَل مع أول مقارنة والمحتجز على الخادم من تلك اللحظة، وهو الإشارة الصادقة، والعدّ الأخير، الذي يستعمله الفرق والملاحظة والنقد عند الفتح للفترة التالية. وتطبع صفحة المدفوعات «العدّ الأول 1,450 MAD» تحت الإقفال فقط حين يختلف الرقمان.
والحفظ ينشئ سجلًّا لا يُعدَّل أبدًا: من أقفل، ومتى، والفترة، وكل رقم، والملاحظة. ثم تُقرأ اللوحة «إقفال اليوم الساعة 07:42 م · …» مع الاسم، ويبقى المدخل للفترة التالية. والدفعة التي سبق ليوم مُقفَل أن احتسبها لا يمكن إلغاؤها بتاتًا بعد ذلك: يشرح قسم «تسجيل دفعة» الرفض والاسترداد الذي يحيل إليه بدلًا منها. أما المال الذي عاد إلى عميل فمبلغ مردود، والمبلغ المردود داخل الحساب دومًا، ويقع في اليوم المفتوح وقت تسجيله.
ولا يستطيع صاحب الورشة إعادة فتح غير آخر إقفال، إذ إن إعادة فتح إقفال أقدم تعيد تقطيع فترات كل إقفال بعده. و«إعادة فتح هذا الإقفال» يسأل «ما سبب إعادة الفتح؟» ويقول ما يترتّب: «يبقى هذا الإقفال مدرجًا في السجلّ، ويغطي الإقفال التالي هذه الفترة من جديد.» وإعادة الفتح لا تمحو شيئًا أبدًا: فيبقى الإقفال الأول في القائمة مشطوبًا، ومعه «إعادة الفتح · …» والسبب تحته، ويليه إقفال جديد. وإن أقفل شخصان في وقت واحد، رُفض الحفظ الثاني بسطر يسمّي من أقفل، «أُقفل اليوم الساعة 07:42 م · …»، وأُعيد تحميل النافذة بذلك الإقفال. لا شيء هنا يجري بصمت.
يمكنك إقفال اليوم من موضعين. الزرّ في الشريط أعلى اللوحة، وفي كتلة «اليوم» من صفحة المدفوعات أيضًا، لمن لهم الصلاحية نفسها. وفي الهاتف يحمل صفّ المال في اللوحة دائمًا زرّ «إقفال اليوم» بحجم كامل؛ فإذا أُقفل اليوم ولم يبقَ نقد للعدّ صار شارة «أُقفل الساعة 07:42 م» تفتح السجلّ. وإن كان العدّ يغطي فترة بدأت قبل اليوم قالت النافذة ذلك: «لم يُقفَل منذ ذلك الحين، لذا قد يختلف هذا العدّ عن «المقبوض اليوم» الذي يبدأ من منتصف الليل.» وتقول أيضًا متى استُبعدت من المتوقَّع في الصندوق دفعات أو مبالغ مردودة نقدًا على تذاكر محذوفة.
صفحة المدفوعات وملف CSV
تظهر «المدفوعات» في الشريط الجانبي، بعد «العملاء»، من أول سجلّ مالي في الورشة، ولا يفتحها إلا صاحب الورشة. وهي مرتّبة لتجيب أولًا عن «من يدين لي وبكم» وثانيًا عن «هل الصندوق مطابق».
في الأعلى «بانتظار الدفع»: الأعمال المنتهية التي عليها مبلغ متبقٍّ، الأقدم أولًا، ولكل منها العميل والمبلغ و«جاهزة منذ 12 أكتوبر» و«تسجيل دفعة» في الصفّ نفسه. ثم «اليوم»: المجموع حسب طريقة الدفع، والنقد أولًا، ليُعدّ الصندوق، و«آخر إقفال: الجمعة 07:42 م · الصندوق مطابق».
وتحتهما منتقي فترة بساعة ورشتك («اليوم» و«هذا الأسبوع» و«هذا الشهر» و«مخصّصة»)، وللفترة: «حسب طريقة الدفع»، و«صافي المقبوض» (الدفعات ناقص المبالغ المردودة، والصفوف الملغاة خارج الحساب)، و«مبالغ مستحقة على أعمال منتهية»، و«دفعات مقدّمة على أعمال جارية»، والقائمة المعنونة «دفعات الفترة» حيث تُشطب الإلغاءات وتُسرد المبالغ المردودة مع من ردّها، و«الإقفالات» في الفترة بأحكامها. والفترة التي لا شيء فيها تقول «لا توجد مدفوعات مسجّلة في هذه الفترة.» والورشة التي لم تسجّل دفعة قط تقرأ جملة واحدة ولا أصفارًا: «لا توجد مدفوعات مسجّلة بعد. تظهر هنا عند تسجيل دفعة في تذكرة.»
و«تصدير CSV» هو ملف المحاسب، والسطر تحته يقول ما فيه: «سطر لكل دفعة ومبلغ مردود وإلغاء في الفترة: التاريخ والتذكرة والعميل وطريقة الدفع والمبلغ ومن سجّله.» والصفوف الملغاة مُدرجة بأسبابها، والمبالغ تحمل رمز العملة، وطريقة الدفع التي لم تعد تقبلها لا تزال تظهر على الدفعات المسجّلة بها.
ما يراه العميل
عرض السعر الذي يُطلب الموافقة عليه سؤال، فيأخذ الموضع الذي للأسئلة أصلًا في صفحة التتبّع: يقول تبويب المتصفح والشريط في أعلى الصفحة «مطلوب إجراء منك»، وتجلس البطاقة تحت الشريط، قبل المسار. وعنوانها «أرسلت إليك ورشتك عرض سعر»، ومعها «أُرسل من» يليه اسم ورشتك والتاريخ (الورشة، لا موظف أبدًا)، وسطر «بانتظار موافقتك قبل مواصلة العمل.»، والبنود والمجموع كما أرسلتها تمامًا، أو سطر «ما يشمله عرض السعر» للرقم الواحد، وللسعر المعدَّل «كان 350 MAD، وأصبح 420 MAD» فوقها. والزرّان «الموافقة على 420 MAD» و«رفض»، ومعهما «هل تودّ إخبار الورشة بالسبب؟ (اختياري)». وأيّهما يفتح التأكيد نفسه الذي تستعمله الصفحة للسؤال، «الموافقة على عرض السعر هذا بقيمة 420 MAD؟»، مقتبسًا البنود، كي لا يوافق أحد على جملة كفّ عن قراءتها.
وبعد الجواب تنطوي البطاقة في قائمة الأسئلة المُجاب عنها، بصيغة «وافقت على عرض السعر هذا في 12 أكتوبر.» أو «رفضت عرض السعر هذا. ستتواصل معك الورشة.»، مع بقاء البنود سجلًّا للعميل بما وافق عليه. وتُحدِّث الصفحة نفسها كل 30 ثانية، والجواب عن عرض سعر سحبته أو استبدلته بينما كان العميل يقرؤه يُرفض بدل أن يُسجَّل على النسخة القديمة: «عدّلت الورشة عرض السعر هذا. إليك العرض الجديد.» ومتى سُلّم العمل للعميل، يتوقف عرض السعر عن كونه شيئًا يُجاب عنه أصلًا: فالبطاقة لم تعد تظهر في صفحة تتبع تذكرة سُلّمت، ورابط موافقة أو رفض قديم يُرفض بـ«هذا العمل منتهٍ بالفعل، فلم يعد بالإمكان الرد هنا. تواصل مع الورشة عند الحاجة.» وإعادة فتح التذكرة تعيد البطاقة، والقدرة على الرد، معًا.
وتحت الأسئلة وفوق المسار سطر هادئ واحد يلخّص المال: «عرض السعر 420 MAD · المدفوع 100 MAD · المبلغ المتبقي 320 MAD». ولا يظهر إلا حين يكون «إظهار الأسعار للعملاء» مفعَّلًا في «المدفوعات › الإعدادات» وقد أُرسل سعر أو اتُّفق عليه. وما دام عرض السعر مُرسَلًا فقط، أو مرفوضًا، حمل السطر الدفعة المقدّمة ولا مبلغ متبقٍّ، «عرض السعر 420 MAD · المدفوع حتى الآن 100 MAD»، لأن مبلغًا متبقيًا على رقم لم يوافق عليه العميل مطالبة. وعند الصفر يُقرأ «مدفوع بالكامل.» لا غير. وحين يكون العمل جاهزًا للاستلام ينضمّ المبلغ المتبقي أيضًا إلى الشريط في الأعلى، تحت عنوانك: «المبلغ المتبقي عند الاستلام: 320 MAD»، وهي اللحظة التي يحتاجه العميل فيها. وفي التذكرة المحميّة برمز PIN ينتظر هذا كله خلف الرمز، كسائر ما في الصفحة.
ولا شيء في الصفحة يطلب من العميل أن يدفع. فلا زرّ دفع ولا شعار بطاقة ولا شيء يأخذ مالًا: «المدفوع حتى الآن» هو سجلّ ورشتك بما استُلم عند المنضدة، معروضًا للعميل. وعرض السعر الذي ترسله يظهر له دائمًا أيًّا كان وضع مفتاح «إظهار الأسعار للعملاء»؛ فذلك المفتاح يحكم ما يظهر دون أن يختاره أحد: سطر المدفوعات، والمبلغ المتبقي في رسالة الجاهزية، والمبالغ في إيصالات العميل.
والرسائل تحمل الرقم ولا تحمل البنود أبدًا؛ فتلك في الصفحة. وإرسال عرض السعر يراسل العميل بالبريد بعنوان «عرض السعر للتذكرة T-1042: 420 MAD» مع سطر «يمكنك الموافقة عليه أو رفضه من صفحة تذكرتك.» وزرّ يفتحها، ويراسله على واتساب حيث يصله ذلك، عبر قالب اعتمدته Meta. وفي التذكرة المحميّة برمز PIN لا تحمل رسالة أي مبلغ: فالموضوع «عرض سعر للتذكرة T-1042»، لأن موضوع بريد أو معاينة على شاشة القفل كانا سيلتفّان على الرمز. وتكتسب رسالة الجاهزية للاستلام سطرًا واحدًا، «المبلغ المتبقي: 320 MAD.»، فقط حين تُظهَر الأسعار للعملاء، والمبلغ المتبقي فوق الصفر، والمبلغ متّفق عليه، والتذكرة بلا رمز PIN. وتشرح «الإشعارات» كيف تُختار هذه الرسائل وكيف ترى هل وصلت.
وعلى الورق، يطبع إيصال العميل بعرض 80 مم والنصف القابل للفصل من ورقة A4 سطور «عرض السعر» و«مدفوع» و«المبلغ المتبقي» بالشرطين نفسيهما: إظهار الأسعار للعملاء، ومبلغ متّفق عليه أو دفعة مسجَّلة؛ أما السعر المسودة فلا يطبع شيئًا. وإيصال الدفع موصوف تحت «تسجيل دفعة». وإخفاء هوية عميل يمحو هويته كما كان دائمًا ويحتفظ بالمبالغ، فهي حسابات ورشتك لا بيانات العميل الشخصية.
ما يُسجَّل، وما لا يُسجَّل
يسجّل HoopoTrack المدفوعات؛ ولا يستلمها، ولا يصدر فواتير ضريبية. وكل إيصال مطبوع يحمل مبلغًا يقول ذلك في سطر، وأوراق الضريبة تبقى في الأداة التي تستعملها لها أصلًا. ولا شيء هنا يتّصل بجهاز بطاقات ولا بنك ولا خدمة دفع عبر الإنترنت، ولا يُعرض على أي عميل قط طريقة للدفع عبر HoopoTrack.
والسجلات لا يُعاد كتابتها بصمت أبدًا. فالإلغاء والردّ واقعتان جديدتان تُضافان إلى السجلّ، بسبب واسم؛ ويحفظ سجلّ التدقيق كل تغيير مالي مع من أجراه، والتغيير في ما يُعرض للعميل يُنسب دائمًا على الصفّ نفسه، لا في السجلّ وحده. وحذف تذكرة عليها مدفوعات من شأن صاحب الورشة، والنافذة تقول كم مجموع تلك المدفوعات وأن الحذف يُخرجها من مجاميعك؛ وتبقى التذكرة في «التذاكر المحذوفة» المدّة المعتادة، واستعادتها تعيد مدفوعاتها معها. وإذا حُذفت نهائيًا فلا تأخذ معها شيئًا من مدفوعاتها: تبقى في عرض «المدفوعات» وفي ملف CSV بعنوان مثل «T-1042 (محذوفة) · كريم»، ويبقى كل يوم أُقفل كما كان.
وتقول سياسة الخصوصية الشيء نفسه: الأسعار والمدفوعات وطرق الدفع التي تسجّلها الورشة على تذاكرها تُحفظ لحسابات الورشة نفسها، ولا يستلم HoopoTrack أي دفعة ولا يعالجها. وأدوات إدارة المنصّة لا تعرض مال أي ورشة. ولا يراه فريق دعم HoopoTrack إلا إذا دخل حسابك، كما يفعل حين يساعدك في حلّ مشكلة؛ ولا يستطيع تصديره من هناك، وكل ما يُغيَّر بهذه الطريقة يُسجَّل.