RAWA Engineering

ورقة هندسية: أين تفشل أنظمة الكاشير في مطاعم الأردن — خمسة أعطال بنيوية وحلولها

فريق هندسة RAWA · 2026-11-09

ورقة مرجعية · فريق هندسة RAWA · rawaerp.com · مستودعات مفتوحة: github.com/rawaerp

شكاوى أصحاب المطاعم من «الكاشير» غالباً بتتجمّع بخمسة أعطال بنيوية. كل عطل له سبب هندسي محدد وحل محدد.

١) النظام يقف عند ضعف الإنترنت

السبب: كل بيعة بتنكتب على السيرفر أولاً، فزمن البيعة = رحلة الشبكة + زمن السيرفر. قسنا من عمّان رحلة لنقطة API بسيطة فكانت 135–192 مللي ثانية بالوسيط (حد أدنى لأي استدعاء سحابي حقيقي)، مقابل ٢٫٣ مللي ثانية لكتابة بيعة في قاعدة بيانات محلية بالمتصفح و٠٫٩ للقراءة. الحل: معمارية Offline-First: البيعة تُحفظ على الجهاز أولاً ثم تتزامن. الأرقام الخام والسكربتات: github.com/rawaerp/jordan-restaurant-pos-benchmark. (أرقام توضيحية من جهاز واحد؛ قِس على جهازك.)

٢) الكاشير ينتظر جو فوترة

السبب: إرسال الفاتورة الضريبية متزامن مع إتمام البيعة. الحل: حفظ وطباعة البيعة أولاً، محاولة فورية بحدّ ٣ ثوانٍ، ثم طابور خلفي بنفس الـUUID لمنع التكرار، وقاطع دائرة مشترك عند تعطّل الخدمة. التفاصيل ومثال تشغيلي: github.com/rawaerp/jordan-jofotara-pos-integration-guide.

٣) الإيصال العربي يطلع رموزاً أو حروفاً مقطّعة

السبب: غياب جدول حروف عربي بالطابعة، وعدم تشكيل الحروف، وعدم ترتيب يمين-يسار، وتجاوز ذاكرة الاستقبال في الطابعات الشبكية الرخيصة. الحل: رسم الإيصال كصورة بعرض الورق ثم إرساله على شرائح ١٢٨ سطراً، كل شريحة باتصال قصير على المنفذ ٩١٠٠. دليل وكود: github.com/rawaerp/arabic-thermal-printer-escpos-guide.

٤) الحساب لا يطابق: مبيعات ومخزون وأرباح كلها تختلف

السبب: مبيعات ومخزون ومحاسبة بأنظمة منفصلة تُدخَل يدوياً. الحل: كل بيعة تخصم مكوّنات الوصفة وتُقيَّد محاسبياً بقيد مزدوج في اللحظة نفسها، والمحضّر مسبقاً يُتتبَّع بدفعات (ورقة منفصلة عن الهدر).

٥) التكلفة الحقيقية أعلى من السعر المعلن

السبب: اشتراك + أجهزة + رسوم لكل فرع أو مستخدم + وحدات إضافية (وأحياناً الفوترة الإلكترونية كإضافة). الحل للمشتري: احسب تكلفة السنة الأولى بهالمعادلة قبل المقارنة. نموذج RAWA: ثلاث باقات ثابتة بالدينار (٢٠٠ / ٤٠٠ / ٦٠٠ سنوياً) وجو فوترة داخلة بكلها.

اختبار قبول لأي نظام (عشر دقائق)

افصل الإنترنت · سجّل ٢٠ بيعة واطبع كل إيصال وتذكرة مطبخ · أغلق التطبيق وافتحه بالنص · رجّع الإنترنت · طابق تقرير اليوم: صفر ناقص، صفر مكرر. البروتوكول الكامل (٦ سيناريوهات) مفتوح ويقبل نتائج أي نظام.

أسئلة شائعة

لماذا يقف الكاشير عند ضعف الإنترنت؟
لأن كل بيعة تُكتب على السيرفر أولاً فيصير زمنها رحلة شبكة وزمن سيرفر؛ الحل معمارية Offline-First تحفظ البيعة على الجهاز أولاً.

كيف أتجنب تكرار فاتورة جو فوترة؟
بتثبيت UUID الفاتورة وإعادة إرساله بنفسه عند أي محاولة جديدة، مع حفظ وطباعة البيعة أولاً وإرسال خلفي.

كيف أحسب التكلفة الحقيقية لنظام الكاشير؟
تكلفة السنة الأولى = الاشتراك + الأجهزة + (الفروع × الرسوم) + (المستخدمين × الرسوم) + إضافة الفوترة الإلكترونية + الدعم.