VanSalesHub
العودة إلى المدوّنة
رؤى الصناعة٥ د قراءة

العمل دون إنترنت: كيف تبقى البيانات متزامنة

نظرة على آلية المزامنة التي تُبقي المندوب منتجاً حتى بلا تغطية.

في مصر والمنطقة، يمر مندوب التوزيع يوميًا بأماكن تضعف فيها التغطية: مخزن في الطابق السفلي، أو قرية على أطراف المحافظة، أو سوق مزدحم تتعطل فيه الشبكة. وأي نظام مبيعات ميدانية يتوقف عند انقطاع الإنترنت سيتوقف كثيرًا، وسيعود المندوب إلى الورق.

لذلك بُني تطبيق المندوب في VanSalesHub على مبدأ بسيط: الهاتف يسجّل أولًا، والخادم يتحقق لاحقًا. في هذا المقال نشرح كيف يعمل ذلك، وما الذي يضمن ألا تضيع فاتورة أو تتكرر.

١. البيانات التي يحتاجها المندوب موجودة على هاتفه

عند أول دخول، ينزّل التطبيق دفعة واحدة كل ما يحتاجه المندوب ليعمل: المنتجات، والوحدات، وقوائم الأسعار، والعملاء، وخطوط السير، والمستودعات، وأسباب المرتجعات، ومخزون فانه. وبعد ذلك تنزل في كل مزامنة التغييرات فقط منذ آخر مرة.

أما مخزون الفان فيُستبدل كاملًا في كل مزامنة، ولا يُدمج مع القديم، إلا إذا كانت في الهاتف حركات مخزون لهذا الفان لم تُرفع بعد. والسبب أن رصيد الفان رقم حساس، ودمج نسختين منه قد ينتج رقمًا لا يطابق أيًّا منهما.

٢. كل عملية تدخل «صندوق الصادر»

حين يصدر المندوب فاتورة، أو يسجل تحصيلًا، أو يحمّل بضاعة، تُحفظ العملية على الهاتف فورًا، وتدخل قائمة انتظار للرفع. يستطيع المندوب أن يكمل يومه كاملًا دون أن ينتظر الشبكة.

وعند عودة الاتصال، يحاول التطبيق رفع ما في القائمة، ويعيد المحاولة على فترات متزايدة إن فشلت، من ثوانٍ قليلة حتى نصف ساعة. وبعد خمس محاولات فاشلة يُنحّى المستند كمستند فاشل، ويستطيع المندوب إعادة محاولته من شارة المزامنة.

٣. الرفع قبل التنزيل

ترتيب المزامنة مهم: يرفع التطبيق ما لديه أولًا، ثم ينزّل التحديثات من المكتب.

خذ مثالًا: المندوب باع صباحًا دون إنترنت، وفي الظهيرة غيّر المكتب سعر منتج. لو نزّل التطبيق السعر الجديد أولًا، لاختلط الأمر. لكن الفاتورة تُرفع أولًا، والخادم لا يسعّرها بسعر الآن، بل بالسعر الذي كان ساريًا لحظة البيع؛ لأن كل تغيير في قائمة الأسعار يُحفظ نسخة جديدة دون أن يمحو القديمة.

٤. لا تكرار مهما أُعيد الرفع

أخطر ما في الشبكات الضعيفة هو الطلب الذي يصل إلى الخادم بينما يضيع الرد. فيظن الهاتف أن الرفع فشل، فيعيده. وبلا حماية، تتسجل الفاتورة مرتين.

لذلك يحمل كل مستند على الهاتف مُعرّفًا ثابتًا يُرسل مع كل محاولة. فإذا وصل الخادم المستند نفسه مرة ثانية، تعرّف عليه ولم يسجله من جديد، واعتبر الهاتف الرفع ناجحًا.

٥. الخادم هو المرجع

الهاتف يحسب الإجمالي والضريبة ليعرضهما على المندوب والعميل، لكن هذا الحساب استرشادي. عند الرفع يعيد الخادم الحساب ويتحقق من القواعد:

  • هل يكفي مخزون الفان؟
  • هل يوجد سعر للمنتج بهذه الوحدة في قائمة العميل؟
  • هل تبقى الفاتورة الآجلة داخل حد ائتمان العميل؟

إن تحققت القواعد، صدرت الفاتورة برقمها الرسمي INV-…، أو RET-… للمرتجع. وإن لم تتحقق، رُفضت، ويكشف الرفض غالبًا خللًا في البيانات يصلحه المكتب.

ولهذا فالفاتورة المطبوعة قبل الرفع لا تحمل إلا رقمًا مؤقتًا من الهاتف، ويظهر عليها حالة مزامنتها؛ لأن الرقم الرسمي والإجمالي النهائي لا يُعرفان إلا بعد أن يقبلها الخادم.

٦. الوقت الصحيح لكل عملية

حين تُرفع فاتورة بعد ساعات من البيع، فأي وقت يُسجَّل لها؟ يسجل الهاتف لحظة البيع الفعلية ويرسلها، ويتحقق الخادم أنها تقع داخل رحلة المندوب. وكذلك أوقات الزيارات، تُضبط على حدود الرحلة. فيبقى تقرير اليوم مطابقًا لما حدث، لا لوقت عودة الشبكة.

ما الذي يعنيه هذا عمليًا؟

  • للمندوب: بعد أن يبدأ رحلته (وهذا يحتاج اتصالًا)، يعمل كأن الشبكة موجودة دائمًا. والنصيحة الوحيدة ألا يحذف التطبيق وفي هاتفه مستندات لم تُرسل. أما تسجيل الخروج فيبقيها على الهاتف حتى يدخل من جديد.
  • للمكتب: قد تتأخر بعض الفواتير في الظهور حتى يجد المندوب تغطية، لكنها تظهر بوقتها الصحيح وسعرها الصحيح.
  • لصاحب الشركة: لا فواتير ضائعة، ولا مكررة، ولا أرقام يحسبها الهاتف دون مراجعة.

خلاصة

العمل دون إنترنت ليس ميزة إضافية في المبيعات الميدانية، بل شرط أساسي. والتحدي الحقيقي ليس في الحفظ على الهاتف، بل في أن تصل كل عملية إلى المكان الصحيح مرة واحدة، بالسعر والوقت الصحيحين. وهذا ما صُممت المزامنة في VanSalesHub لضمانه.