يستطيع المندوب إنشاء أوامر البيع وفواتير البيع بدون اتصال وتسليم العميل فاتورة نهائية، بشرط أن يجهّز الخادم الأسعار عند كل مزامنة ثم يسجّل مستندات الهاتف كما صدرت تمامًا. الأرقام مقاسة على نسخة الاختبار لنظام EGEU بالقراءة فقط، إلا ما ذُكر أنه تقدير أو توصية.
1طريقة عمل الوضع بدون إنترنت
يحمل الهاتف نسخة من أسعار النظام وقواعده، وينشئ المستندات بنفسه، ثم يرسلها عند عودة الاتصال. ويبقى الخادم المكان الوحيد الذي يُرحَّل فيه المخزون والحسابات.
- مزامنة قبل خط السير (متصل). يحمّل الهاتف عملاء المندوب، والأصناف، والأسعار المحسوبة مسبقًا من النظام، وقواعد الخصم، ونسب ضريبة القيمة المضافة، ومخزون السيارة، وأرصدة العملاء.
- البيع (بدون اتصال). ينشئ المندوب أوامر البيع والفواتير. يبحث الهاتف عن السعر، ويطبّق قواعد الخصم المحمّلة، ويضيف الضريبة، ويقرّب الإجمالي، ويطبع برقمه الخاص.
- مزامنة بعد خط السير (متصل). يرسل الهاتف كل مستند مرة واحدة بمرجع فريد، فلا ينتج عن إعادة الإرسال نسخة ثانية.
- الخادم. يحفظ المستند بسيريال الهاتف وأسعاره، ويرحّل المخزون والحسابات، ويعيد حساب السعر للمقارنة فقط، ويبلّغ عن أي فرق.
| البند | طريقة العمل |
| مصدر السعر | يحسب النظام الأسعار عند كل مزامنة. الهاتف لا يضع سعرًا من عنده. |
| ما يحسبه الهاتف | خصم شرائح السلة، وخصم الإجمالي، والضريبة، والإجماليات والتقريب. هذه الأربعة تغطي كل بنود فواتير الموبايل في أغسطس. |
| صلاحية البيانات المحمّلة | للبيانات تاريخ انتهاء (المقترح: نهاية يوم العمل). يرفض الهاتف إصدار فاتورة ببيانات منتهية. |
| رقم المستند | سلسلة أرقام لكل مندوب، يصدرها الهاتف ويحتفظ بها الخادم. |
| منع التكرار | مرجع فريد على كل مستند. خدمة الموبايل الحالية لا تحتوي عليه. |
| المخزون | مخزون السيارة عند آخر مزامنة مطروحًا منه مبيعات الهاتف. |
| حد الائتمان | رصيد العميل عند آخر مزامنة مضافًا إليه مبيعات الهاتف. |
| الاعتماد | تصل الفاتورة المنشأة بدون اتصال معتمدة. الخصم الأعلى من 15% يُمنع بدون اتصال لأن دورة الاعتماد تعامله كمستوى اعتماد أعلى. |
| الساعة | يسجّل الهاتف وقت البيع قياسًا على وقت الخادم المأخوذ عند آخر مزامنة، فلا يؤثر تغيير ساعة الهاتف. |
| الأمان | قاعدة بيانات محلية مشفّرة، وهاتف واحد مسجّل لكل مندوب، وتسجيل خروج من الخادم. |
| المطلوب تنفيذه على الخادم | خدمات التحميل، وخدمة رفع تردّ على كل مستند، وسلاسل أرقام لكل مندوب، وحفظ أسعار الهاتف دون تغيير، وتقرير الفروقات. |
2أنواع المستندات
يمكن إنشاء تسعة أنواع من المستندات بدون اتصال، أما حركات المخزون بين المخازن والاعتمادات فلا يمكن. الأعداد هي المستندات التي أنشأها تطبيق الموبايل منذ 1 يوليو 2026.
| المستند | بدون اتصال | أنشأها التطبيق | الشروط |
| أمر البيع (Sales Order) | إنشاء | 1,470 | يصل كمسودة ويمر بدورة الاعتماد العادية. لا يحرّك مخزونًا ولا حسابات، فهو الأكثر أمانًا. |
| فاتورة البيع مع المخزون (Sales Invoice) | إنشاء، نهائية | 1,758 | تحتاج بيانات أسعار غير منتهية، ومخزون السيارة على الهاتف، وسلسلة أرقام خاصة بالمندوب. |
| سند القبض (Payment Entry) | إنشاء | 2,512 | يُطبع الإيصال بدون اتصال. يُربط بفواتير آخر مزامنة. إذا سُدّدت إحداها في هذه الأثناء، يحفظ الخادم المبلغ غير مخصّص وينبّه. |
| زيارة العميل والموقع | إنشاء | | سجل بسيط بالوقت والموقع الجغرافي. في النظام نحو 86,000 زيارة. |
| عميل جديد | إنشاء مؤقت | 188 | يأخذ كوده عند المزامنة. حتى ذلك الحين يشتري بسعر القائمة وبدون ائتمان. |
| العنوان وجهة الاتصال | إنشاء | | يُربطان بالعميل عند المزامنة. |
| طلب المواد (تحميل السيارة) | إنشاء، في الانتظار | 362 | يُرسل عند المزامنة. دورة اعتماده تجري بعد ذلك. |
| عرض السعر، العميل المحتمل، الفرصة | إنشاء | | نفس نمط أمر البيع. |
| الأصناف، الأسعار، الوحدات، الضريبة، قواعد الخصم، العملاء، الأرصدة، الفواتير المفتوحة، مخزون السيارة | قراءة فقط | | كما كانت عند آخر مزامنة. |
| إذن التسليم (Delivery Note)، حركة المخزون (Stock Entry) | غير متاح | | يحرّكان مخزونًا في مخازن لا يتحكم فيها الهاتف. |
| خطوات الاعتماد على مستندات الآخرين | غير متاح | | الاعتماد يحتاج المستند الحي. |
3العيوب
الوضع بدون إنترنت يتنازل عن فحوصات الخادم الحية مقابل البيع بدون اتصال. كل صف هو شيء تخسره الشركة أو يجب أن تديره.
| العيب | معناه هنا | طريقة الحد منه |
| البيانات حديثة بقدر آخر مزامنة فقط | 1,189 من 1,190 قاعدة تسعير فعّالة لها تاريخ انتهاء، فالبيانات القديمة تعطي أسعارًا خاطئة. | البيانات المحمّلة تنتهي صلاحيتها. بدون مزامنة لا فوترة. |
| المخزون غير مضمون | المخزون السالب ممنوع، و24 من 28 مخزنًا يبيع منها المناديب تصدر منها فواتير من المكتب أيضًا. | بين المزامنات لا يحرّك مخزون السيارة إلا الهاتف، أو يُسمح بالمخزون السالب على السيارات. |
| حد الائتمان تقريبي | الهاتف يعرف الرصيد عند آخر مزامنة. 24 من 905 عملاء أصدر لهم فواتير أكثر من مندوب. | الخادم ينبّه عن التجاوز بعد حدوثه. لا يستطيع منعه. |
| لا اعتماد قبل أن يستلم العميل الفاتورة | 68 من 1,758 فاتورة موبايل رُفضت أو أُلغيت بعد أن أنشأها المندوب. | الحدود تُطبّق على الهاتف. الأخطاء تُصحّح بمرتجع. |
| تصحيح الأخطاء أكثر تكلفة | الفاتورة الصادرة بدون اتصال لا تُعدّل. عُدّلت الأصناف أو الكميات في 211 فاتورة موبايل بعد الحفظ الأول. | شاشة مراجعة قبل الطباعة، ثم مرتجع وفاتورة جديدة. |
| الحساب موجود في مكانين | الهاتف يكرّر أربع عمليات حسابية. أي نوع جديد من القواعد يحتاج إصدارًا جديدًا من التطبيق على كل هاتف. | اختبار إعادة تشغيل قبل كل إصدار، ومنع الإصدارات القديمة. |
| شرائح الخصم المكتوبة في الكود لا يمكن إرسالها | شرائح الخصم النقدي موجودة في كود البرنامج لا في جداول. مستندات الموبايل لا تستخدمها اليوم. | نقلها إلى جداول قبل إتاحتها على الهاتف. |
| إجمالي الخادم نفسه لم يكن ثابتًا في أغسطس | 420 من 1,758 إجمالي فاتورة موبايل تغيّر بعد الحفظ الأول بنفس الأصناف. جرت إصلاحات من 30 أغسطس، وهذه النسخة فيها فواتير لاحقة أقل من أن تؤكّد. | التأكد على النظام الفعلي قبل البناء. |
| الأرقام لكل مندوب وليست تسلسلًا واحدًا | لكل مندوب بادئة. الهاتف المفقود أو المعاد ضبطه يجب أن يسترجع آخر رقم له. | الخادم يحفظ آخر رقم لكل مندوب. |
| الهاتف المفقود أو المعطّل يضيّع المستندات غير المرسلة | العميل معه ورقة ليس لها سجل عند الشركة. | المزامنة كلما وُجد اتصال. |
| المخزون والحسابات متأخرة | المبيعات تظهر بعد المزامنة فقط وتُرحّل بوقت البيع السابق. تقارير نهاية اليوم وإقفال الفترة تنتظر كل الهواتف. | شاشة تعرض الهواتف التي لم تزامن. |
| عمل متابعة في المكتب | كل فرق أو تنبيه يصدره الخادم يحتاج مراجعة يومية. | قائمة استثناءات واحدة لها مسؤول واحد. |
| تصميم الفاتورة محفوظ مرتين | الخادم هو الذي يبني نماذج الطباعة اليوم، فيحتاج الهاتف نسخته الخاصة. | انظر نماذج الطباعة. |
| بيانات الشركة موجودة على الهواتف | العملاء والأسعار والأرصدة مخزّنة على الجهاز. | التشفير، وقفل الشاشة، وتسجيل الخروج من الخادم. |
| الإبلاغ الضريبي غير مؤكّد | لم يُعثر على ربط للفاتورة الإلكترونية على فاتورة البيع في هذا النظام. | التأكد مع الحسابات من طريقة وصول الفواتير إلى مصلحة الضرائب. |
4حجم قاعدة البيانات
بيانات المندوب العادي تأخذ نحو 18 ميجابايت على الهاتف، وأثقل حالة نحو 100 ميجابايت، ويحتاج الخادم نحو 55 ميجابايت إضافية لكل 5,700 مستند. الأحجام محسوبة بحجم الصف الكامل على الخادم، فالأرقام الفعلية على الهاتف ستكون أصغر.
| البيانات على الهاتف | المقاس | الحجم |
| الأصناف | 801 صنف بيع | 0.7 ميجابايت |
| وحدات القياس لكل صنف | 1,712 صفًا | 0.5 ميجابايت |
| الأسعار المحسوبة من النظام | 2,513 زوجًا من صنف ووحدة لكل مجموعة عملاء. المناديب يبيعون لـ 18 مجموعة، والموجود 54. | 4.5 ميجابايت لـ 18 مجموعة، و14 ميجابايت لـ 54، بتقدير 100 بايت للصف |
| قواعد الخصم | 1,190 قاعدة فعّالة مع 9,406 صفوف تفصيلية | 3.3 ميجابايت |
| العملاء مع العنوان وجهة الاتصال وحد الائتمان | 115 للمندوب المتوسط، و1,821 للأكبر | 0.2 ميجابايت، أو 3.6 ميجابايت |
| الفواتير المفتوحة للتحصيل | 10,924 في الشركة كلها | أقل من 1 ميجابايت |
| مخزون السيارة | 43 صنفًا في المتوسط، و82 كحد أقصى | أقل من 0.1 ميجابايت |
| المستندات المنشأة على الهاتف، محفوظة 90 يومًا | 3.9 فاتورة و3.3 أمر بيع لكل مندوب يوميًا، و24 و30 في أثقل الأيام | 8 ميجابايت، أو 65 ميجابايت لو كان كل يوم هو الأثقل |
| صور الأصناف، اختيارية | 336 صورة | 14 ميجابايت |
| الإجمالي | | 18 ميجابايت في العادة، و32 مع الصور، ونحو 100 في أثقل حالة |
الفاتورة الواحدة تأخذ نحو 13 كيلوبايت وأمر البيع نحو 17 كيلوبايت. التحميل الأول نحو 10 ميجابايت بدون الصور، والمزامنات التالية ترسل ما تغيّر فقط.
| البيانات على الخادم | الحجم |
| قاعدة البيانات اليوم، نسخة الاختبار | 31.6 جيجابايت في 1,176 جدولًا |
| الأسعار المحسوبة للهواتف | نحو 14 ميجابايت لكل نسخة محفوظة |
| نسخة من كل مستند كما أرسله الهاتف، للمراجعة | نحو 55 ميجابايت لـ 5,740 فاتورة وأمر بيع وسند قبض أنشأها التطبيق منذ 1 يوليو |
| الحقول الجديدة، وسجل الهواتف، وسلاسل الأرقام | أقل من 1 ميجابايت |
5مواصفات الهاتف
أي هاتف أندرويد حديث من الفئة المتوسطة يكفي، لأن البيانات صغيرة وأثقل يوم هو بضع عشرات من المستندات. هذه توصيات وليست قياسات، والحد الأدنى الدقيق لأندرويد يعتمد على إصدار Flutter المختار.
| البند | الحد الأدنى | الموصى به |
| النظام | Android 8.0 أو iOS 13 | Android 11 أو أحدث، أو iOS 15 أو أحدث |
| الذاكرة (RAM) | 3 جيجابايت | 4 جيجابايت أو أكثر |
| المساحة الخالية | 500 ميجابايت | 1 جيجابايت |
| المعالج | 64 بت | فئة متوسطة من آخر أربع سنوات |
| البلوتوث | 4.0، للطابعة | 5.0 |
| تحديد الموقع (GPS) | مطلوب. التطبيق يسجّل الزيارات والمواقع بالفعل. | |
| الكاميرا | 8 ميجابكسل، للمرفقات | 13 ميجابكسل |
| البطارية | 4,000 مللي أمبير | 5,000 مللي أمبير مع شاحن سيارة |
| الأمان | قفل شاشة، والجهاز غير معدّل (بدون root) | تشفير الجهاز مفعّل، وهو قياسي من Android 10 |
| التاريخ والوقت | مضبوطان تلقائيًا | |
| الطابعة | حرارية بلوتوث، 80 مم، تطبع الصور | موديل طابعة واحد لكل المناديب |
كل مندوب يحتاج هاتفه الخاص، لأن سلسلة الأرقام ومخزون السيارة مرتبطان بجهاز واحد. النص العربي يُطبع صحيحًا على الطابعات الحرارية فقط عند إرساله كصورة.
6نماذج الطباعة
نماذج الطباعة الحالية لا تعمل على الهاتف كما هي، لأن الخادم هو الذي يبنيها. يمكن تحويل كل نموذج مرة واحدة إلى قالب للهاتف يطبع نفس الشكل بدون اتصال.
| المستند | النموذج على النظام | النوع |
| فاتورة البيع | Mobile - 2 (الافتراضي) | تصميم مخصص: 20,360 حرفًا من HTML، من اليمين إلى اليسار، بخط Cairo |
| أمر البيع | sales Mobile و Tax SO ونموذجان آخران، بدون نموذج افتراضي | قوائم حقول يرسمها الخادم |
| سند القبض | payment (الافتراضي) و Mobile Payment Entry | قوائم حقول يرسمها الخادم |
نموذج Mobile - 2 سهل النقل: نحو عشرة حقول من المستند، وثمانية حقول لكل بند، وحلقة تكرار واحدة، بدون صور وبدون رمز QR وبدون سكربتات. ثلاثة أشياء فيه تحتاج الخادم اليوم:
- خط Cairo يُحمّل من الإنترنت.
- تذييل الترويسة يُقرأ من قاعدة البيانات.
- المبلغ بالحروف يكتبه الخادم.
| طريقة الطباعة | تعمل بدون اتصال | الطريقة |
| PDF من الخادم، كما هو اليوم | لا | يحمّل الهاتف ملف PDF. يبقى لإعادة الطباعة بعد المزامنة. |
| قالب للهاتف منسوخ من النموذج (الموصى به) | نعم | نفس الـ HTML والـ CSS مع ترك الحقول فارغة، ويُحمّل عند المزامنة. يملأ الهاتف الحقول، ويستخدم خط Cairo المخزّن في التطبيق، ويطبع إلى PDF أو A4 أو طابعة حرارية. |
| تصميم مبني داخل التطبيق | نعم | الأسرع على الطابعات الحرارية. كل تغيير في الشكل يحتاج إصدارًا جديدًا من التطبيق. |
بالطريقة الموصى بها، أي تغيير في الشكل يستخدم نفس الحقول يصل إلى الهواتف عند المزامنة التالية، والتغيير الذي يضيف حقلًا يحتاج إصدارًا جديدًا من التطبيق. ويجب أن يكتب الهاتف المبلغ بالحروف بنفسه، بنفس صياغة الخادم.
A rep can create Sales Orders and Sales Invoices with no connection and hand the customer a final invoice, provided the server prepares the prices at each sync and then records the phone's documents exactly as issued. Figures were measured on the EGEU test copy, read-only, unless marked as an estimate or a recommendation.
1How offline mode works
The phone carries a copy of the system's prices and rules, creates documents by itself, and sends them when the connection returns. The server remains the only place where stock and accounts are posted.
- Sync before the route (online). The phone downloads the rep's customers, items, prices already calculated by the system, discount rules, VAT rates, van stock and customer balances.
- Selling (offline). The rep creates orders and invoices. The phone looks up the price, applies the downloaded discount rules, adds VAT, rounds the total and prints with its own number.
- Sync after the route (online). The phone sends each document once, with a unique reference, so a repeated send cannot create a second copy.
- Server. It stores the document with the phone's number and prices, posts stock and accounts, recalculates the price for comparison only, and reports any difference.
| Spec | How it works |
| Price source | The system calculates prices at each sync. The phone never sets a price of its own. |
| What the phone calculates | Basket tier discount, discount on the total, VAT, totals and rounding. On the August mobile invoices these four cover every line. |
| Validity of downloaded data | The data carries an expiry (suggested: end of the working day). The phone refuses to invoice on expired data. |
| Document number | One number series per rep, issued by the phone and kept by the server. |
| Duplicate protection | A unique reference on every document. The current mobile endpoint has none. |
| Stock | Van stock from the last sync, minus the phone's own sales. |
| Credit limit | Customer balance at the last sync, plus the phone's own sales. |
| Approval | An offline invoice arrives already approved. A discount above 15% is blocked offline, because the approval cycle treats it as a higher approval level. |
| Clock | The phone records the sale time against the server time taken at the last sync, so changing the phone's clock has no effect. |
| Security | Encrypted local database, one registered phone per rep, sign-out from the server. |
| Server work needed | Download services, an upload service that answers per document, per-rep number series, storing the phone's prices unchanged, and a difference report. |
2Document types
Nine kinds of document can be created offline; stock movements between warehouses and approvals cannot. The counts are documents the mobile app created since 1 July 2026.
| Document | Offline | Created by the app | Conditions |
| Sales Order | Create | 1,470 | Arrives as Draft and follows the normal approval. It moves no stock and no accounts, so it is the safest. |
| Sales Invoice with stock | Create, final | 1,758 | Needs unexpired price data, van stock on the phone and the rep's own number series. |
| Payment Entry (collection) | Create | 2,512 | The receipt prints offline. It is matched to invoices from the last sync. If one was settled meanwhile, the server keeps the amount unallocated and flags it. |
| Sales return | Create, with limits | 45 | Only against an invoice held on the phone. Accounts approves returns today, so a return is final only inside a limit the company sets. |
| Customer Visit and location | Create | | A simple record with time and GPS. The system holds about 86,000 visits. |
| New Customer | Create, provisional | 188 | Gets its code at sync. Until then it buys at list price with no credit. |
| Address and Contact | Create | | Attached to the customer at sync. |
| Material Request (van loading) | Create, queued | 362 | Sent at sync. Its approval chain runs afterwards. |
| Quotation, Lead, Opportunity | Create | | Same pattern as Sales Order. |
| Items, prices, units, VAT, discount rules, customers, balances, open invoices, van stock | Read only | | As of the last sync. |
| Delivery Note, Stock Entry | Not offline | | They move stock in warehouses the phone does not control. |
| Approval steps on other people's documents | Not offline | | An approval needs the live document. |
| Reports and customer statements | Last downloaded copy | | Not live. |
3Disadvantages
Offline mode gives up the server's live checks in exchange for selling without a connection. Each row is something the business loses or has to manage.
| Disadvantage | What it means here | How to limit it |
| Data is only as fresh as the last sync | 1,189 of the 1,190 active pricing rules have an end date, so old data gives wrong prices. | Downloaded data expires. No sync, no invoicing. |
| Stock is not guaranteed | Negative stock is blocked, and 24 of the 28 warehouses the reps sell from are also invoiced from the office. | Between syncs only the phone moves van stock, or negative stock is allowed on vans. |
| Credit limit is approximate | The phone knows the balance at the last sync. 24 of 905 customers were invoiced by more than one rep. | The server flags a breach afterwards. It cannot stop it. |
| No approval before the customer gets the invoice | 68 of 1,758 mobile invoices were rejected or cancelled after the rep created them. | Limits are enforced on the phone. Mistakes are fixed by a return. |
| Mistakes cost more to fix | An issued offline invoice cannot be edited. Items or quantities were edited on 211 mobile invoices after the first save. | A review screen before printing, then return plus new invoice. |
| The calculation exists in two places | The phone repeats four calculations. A new kind of rule needs a new app release on every phone. | A replay test before each release, and old app versions blocked. |
| Discount ladders written in code cannot be sent | The cash-discount ladders live in program code, not in tables. Mobile documents do not use them today. | Move them into tables before offering them on the phone. |
| The server's own total was unstable in August | 420 of 1,758 mobile invoice totals changed after the first save with the same items. Fixes followed from 30 August; this copy holds too few later invoices to confirm. | Confirm on production before building. |
| Numbers are per rep, not one sequence | Each rep has a prefix. A lost or reset phone must recover its last number. | The server remembers the last number per rep. |
| A lost or broken phone loses unsent documents | The customer holds a paper the company has no record of. | Sync whenever a connection exists. |
| Stock and accounts are late | Sales appear only after sync and are posted with the earlier sale time. Day-end reports and period closing wait for every phone. | A screen listing phones that have not synced. |
| Office follow-up work | Every difference or flag the server raises needs a daily review. | One exceptions list with one owner. |
| The invoice layout is kept twice | The server builds today's print formats, so the phone needs its own copy. | See Print formats. |
| Company data sits on phones | Customers, prices and balances are stored on the device. | Encryption, screen lock, sign-out from the server. |
| Tax reporting is unconfirmed | No e-invoicing link was found on Sales Invoice in this system. | Confirm with Accounts how invoices reach the tax authority. |
4Database size
A typical rep's data takes about 18 MB on the phone and the heaviest case about 100 MB; the server needs roughly 55 MB more for every 5,700 documents. Sizes use the server's full row sizes, so real phone figures will be smaller.
| Data on the phone | Measured | Size |
| Items | 801 sales items | 0.7 MB |
| Units per item | 1,712 rows | 0.5 MB |
| Prices calculated by the system | 2,513 item and unit pairs for each customer group. The reps sell to 18 groups; 54 exist. | 4.5 MB for 18 groups, 14 MB for 54, at an estimated 100 bytes a row |
| Discount rules | 1,190 active rules with 9,406 detail rows | 3.3 MB |
| Customers with address, contact and credit limit | 115 for an average rep, 1,821 for the largest | 0.2 MB, or 3.6 MB |
| Open invoices for collection | 10,924 in the whole company | under 1 MB |
| Van stock | 43 items on average, 82 at most | under 0.1 MB |
| Documents made on the phone, kept 90 days | 3.9 invoices and 3.3 orders per rep per day; 24 and 30 on the heaviest days | 8 MB, or 65 MB if every day were the heaviest |
| Item pictures, optional | 336 pictures | 14 MB |
| Total | | 18 MB typical, 32 MB with pictures, about 100 MB in the heaviest case |
One invoice takes about 13 KB and one order about 17 KB. The first download is about 10 MB without pictures; later syncs send only what changed.
| Data on the server | Size |
| Database today, test copy | 31.6 GB in 1,176 tables |
| Prices calculated for the phones | about 14 MB per stored version |
| A copy of each document as the phone sent it, kept for audit | about 55 MB for the 5,740 invoices, orders and payments the app created since 1 July |
| New fields, phone register and number series | under 1 MB |
5Phone requirements
Any current mid-range Android phone is enough, because the data is small and the heaviest day is a few dozen documents. These are recommendations, not measurements; the exact Android floor depends on the Flutter version chosen.
| Item | Minimum | Recommended |
| System | Android 8.0, or iOS 13 | Android 11 or later, or iOS 15 or later |
| Memory (RAM) | 3 GB | 4 GB or more |
| Free storage | 500 MB | 1 GB |
| Processor | 64-bit | Mid-range from the last four years |
| Bluetooth | 4.0, for the printer | 5.0 |
| GPS | Required. The app already records visits and locations. | |
| Camera | 8 MP, for attachments | 13 MP |
| Battery | 4,000 mAh | 5,000 mAh and a car charger |
| Security | Screen lock, not rooted | Device encryption on, which is standard from Android 10 |
| Date and time | Set to automatic | |
| Printer | Bluetooth thermal, 80 mm, able to print images | One printer model for all reps |
Each rep needs his own phone, because the number series and the van stock belong to one device. Arabic prints correctly on thermal printers only when it is sent as an image.
6Print formats
The current print formats cannot run on the phone as they are, because the server builds them. Each one can be converted once into a phone template that prints the same layout offline.
| Document | Format on the site | Kind |
| Sales Invoice | Mobile - 2 (default) | Custom layout: 20,360 characters of HTML, right to left, Cairo font |
| Sales Order | sales Mobile, Tax SO and two others; no default set | Field lists drawn by the server |
| Payment Entry | payment (default), Mobile Payment Entry | Field lists drawn by the server |
Mobile - 2 is simple to carry over: about ten document fields, eight line fields, one loop, no pictures, no QR code and no scripts. Three things in it need the server today:
- The Cairo font is loaded from the internet.
- The letterhead footer is read from the database.
- The amount in words is written by the server.
| Way to print | Works offline | How |
| Server PDF, as today | No | The phone downloads the PDF. Keep it for reprints after sync. |
| Phone template copied from the format (recommended) | Yes | The same HTML and CSS with the fields left as blanks, downloaded at sync. The phone fills the blanks, uses a Cairo font stored in the app, and prints to PDF, A4 or a thermal printer. |
| Layout built into the app | Yes | Fastest on thermal printers. Every layout change needs a new app release. |
With the recommended way, a layout change that uses the same fields reaches the phones at the next sync; a change that adds a field needs an app release. The phone must also write the amount in words itself, in the same wording as the server.