ملف نقطة البيع (POS Profile) هو لوحة التحكم الرئيسية لشاشة الكاشير. يحدّد هذا الملف الشركة، والمستودع، والعملة، وطرق الدفع المتاحة. كما يقرّر ما يُسمح للكاشير بفعله وما يُمنع منه، ويضبط شكل الشاشة، وطريقة طباعة الفاتورة.
يحتاج كل جهاز نقطة بيع إلى ملف واحد على الأقل. ويمكن أن يكون لكل فرع، أو جهاز، أو نمط عمل، ملفٌ مختلف خاص به.
يتبع هذا الدليل نفس ترتيب الأقسام كما تظهر في شاشة POS Profile، ويشرح كل حقل بجملة أو جملتين:
| العنصر | المعنى |
|---|---|
| Label — التسمية العربية | اسم الحقل كما يظهر في الشاشة بالإنجليزية، متبوعاً بترجمته العربية. |
fieldname | الاسم التقني للحقل، ويفيد المطورين وعند إجراء أي تخصيص. |
| Check Link Select Table | نوع الحقل: خانة اختيار، أو رابط لسجل آخر، أو قائمة اختيار، أو جدول. |
| * | يعني أن الحقل إلزامي (Mandatory). |
| الافتراضي | القيمة التي يأخذها الحقل تلقائياً عند إنشاء ملف جديد، إن كانت غير فارغة. |
| Restaurant App Distributor App | يعني أن هذا الحقل يُقرأ أيضاً في تطبيق الجوال المذكور (تطبيق المطاعم، أو تطبيق الموزّع). |
| قيد التطوير | ميزة مخطط لها، أو غير مكتملة بعد في الإصدار الحالي. الحقل موجود في الشاشة، لكن أثره الفعلي لم يُفعَّل بعد. |
قاعدة مهمة: تقرأ نقطة البيع إعدادات الملف عند تحميلها فقط. لذلك، بعد أي تعديل على POS Profile، يجب إعادة تحميل شاشة نقطة البيع على كل جهاز حتى تُطبَّق الإعدادات الجديدة.
المحتويات: كيف يُختار الملف · ١ مفاتيح رأس الملف · ٢ البيانات الأساسية (الهوية، الميزان، العرض، المطاعم، الهدف اليومي، الحدود) · ٣ خيارات التشغيل (المخزون، الأسعار والخصومات، الإشراف، المرتجعات، البحث والباركود، السلة والشاشة، الطباعة، الطلبات والمزامنة) · ٤ المستخدمون والمشرفون · ٥ طرق الدفع · ٦ المجموعات · ٧ رسوم التوصيل · ٨ إعدادات الطباعة · ٩ إعدادات نقطة البيع غير المتصلة · ١٠ Firebase · ١١ بطاقات الهدايا · ١٢ المحاسبة · الملاحق: أ Gold POS · ب POS Settings · ج الإعدادات المحلية · د إعدادات مرتبطة · هـ حقول قيد التطوير
عند فتح شاشة نقطة البيع، يُحدَّد الملف المناسب وفق هذا الترتيب:
| الأولوية | القاعدة |
|---|---|
| 1 | إذا كان الجهاز مضبوطاً مسبقاً على ملف محدد في الإعدادات المحلية داخل نقطة البيع (Device POS Profile)، يُستخدم هذا الملف بغض النظر عن هوية المستخدم. |
| 2 | وإلا، يُستخدم الملف الذي يظهر فيه المستخدم ضمن جدول Applicable for Users، بشرط تفعيل خيار Default ✔ فيه، ولنفس الشركة، وأن يكون الملف غير معطّل (Disabled ✘). |
| 3 | وإلا، يُستخدم أول ملف غير معطّل تابع للشركة، حتى لو لم يكن المستخدم مضافاً فيه. |
لكل مستخدم ملفٌ افتراضي واحد فقط لكل شركة. فإذا حاولت حفظ ملف يجعل المستخدم افتراضياً فيه، بينما هو مضبوط كافتراضي في ملف آخر لنفس الشركة، سيرفض النظام العملية برسالة: Already set default in pos profile … kindly disabled default.
| الواجهة | كيف تستخدم الملف |
|---|---|
| شاشة نقطة البيع (MaxFlow POS في المتصفح) | هي المرجع الأساسي لهذا الدليل، وتُقرأ فيها كل الحقول ما لم يُذكر خلاف ذلك. |
| تطبيق المطاعم (Restaurant App) Restaurant App | يحمّل الملف كاملاً بنفس طريقة نقطة البيع، ثم يحفظه على الجهاز للعمل دون اتصال بالإنترنت. يُختار الملف من إعدادات التطبيق، ويُشترط ضبط حقل Restaurant. أما الحقول المستخدمة داخل هذا التطبيق فهي معلَّمة بالشارة الخاصة به في هذا الدليل. |
| تطبيق الموزّع (Distributor App) Distributor App | يحمّل الملف بنفس الطريقة. يعمل بشكل أساسي بأوامر البيع، ويمكنه العمل بفواتير البيع أيضاً عند تفعيل Cash Van. ثم يرسل الفواتير والسندات إلى الخادم عبر عملية المزامنة. |
| تطبيق المخزون (MaxFlow Stock) | لا يقرأ ملف نقطة البيع إطلاقاً. تُؤخذ إعداداته من Global Defaults وStock Settings وصلاحيات المستخدم فقط. |
| Gold POS | راجع الملحق أ. |
الصف الأول الظاهر في الشاشة يحتوي على مفاتيح تغيّر نمط عمل نقطة البيع بأكملها.
| الحقل | ماذا يفعل |
|---|---|
Disabled — معطّل disabled Check | يخرج الملف من الخدمة بالكامل، فلا يُختار تلقائياً ولا يظهر في قوائم البحث. استخدم هذا الخيار بدلاً من حذف أي ملف مرتبط بفواتير سابقة. وفي تطبيق المطاعم، تُخفى الملفات المعطّلة تلقائياً من قائمة اختيار الملف. |
Direct Cashier — إغلاق كاشير مباشر direct_cashier Check | يحدّد المستند الذي يفتحه أمر Cashier Closing من قائمة نقطة البيع. عند التفعيل، يُفتح سند Enhanced POS Closing Voucher مباشرة، وتظهر المبالغ المتوقعة أمام الكاشير فور الفتح. أما عند التعطيل، يُفتح مستند Enhanced Cashier Closing بأسلوب "العدّ الأعمى": يُدخل الكاشير ما عدّه فعلياً، ثم يُنشأ السند تلقائياً بعد الحفظ. في كلا الحالتين، يُرفض الإغلاق إذا كانت هناك فواتير مسودة، برسالة: There are draft invoices! Handle them first. |
Show Expected Amount In Cashier Closing — إظهار المبلغ المتوقع show_expected_amount_in_cashier_closing Check | يظهر هذا الحقل فقط عندما يكون Direct Cashier معطلاً. بعد اعتماد Enhanced Cashier Closing، يُظهر عمودي "المتوقع" و"الحالة" لكل طريقة دفع. وقبل الاعتماد، تبقى هذه الأعمدة مخفية للحفاظ على مبدأ العدّ الأعمى. كما ينبّه النظام عند الحفظ إذا وُجدت مستندات POS غير مزامنة بعد. Restaurant App يضيف عمود "Expected" في شاشة الإغلاق، ويُملأ من تقرير X عند الطلب. |
Enable Log — تفعيل السجل enable_log Check | يسجّل هذا الخيار في POS Log العمليات التالية: حذف صنف من السلة (مع ذكر السبب)، حذف فاتورة كاملة، أخطاء النسخ المحلي، وتعديل السعر أو الخصم (يُسجَّل هذا الأخير فقط عند تفعيل مفتاح المشرف للسعر والخصم). أما تخفيض كمية صنف تم إرساله للمطبخ، فيُسجَّل دائماً حتى بدون تفعيل هذا الحقل. |
Scale Mode — وضع الميزان scale_mode Check | يحوّل الشاشة إلى محطة وزن وطباعة ملصقات. يقرأ النظام الوزن مباشرة من الميزان عبر الخادم المحلي (سواء عبر Socket أو منفذ COM من الإعدادات المحلية)، ويُطبع ملصق واحد لكل صنف. كما يتحول زر الدفع إلى PRN لطباعة ملصق يحمل باركوداً يتضمن الوزن. ويُشترط أن يملك الصنف باركود ميزان مكوناً من 7 خانات يبدأ بـ Weight Scale Prefix. |
Stop Transactions — إيقاف المعاملات stop_transactions Check | يمنع الخادم من إنشاء فواتير جديدة من هذا الملف عند المزامنة، وتظهر رسالة: Can't create order. Please contact the administrator. تبقى الفواتير محفوظة على الجهاز، ويُعاد إرسالها لاحقاً بعد إعادة تفعيل الخيار. يُقرأ هذا الحقل من نسخة الملف المحمّلة على الجهاز، لذلك يجب إعادة تحميل نقطة البيع بعد أي تغيير عليه. أما لإيقاف المزامنة كلياً من جهة الخادم، فيُستخدم خيار Stop Syncing POS Vouchers ضمن POS Settings. |
Enable Sound — الأصوات enable_sound Check | يصدر النظام صوتاً عند إضافة صنف للسلة، وعند الضغط على لوحة الأرقام، وعند اعتماد الفاتورة. |
Auto Fill Items Into Cart — تعبئة السلة تلقائياً auto_fill_items_into_cart Check | خاص بلوحة الموزّع. عند فتح سلة جديدة، أو مرتجع، أو طلب جديد من اللوحة، تُضاف تلقائياً كل الأصناف المسعّرة بكمية 0، لتكون بمثابة ورقة طلب جاهزة (تُستثنى من ذلك أصناف الدُفعات والأرقام التسلسلية والأصناف بلا سعر). Distributor App عند فتح سلة جديدة، تُملأ تلقائياً بكل الأصناف بكمية 0، مع إتاحة زر "Remove Zero Qty" داخل الفواتير. |
Time Based POS — نقطة بيع زمنية time_based_pos Check | خيار مخصص للأصناف الزمنية (التي تحمل خاصية Item → Is Time Based). يضيف عموداً لتشغيل/إيقاف الوقت في السلة، وتُحتسب الكمية كعدد الدقائق المنقضية. يظهر تنبيه Full! عند بلوغ الصنف سعته القصوى (Capacity)، ويتوفر زر Transfer Items لإيقاف الجميع دفعة واحدة. كما يُضبط تاريخ ووقت الفاتورة تلقائياً عند لحظة الدفع. وتُطبَّق قواعد التسعير المحددة بساعات وفق نسبة التداخل الزمني. |
Distributor — الموزّع distributor Check | يضيف أيقونة Distributor لفتح لوحة الموزّع، التي تضم: سلة/مرتجع/طلب جديد، العملاء، الدفعات، تقرير المخزون، العروض، كشف الحساب، خريطة الطلبات، زيارة عميل، وطلب مواد. كما يحفظ إحداثيات الموقع على الفاتورة، ويتحول الزر الرئيسي على الجوال إلى SUBMIT. |
Cash Van — سيارة بيع cash_van Check | يظهر هذا الخيار فقط مع تفعيل Distributor، ويُفعّل مسار فواتير البيع داخل تطبيق الموزّع (يضيف تبويب Invoices، وزر "New Invoice" في الشاشة الرئيسية وفي بطاقة العميل)، إضافة إلى أوامر البيع الموجودة أصلاً. Distributor App |
Strict Stock — مخزون صارم strict_stock Check | يمنع في الشاشة إضافة صنف مخزني رصيده صفر (تظهر رسالة Out of stock item)، أو تجاوز الرصيد المتاح (تظهر رسالة Not enough stock)، وذلك وفق أرصدة المستودع المحمّلة عند فتح نقطة البيع. لا يُطبَّق هذا القيد على عمليات المرتجع. Distributor App (تظهر الرسالة بصيغة: Not enough stock. Only N available). |
Call Center — مركز اتصال call_center Check | يحوّل الملف إلى مركز اتصال. يتحول الزر الرئيسي إلى Send مع قائمة بملفات نقاط البيع المستهدفة (باستثناء الملفات المعطّلة وملفات مراكز الاتصال الأخرى)، وتُنشأ الطلب كـ POS Order في الملف المستهدف، الذي يستقبله بدوره عبر تفعيل Enable POS Orders. يُشترط تفعيل Call Center Settings أولاً. Restaurant App يضيف على سطح المكتب قائمة على زر Send لإرسال الطلب إلى فرع آخر. |
٢.١ الهوية والشركة (Identity & company)
| الحقل | ماذا يفعل |
|---|---|
Series — التسلسل * naming_series Select | يحدد تسلسل ترقيم فواتير المبيعات (من خيارات Sales Invoice). ويُطبَّق هذا التسلسل أيضاً على أوامر البيع (Sales Order) المنشأة من نقطة البيع. إذا تُرك فارغاً، يُستخدم التسلسل الافتراضي SINV-. |
Customer — العميل الافتراضي * customer Link | هذا هو العميل العام الذي يُعبَّأ تلقائياً في كل سلة جديدة، عندما لا يُحدَّد عميل معيّن (مثل زبون عابر بالمحل). يعامل النظام هذا العميل معاملة خاصة: لا يُسمح بترك مبلغ متبقٍ على فاتورته، ولا يكسب نقاط ولاء، ويتجاوز التحقق برمز OTP. ويتطلب تغيير هذا الحقل إعادة تحميل شاشة نقطة البيع. Restaurant App Distributor App (تظهر رسالة: Default Customer must pay full amount). |
Company — الشركة * company Link | تحدد شركة الفاتورة، وهي أساس اختيار الملف المناسب لكل مستخدم، ومصدر القيم الاحتياطية (مثل حساب الشطب، وحساب النقد، والعملة، والترويسة). يجب أن تتبع كل الحسابات والمستودعات داخل الملف لهذه الشركة نفسها. |
Country — الدولة country Read Only · City — المدينة city Data | تمثّل قيماً افتراضية للدولة (تؤخذ من الشركة) والمدينة، تُستخدم عند إنشاء عميل أو عنوان جديد من نقطة البيع. لا تُنسخ هذه القيم إلى الفاتورة نفسها. Restaurant App Distributor App (تُستخدم كمدينة افتراضية في نموذج العميل الجديد). |
Warehouse — المستودع warehouse Link | يحدد مستودع كل سطر في السلة، وإلا يُستخدم المستودع الافتراضي للصنف. وإذا لم يتوفر أي منهما، تظهر رسالة: Default warehouse is required for selected item. تُحمَّل أرصدة العرض والأرقام التسلسلية من هذا المستودع، بينما تُتجاهل قواعد التسعير المقيّدة بمستودع آخر. Distributor App يُستخدم كمرجع للتحقق الصارم من المخزون ولتقرير أرصدة المخزون. |
Campaign — الحملة campaign Link | يُنسخ إلى حقل Campaign في الفاتورة، وتطابقه قواعد التسعير من نوع Campaign. |
Company Address — عنوان الشركة company_address Link | يُنسخ إلى الفاتورة عند المزامنة، لاستخدامه في الطباعة والتقارير فقط، ولا يظهر داخل شاشة نقطة البيع. |
Default Sales Person — مندوب البيع الافتراضي default_sales_person Link | يُعبَّأ مسبقاً في حقل مندوب البيع داخل نافذة الدفع (لفواتير البيع)، ويُضاف تلقائياً في أوامر البيع أيضاً. لا يُسمح باختيار مجموعات هنا. Distributor App يُضاف تلقائياً لكل سلة جديدة ولسندات القبض. |
Default Stock Entry Type — نوع الحركة الافتراضي default_stock_entry_type Link | يظهر هذا الحقل فقط عند تفعيل Enable Stock Entry، ويحدد نوع حركة المخزون التي تُعبَّأ مسبقاً عند إنشاء حركة مخزون جديدة (Stock Entry) من تطبيق الموزّع. Distributor App |
Reserve Item — صنف الحجز reserve_item Link | يمثّل الصنف الذي يعبّر عن العربون عند حجز السلة، وهو إلزامي لعمل الحجز، وإلا تظهر رسالة: No 'Reserve Item' found in current POS Profile. عند استرداد الحجز، يظهر هذا الصنف بكمية −1 وبقيمة العربون. راجع القسم ٣.٦ لمزيد من التفصيل. وفي تطبيقات الجوال، فإن إرجاع هذا الصنف وحده لا يحوّل السلة إلى سلة مرتجع. |
٢.٢ الميزان وباركود الوزن (Weighing scale)
يتكون باركود الميزان من 13 خانة: بادئة، متبوعة بكود الصنف (7 خانات معاً)، ثم 6 خانات تمثل الوزن أو السعر. يُشترط أن يملك الصنف باركوداً من 7 خانات يبدأ بالبادئة المحددة.
| الحقل | ماذا يفعل |
|---|---|
Weight Scale Prefix — بادئة باركود الوزن weight_scale_prefix Data | البادئة (أو عدة بادئات مفصولة بفواصل) التي تدل على أن الباركود يمثل وزناً: تُقرأ الخانات الست الأخيرة كوزن، وتصبح الكمية مساوية للوزن، بينما يؤخذ السعر من قائمة الأسعار. القيمة الافتراضية هي 27. Restaurant App |
Price Scale Prefix — بادئة باركود السعر price_scale_prefix Data | البادئة التي تدل على أن الباركود يمثل سعراً: تُقرأ الخانات الست الأخيرة كمبلغ، ويُشتق الوزن من قسمة المبلغ على سعر الوحدة. القيمة الافتراضية هي 22. Restaurant App |
Weight Scale Precision — دقة الوزن weight_scale_precision Select | يحدد كيفية قراءة الخانات الست: 010000 (الافتراضي: خانتان للكيلوغرامات مع 4 منازل عشرية، فيمثل الكيلوغرام الواحد القيمة 01000) · 100000 (خانة واحدة مع 5 منازل) · 001000 (3 خانات مع 3 منازل). تُستخدم هذه الدقة أيضاً عند توليد ملصقات الميزان. Restaurant App |
Fixed Scale Weight Precision — تثبيت دقة الوزن fixed_scale_weight_precision Check | يقصّ الوزن المقروء عند دقة كمية الفاتورة بدلاً من تقريبه، لمنع أي ارتفاع غير مقصود في خانة التحقق من الوزن. Restaurant App |
Enable Scale Code — قراءة الوزن من الميزان enable_scale_code Check | يظهر زر البحث بكود الميزان (وهو باركود يبدأ بـ code:). وعند إضافة صنف يحمل هذا الباركود، يُقرأ الوزن الحي مباشرة من الميزان عبر الخادم المحلي (سواء عبر HTTP أو WebSocket من الإعدادات المحلية)، ليصبح هذا الوزن هو الكمية. وعند استخدام Socket، تظهر أيضاً قراءة الوزن الحية بشكل مباشر، إضافة إلى زر Zero Scale. |
٢.٣ عرض الأصناف (Item display)
| الحقل | ماذا يفعل |
|---|---|
Sort Field — حقل الترتيب sort_field Select | يحدد حقلاً من بطاقة الصنف (نصياً، أو قائمة، أو تاريخاً، أو رقماً، أو رابطاً) تُرتَّب بموجبه شبكة الأصناف تصاعدياً، مع وضع القيم الفارغة في النهاية. ويُطبَّق هذا الترتيب على السلة أيضاً، حيث يحدد ترتيب السلة رقم السطر idx الذي تعتمد عليه قواعد التسعير من نوع Field = idx. إذا تُرك فارغاً، يُستخدم الترتيب الافتراضي. Restaurant App Distributor App يرتّب سطور السلة أيضاً. |
Disable Sort In Cart — تعطيل ترتيب السلة disable_sort_in_cart Check | يظهر فقط مع تفعيل Sort Field، ويبقي أصناف السلة بترتيب إدخالها الفعلي دون التأثير على ترتيب الشبكة. Distributor App |
Page Length — عدد البطاقات في الصفحة page_length Int | يحدد عدد بطاقات الأصناف أو المجموعات المعروضة قبل ظهور زر "Load more". القيمة الافتراضية هي 60، ويتراوح الحد المسموح بين 20 و1000. |
Image Fit — ملاءمة الصورة image_fit Select | Zoom In - Cover: تملأ الصورة البطاقة بالكامل مع قصّ الأطراف الزائدة · Full Image - Contain: تظهر الصورة كاملة داخل حدود البطاقة. |
Compact Grid View — كثافة الشبكة compact_grid_view Select | Compact: يعرض 3 بطاقات في الصف الواحد بصور أصغر · Dense: يعرض 4 بطاقات بصور صغيرة · Grid Cart: تُعرض السلة نفسها كبطاقات مصوّرة بدلاً من جدول تقليدي. أما باقي القيم (Comfortable / List View / Cart View) فتمثل العرض الافتراضي. Restaurant App Comfortable يعرض عمودين، Compact ثلاثة أعمدة، وDense أربعة أعمدة. |
Big Item Image — صورة كبيرة big_item_image Check | يعرض بطاقات أكبر بصور أكبر في شبكة الأصناف، وهو مفعّل افتراضياً في تطبيق المطاعم. Restaurant App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Item Font Size — حجم خط البطاقة item_font_size Float | يحدد حجم خط بطاقة الصنف داخل الشبكة (يجب أن يكون أكبر من 10). هذه الميزة قيد التطوير. |
Item Config — حقول الصنف المعروضة item_config Table | يتيح اختيار حقول معينة من بطاقة الصنف (Item Field) أو من خصائص المتغيرات (Attribute Field) لعرضها في مواضع محددة: Show In Cart List تعرضها تحت اسم الصنف في السلة (وتظهر الخصائص أيضاً على بطاقة الشبكة) · Show In Item Info تعرضها في نافذة معلومات الصنف · Show In Report تعرضها في تقرير إعادة التعبئة (Replenishment). أما خيار Show In Item List فهو قيد التطوير. ويُشترط لعرض خصائص المتغيرات تفعيل Enable Item Attributes Selection مسبقاً. |
٢.٤ المطاعم وخدمة الطعام (Restaurant & food service)
| الحقل | ماذا يفعل |
|---|---|
Restaurant — المطعم restaurant Link | يحمّل طاولات المطعم المحدد (يسبق مركز كلفة الطاولة مركز كلفة الملف في الأولوية)، ويحوّل الزر الرئيسي إلى Send لإرسال الطلب إلى الطابعات الثانوية بالمطبخ قبل إتمام الدفع. يظهر مخطط الطاولات نفسه لكل من يملك صلاحية قراءة Restaurant Table. Restaurant App هذا الحقل إلزامي لحفظ أو إرسال أي سلة داخل التطبيق (وإلا تظهر رسالة: Please set your restaurant name in your POS Profile). |
Default Food Service — نوع الخدمة الافتراضي default_food_service Select | يحدد نوع الخدمة لكل سلة جديدة: Dine In، أو Takeaway، أو Delivery (والقيمة الافتراضية هي Dine In). أما إذا تُرك الخيار فارغاً، فسيُجبَر الكاشير على الاختيار يدوياً عند تفعيل Require Food Service. Restaurant App |
Require Food Service — إلزام نوع الخدمة require_food_service Check | يظهر هذا الحقل فقط ضمن نطاق Hospitality، ويعرض أزرار نوع الخدمة فوق السلة، مانعاً الإرسال والطباعة والدفع دون اختيار نوع الخدمة أولاً (تظهر رسالة: You must select food service!). Restaurant App |
Service Charge To Remove On Takeaway or Delivery — رسم الخدمة المُزال service_charge_to_remove_on_takeaway_or_delivery Link | يحدد حساب سطر رسم الخدمة داخل قالب الضرائب. يُحذف هذا السطر تلقائياً عند اختيار Takeaway أو Delivery، ويعود للظهور تلقائياً عند اختيار Dine In. Restaurant App |
Tax and Charge percent for events service — نسبة رسم المناسبات tax_and_charge_percent_for_events_service Float | عند إدخال قيمة أكبر من صفر، يظهر زر خدمة Event الذي يستبدل نسبة سطر رسم الخدمة بهذه النسبة الجديدة (وتُحفظ الفاتورة بنوع Dine In رغم ذلك). Restaurant App يظهر كزر "وضع المناسبات" برمز أيقونة كعكة. |
Print on Secondary Printers after Merging or Moving Tables print_on_secondary_printers_after_merging_or_moving_tables Check | يظهر هذا الخيار ضمن نطاق Hospitality فقط. بعد نقل أو دمج طاولة، تُطبع تذكرة على كل الطابعات الثانوية توضح نص الإجراء الذي تم (ويُشترط أن يعرض قالب المطبخ حقل action لتظهر هذه التذكرة بشكل صحيح). |
٢.٥ الهدف اليومي (Daily target)
| الحقل | ماذا يفعل |
|---|---|
Daily Target — الهدف اليومي daily_target Currency | عند إدخال قيمة أكبر من صفر، تظهر أيقونة Daily Target بلون يعكس مستوى التقدم الحالي (أحمر: متأخر عن الهدف · أصفر: قريب من الهدف · أخضر: متقدم على الهدف)، مع نافذة تعرض إجمالي مبيعات اليوم والمبلغ المتبقي للوصول للهدف حتى ساعة الإغلاق. وإذا وُجد مستند POS Daily Target (يحدد هدفاً مختلفاً لكل يوم)، يُحدَّث هذا الحقل تلقائياً منه كل يوم. |
Default Open Hour — ساعة الفتح default_open_hour Time | تحدد بداية النافذة الزمنية التي تُحتسب ضمنها مبيعات اليوم لغرض الهدف اليومي (القيمة الافتراضية 10:00؛ وإذا تُركت فارغة تصبح 08:00). لا تُستخدم هذه القيمة في أي غرض آخر. |
Default Close Hour — ساعة الإغلاق default_close_hour Time | تحدد نهاية النافذة الزمنية، وهي الأساس في حساب الساعات المتبقية لبلوغ الهدف (القيمة الافتراضية 22:00). يمكن تعديلها مؤقتاً من داخل نافذة الهدف نفسها. |
٢.٦ حدود وقواعد عامة (Limits & rules)
| الحقل | ماذا يفعل |
|---|---|
New Carts Limit — حد السلال الجديدة new_carts_limit Int | عندما يبلغ عدد الفواتير المسودة المفتوحة على الجهاز هذا الحد، يُطلب مفتاح مشرف (عملية Limit New Cart) لفتح سلة جديدة. القيمة 0 تعني عدم وجود أي حد. |
Always Round To Integer — التقريب لعدد صحيح always_round_to_int Select | Up: يُقرَّب إجمالي الفاتورة (Rounded Total) دائماً لأعلى · Down: يُقرَّب دائماً لأسفل، بدلاً من التقريب المعتاد للعملة. يُطبَّق هذا الإعداد في الشاشة وعلى الخادم لأي فاتورة تحمل هذا الملف. إذا تُرك فارغاً، يُستخدم التقريب العادي. Distributor App |
Minimum Order Days — أقل مدة بين الطلبات minimum_order_days Int | خاص بتطبيق الموزّع: يمنع إرسال طلب جديد من نفس الجهاز قبل مرور هذا العدد من الأيام على آخر طلب أُرسل منه (تظهر رسالة: You are not allowed to place order until …). إذا تُرك فارغاً، فلا يوجد قيد زمني. أما حدود قيمة الطلب نفسها، فتُضبط من داخل بطاقة العميل (حقلا Minimum / Maximum Order Amount). Distributor App |
Maximum Hours to Display Submitted Invoices maximum_hours_to_display_submitted_invoices Int | يحدد نافذة الساعات الخاصة بزر "الفواتير المعتمدة" (راجع القسم ٣.٨): تتراوح القيمة بين 1 و48 ساعة، وإذا تُركت فارغة تصبح 12 ساعة. |
يمثّل هذا القسم عموداً طويلاً من خانات الاختيار موجودة في الشاشة نفسها، وقد رُتّبت هنا حسب الموضوع لتسهيل الاطلاع عليها.
٣.١ المخزون والأصناف (Stock & items)
| الحقل | ماذا يفعل |
|---|---|
Update Stock — تحديث المخزون update_stock Check | مفعّل افتراضياً. الفواتير المعتمدة عند تفعيل هذا الخيار تُنشئ حركات مخزون من مستودع الملف تلقائياً. أما عند تعطيله، تكون الفاتورة محاسبية فقط دون أثر على المخزون، وتُحمَّل الأرقام التسلسلية من كل مستودعات الشركة. |
Allow Create New Items — إنشاء أصناف من نقطة البيع enable_modify Check | عندما لا يجد البحث أي نتيجة، تُفتح نافذة لإنشاء صنف جديد مباشرة (تشمل الحقول الإلزامية وحقول الإدخال السريع، إضافة للسعر والباركود). يُنشأ الصنف في النظام فوراً مع القيم الافتراضية (Item Default) المأخوذة من إعدادات الملف نفسه: المستودع، والحسابات، وقائمة الأسعار، دون الحاجة إلى صلاحية إنشاء الأصناف لدى الكاشير. أما عند تعطيل هذا الخيار، فتظهر فقط رسالة Item not found. Restaurant App مسح أي باركود غير معروف مكون من 13 خانة يفتح تلقائياً نافذة إنشاء صنف جديد. |
Allow Modify Rates — تعديل الأسعار في النظام allow_modify_rates Check | النقر على "سعر القائمة" الخاص بالصنف المحدّد في السلة يطلب إدخال سعر جديد، ويحدّث Item Price في النظام لقائمة أسعار العميل أو المجموعة أو الملف — أي أن التغيير يشمل جميع الفواتير المستقبلية، وليس هذه الفاتورة فقط. هذا الحقل مستقل تماماً عن خيار Allow user to edit Rate. |
Display Items In Stock — عرض الأصناف المتوفرة فقط display_items_in_stock Check | يخفي الأصناف التي لا رصيد لها من قائمة الأصناف والكتالوج، وفق المستودع المختار حالياً. Distributor App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Show Stock Levels — أرصدة المستودعات show_stock_levels Check | يضيف قسم "Stock Levels" (الرصيد في كل مستودع) إلى بطاقة معلومات الصنف عند تفعيل وضع Item Info، ويتطلب اتصالاً بالخادم. Distributor App يضيف قسم "Stock Levels" داخل معلومات الصنف. |
Enable Stock Entry — حركات المخزون enable_stock_entry Check | يُظهر خيار "Stock Entry" ضمن قائمة تطبيق الموزّع، وكذلك خيار "New Stock Entry" في شاشته الرئيسية، وذلك فقط لمن يملك صلاحية قراءة Stock Entry. Distributor App |
٣.٢ الأسعار والخصومات (Prices & discounts)
| الحقل | ماذا يفعل |
|---|---|
Ignore Pricing Rule — تجاهل قواعد التسعير ignore_pricing_rule Check | لا تُحمَّل أي قواعد تسعير أو عروض إلى نقطة البيع عند تفعيل هذا الخيار. (يُطبَّق التسعير دائماً على الجهاز نفسه، ولا يعيد الخادم تطبيق القواعد عند المزامنة.) |
Check Credit Limit — فحص حد الائتمان check_credit_limit Check | مفعّل افتراضياً. عند اعتماد فاتورة بمبلغ متبقٍ لعميل غير افتراضي: يُمنع العميل الذي لا يملك حد ائتمان محدد من إتمام الفاتورة (تظهر رسالة Incomplete Payment)، ويُرفض تجاوز الحد المسموح (تظهر رسالة: Credit limit has been exceeded…). يعيد الخادم هذا الفحص عند المزامنة أيضاً. أما عند تعطيل هذا الخيار، فتُقبل الفواتير الآجلة دون أي فحص. Restaurant App Distributor App |
Disable Loyalty Points Collection — إيقاف اكتساب نقاط الولاء disable_loyalty_points_collection Check | لا تُنشئ فواتير هذا الملف نقاط ولاء عند اعتمادها (يبقى استبدال النقاط الموجودة مسبقاً ممكناً). علماً بأن العميل الافتراضي لا يكسب نقاطاً في جميع الأحوال. |
Prevent Overpaid — منع الدفع الزائد prevent_overpaid Check | يرفض اعتماد الفاتورة إذا كان أحد سطور الدفع يغطي الفاتورة بالكامل، بينما يحمل سطر آخر مبلغاً إضافياً (تظهر رسالة: Over Payment is detected…). يُطبَّق هذا التحقق داخل نافذة الدفع. |
Allow user to edit Rate — تعديل السعر allow_user_to_edit_rate Check | يتيح للكاشير تعديل سعر الصنف مباشرة داخل السلة، سواء من حقل السعر أو من زر Price في لوحة الأرقام. ملاحظة: تعديل السعر يلغي تطبيق أي قاعدة تسعير على ذلك السطر تحديداً. Restaurant App Distributor App |
Allow User To Edit Scale Items Rate allow_user_to_edit_scale_items_rate Check | يظهر هذا الحقل فقط عند تعطيل الخيار السابق، ويسمح بتعديل سعر أصناف الميزان فقط دون سواها. |
Allow user to edit Item Discount — خصم الصنف allow_user_to_edit_item_discount Check | يتيح تطبيق خصم على الصنف (سواء كنسبة أو كمبلغ ثابت، مع زر لتبديل الوحدة بينهما)، ضمن الحد الأقصى المسموح Max Discount المعرّف مسبقاً على الصنف نفسه (وإلا تظهر رسالة: Discount amount cannot be greater than …%). Restaurant App Distributor App |
Allow user to edit Total Discount — خصم الفاتورة allow_user_to_edit_total_discount Check | يُظهر حقلي خصم الفاتورة (نسبة ومبلغ) ضمن منطقة الإجماليات، وتُحتسب النسبة على الإجمالي أو على الصافي وفقاً لإعداد Apply Discount On. Restaurant App Distributor App |
Default Discount Percentage apply_discount_percentage Check | يحدد فقط وحدة حقل خصم الصنف عند فتحه لأول مرة: نسبة مئوية (عند التفعيل) أو مبلغ ثابت (عند التعطيل). لا يُطبِّق أي خصم فعلي بحد ذاته. Restaurant App |
Allow Bonus — بونص allow_bonus Check | يضيف أيقونة هدية في شريط لوحة الأرقام، تجعل الصنف المحدّد مجانياً بالكامل (خصم 100%). يخضع هذا الخيار لمفتاح المشرف إن كان مفعّلاً، لكنه لا يخضع للحد الأقصى Max Discount. Distributor App |
Auto Add Pricing Rule Free Items — إضافة الهدايا تلقائياً auto_add_free_items Check | يضيف تلقائياً الأصناف المجانية الناتجة عن قواعد التسعير من نوع Product (مثل: اشترِ X واحصل على Y)، بالكمية المستحقة فور تحقق الشرط. Distributor App |
Select Price — تحديد حقل السعر تلقائياً select_price Check | عند تحديد أي صنف في السلة، تنتقل لوحة الأرقام مباشرة إلى حقل السعر بدلاً من حقل الكمية (يبقى هذا خاضعاً لصلاحية تعديل السعر ومفتاح المشرف إن وُجد). |
Hide Priceless Items — إخفاء الأصناف بلا سعر hide_priceless_items Check | لا تُعرض في الشبكة الأصناف التي لا سعر لها ضمن قائمة الأسعار الحالية، مع بقائها قابلة للبحث والإضافة يدوياً. Distributor App |
Show Last Selling Rates — آخر أسعار البيع show_last_selling_rates Check | يضيف داخل معلومات الصنف جدولاً بعنوان "Last Rates" يعرض آخر أسعار بيع هذا الصنف للعميل الحالي (التاريخ، الكمية، والسعر). Distributor App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Show Settings Price List — سعر القائمة الافتراضية show_settings_price_list Check | يضيف داخل معلومات الصنف صفاً بعنوان "Default Rate" يعرض سعر الصنف من قائمة الأسعار الافتراضية المحددة في Selling Settings. Distributor App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
٣.٣ الإشراف والرقابة (Supervision & control)
كل "مفتاح مشرف" مذكور في هذا القسم هو نافذة تطلب كلمة سر محددة مسبقاً في جدول Supervisors (راجع القسم ٤)، وتتحقق من صحتها. تظهر رسالة الخطأ التالية عند إدخال مفتاح غير صحيح: Wrong Supervisor Key.
| الحقل | ماذا يفعل |
|---|---|
Allow Delete — حذف الفواتير allow_delete Check | يُظهر زر الحذف الأحمر داخل قائمة "Customers in Queue"، لحذف الفواتير المسودة المحدّدة. لا علاقة لهذا الخيار بحذف صنف واحد من داخل السلة. Restaurant App يضيف أيقونة حذف للطلبات المسودة في قائمة الطلبات. |
Require supervisor key on delete require_supervisor_key_on_delete Check | يطبَّق هذا الخيار في ثلاث حالات: أولاً، حذف الفواتير من القائمة يتطلب مفتاح مشرف (عملية Delete Invoice). ثانياً، حذف صنف من السلة يتطلب مفتاحاً أيضاً (عملية Delete Item): في ملفات البيع العادية يُطلب المفتاح دائماً، أما في ملفات المطاعم أو النسخ المحلي فيُطلب فقط للأصناف التي أُرسلت مسبقاً للمطبخ. ثالثاً، إلغاء فاتورة من مخطط الطاولات يتطلب مفتاح مشرف عام (صف بعملية فارغة). Restaurant App يطلب المفتاح عند حذف طلب أو سطر أو معدّل (للسطور المرسلة للمطبخ فقط عند تفعيل Fire Order). |
Require Supervisor Key On Decrease Qty require_supervisor_key_on_decrease_qty Check | تقليل كمية صنف إلى أقل مما أُرسل مسبقاً للمطبخ يتطلب مفتاح مشرف (عملية Decrease Item Qty). هذا الخيار عملي بشكل خاص للمطاعم. Restaurant App |
Require Reason On Delete — سبب الحذف require_reason_on_delete Check | يطلب من المستخدم إدخال سبب إلزامي عند حذف فاتورة أو حذف صنف (بعد إدخال مفتاح المشرف إن كان مطلوباً). يُحفظ هذا السبب داخل POS Log فقط عند تفعيل خيار Enable Log. Restaurant App يطلب سبباً أيضاً عند عملية الإرجاع. |
Require Supervisor Key On Edit Rate And Discount require_supervisor_key_on_edit_rate_and_discount Check | يستدعي مفتاح مشرف عند محاولة الدخول إلى حقل السعر، أو خصم الصنف، أو خصم الفاتورة (عمليات Edit Rate / Edit Discount / Edit Rate And Discount)، وكذلك عند استخدام زر Bonus. تُسجَّل هذه التعديلات عند تفعيل Enable Log. أما الخصومات التلقائية الناتجة عن قواعد التسعير، أو الكوبونات، أو المرتجعات، فتُطبَّق دون الحاجة لأي مفتاح. Restaurant App |
Require Reason On Edit Rate And Discount require_reason_on_edit_rate_and_discount Check | بعد التحقق من مفتاح المشرف (إن كان مطلوباً)، يُطلب إدخال سبب إلزامي قبل تطبيق أي تعديل على السعر أو الخصم. Restaurant App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Require supervisor key on return require_supervisor_key_on_return Check | يتطلب فتح سلة مرتجع مفتاح مشرف (عملية Return Cart)، وكذلك فتح نافذة "Scan Invoice Barcode" بجميع استخداماتها، بما في ذلك استرداد الحجز. Restaurant App يُطلب المفتاح لكل سطر يُرجَع ولتعديل أي فاتورة مزامنة، باستثناء الأصناف الواقعة ضمن مجموعات Return Without Supervisor Item Groups. |
Only Cashier Can Pay — الدفع للكاشير فقط only_cashier_can_pay Check | يقتصر زر الدفع على من يحمل دور Cashier فقط (أو الأدوار: System Manager، Sales Manager، Sales Master Manager، Administrator). وإلا تظهر رسالة: You are not Cashier, Only Cashier can pay and submit the invoice. |
Hide Cashier Quick Reports — إخفاء تقارير الكاشير السريعة hide_cashier_reports Check | يخفي أمري Report X / Report Z (وهما تقرير Quick Cashier Report) من مستندات الإغلاق، ويجعل اعتماد Enhanced Cashier Closing يطبع المستند تلقائياً ويُخرج الكاشير من النظام فوراً (باستثناء دور System Manager). أما عند تعطيل هذا الخيار، فيحتاج التقرير داخل نقطة البيع إلى مفتاح مشرف، ومن المكتب يحتاج دور Sales Master Manager. Restaurant App تسجيل خروج فوري بعد الإغلاق بدلاً من عرض التقرير. |
Require Sales Person require_sales_person · Require Sales Person on Return require_sales_person_on_return Check | لا تُعتمد فاتورة البيع (بالخيار الأول) أو فاتورة المرتجع (بالخيار الثاني) دون اختيار مندوب بيع من داخل نافذة الدفع (تظهر رسالة: Sales Person Required). يُطبَّق هذا الشرط داخل نافذة الدفع تحديداً. Restaurant App |
٣.٤ المرتجعات (Returns)
| الحقل | ماذا يفعل |
|---|---|
Allow Return — السماح بالمرتجع allow_return Check | يُظهر أيقونة Return Cart ضمن شريط الإجراءات، لفتح سلة مرتجع تعرض الكميات بقيم سالبة برأس أحمر مميز. يمكن فتح هذه السلة أيضاً باستخدام اختصار F2. |
Automatically Fill Returned Items — تعبئة أصناف المرتجع تلقائياً automatically_fill_returned_items Check | عند جلب الفاتورة الأصلية (سواء بالباركود أو بالبحث)، تُضاف تلقائياً جميع أصنافها بكميات سالبة، مع الحفاظ على أسعارها وخصوماتها الأصلية. أما عند تعطيل هذا الخيار، فيختار الكاشير يدوياً ما يريد إرجاعه، ويحصل الصنف تلقائياً على سعره وخصمه من الفاتورة الأصلية. |
Disable Pricing Rule On Return — تعطيل قواعد التسعير في المرتجع disable_pricing_rule_on_return Check | مفعّل افتراضياً. لا تُطبَّق قواعد التسعير داخل سلة المرتجع؛ وتُعتمد الأسعار الموجودة في الفاتورة الأصلية أو في قائمة الأسعار مباشرة. Distributor App |
Distribute Discount On Return — توزيع الخصم في المرتجع distribute_discount_on_return Check | يعمل هذا الخيار فقط مع تفعيل الخيار السابق. يعيد توزيع خصم قاعدة التسعير بشكل متناسب على جميع الأصناف المشمولة بها، ليُرَدّ في حالة المرتجع الجزئي السعر المدفوع فعلياً (مثال توضيحي: اشترِ الصنف A واحصل على الصنف B مجاناً). |
Require Invoice Number On Return — فاتورة مرجعية إلزامية require_invoice_number_on_return Check | الدفع لمرتجع بدون فاتورة مرجعية يتطلب مفتاح مشرف (عملية Return Cart). |
Allow Invoice Reference Search — البحث عن الفاتورة الأصلية allow_invoice_reference_search Check | يتيح داخل نافذة "Scan Invoice Barcode" الخاصة بالمرتجع، البحث عن الفاتورة الأصلية باستخدام (الاسم، الصنف، العميل، الإجمالي، منشئ الفاتورة، الباركود، أو التاريخ)، بشرط استخدام 3 مرشحات على الأقل وخلال آخر 60 يوماً فقط. بعد العثور عليها، يمكن الضغط على Return لتحميلها كاملة، أو Select لربطها كمرجع فقط دون تحميل أصنافها. يرفض الخادم عملية البحث هذه إذا لم يكن هذا الحقل مفعّلاً. |
Waste Warehouse — مستودع التالف waste_warehouse Link | عند ضبط هذا الحقل، يظهر للصنف المرتجع زر يتيح تحويل مستودع السطر بين مستودع التالف ومستودع الملف، وذلك للبضاعة التي لم تعد صالحة للبيع. Restaurant App يضيف خانة "Waste" على السطر المرتجع. Distributor App |
Is Default Return Waste — التالف افتراضياً default_return_waste Check | يعمل مع الحقل السابق. يوجَّه كل صنف مرتجع افتراضياً إلى مستودع التالف، مع إمكانية أن يعكس الكاشير هذا الخيار لكل سطر على حدة. |
٣.٥ البحث والباركود (Search & barcode)
| الحقل | ماذا يفعل |
|---|---|
Require Enter On Search — البحث عند Enter require_enter_on_search Check | مفعّل افتراضياً. يعمل البحث فقط عند الضغط على مفتاح Enter، وهذا مناسب بشكل خاص للماسح الضوئي. أما عند تعطيل هذا الخيار، يبحث النظام مع كل كتابة جديدة بعد مرور 0.4 ثانية، وقد تُضاف نتيجة واحدة للسلة قبل اكتمال قراءة الباركود بالكامل. |
Search Barcode Segment — البحث بجزء من الباركود scan_barcode_segment Check | إذا لم يتطابق الباركود أو رقم الدُفعة أو الرقم التسلسلي بالكامل، يبحث النظام عن أي صنف يحتوي على الجزء المكتوب ضمن باركوداته أو دُفعاته أو أرقامه التسلسلية. |
Barcode Case Insensitive — تجاهل حالة الأحرف barcode_case_insensitive Check | تتم مطابقة الباركود دون تمييز الأحرف الكبيرة من الصغيرة (يُطبَّق على الباركودات فقط، ويتطلب إعادة تحميل نقطة البيع بعد التفعيل). Restaurant App |
Trim Leading Zero — حذف الأصفار البادئة trim_leading_zero Check | إذا لم يتطابق الباركود عند المسح الأول، يُعاد البحث بعد حذف الأصفار البادئة من القيمة الممسوحة (مثال: 000123 تصبح 123). لا يؤثر هذا على الباركود المخزّن أصلاً في النظام. |
Search According to Item Group — البحث داخل المجموعة search_according_to_item_group Check | يحصر عملية البحث والمسح داخل مجموعة الأصناف المحددة حالياً فقط. أما عند تعطيله، فيشمل البحث كل الأصناف بدون تمييز. |
Item Group First — المجموعات أولاً item_group_first Check | تعرض الشبكة أولاً مربعات مجموعات الأصناف، ثم يتنقّل الكاشير تدريجياً من المجموعة الرئيسية إلى مجموعاتها الفرعية، وصولاً إلى الأصناف نفسها (مع إتاحة مسار تنقّل واضح). يطابق البحث في هذه الحالة أسماء المجموعات أولاً، ثم أسماء الأصناف. |
Auto Focus — تركيز تلقائي auto_focus Check | مفعّل افتراضياً. يعيد المؤشر تلقائياً إلى حقل البحث بعد أي عملية على السلة، ليبقى الماسح الضوئي جاهزاً للاستخدام الفوري. |
Auto Select — تحديد تلقائي auto_select Check | بعد إضافة أي صنف، يصبح سطره محدداً تلقائياً في السلة، مع فتح محرر الكمية أو السعر فوراً. |
٣.٦ السلة والشاشة (Cart & screen)
| الحقل | ماذا يفعل |
|---|---|
Wide Cart — سلة عريضة wide_cart Check | يوفّر تخطيطاً بديلاً تأخذ فيه السلة نصف الشاشة تقريباً، مع أعمدة تفصيلية (الصنف، الكمية، السعر، الإجمالي، الخصم)، مقابل شبكة أصناف أضيق (بطاقتان في الصف الواحد). |
Show scroll buttons — أزرار التمرير show_scroll_buttons Check | يضيف سهمي تمرير لأعلى ولأسفل فوق شبكة الأصناف، وهو مفيد بشكل خاص للشاشات اللمسية. Restaurant App يضيف أسهماً في عمود المجموعات، وأشرطة تمرير أعرض. |
Show only item code in cart show_only_item_code_in_cart Check | يعرض كود الصنف بدلاً من اسمه الكامل في سطر السلة. Restaurant App يشمل هذا التغيير الطباعة وشاشة العميل أيضاً. |
Show Item Group in Cart show_item_group_in_cart Check | يعرض مجموعة الصنف بخط صغير أسفل اسمه مباشرة داخل السلة. |
Show Item Code in Card show_item_code_in_card Check | مفعّل افتراضياً. يعرض كود الصنف بين قوسين أسفل اسمه على بطاقة الشبكة. |
Disable Fractions — منع الكسور disable_fractions Check | يمنع إدخال أي فاصلة عشرية في الكمية، سواء من لوحة الأرقام أو من لوحة المفاتيح (تظهر رسالة: Not Allowed). لا يشمل هذا المنع كميات الميزان. |
Enable Item Attributes Selection — اختيار الخصائص enable_item_attributes Check | تُعرض الأصناف القالبية (Templates) داخل الشبكة بمدى سعري بدلاً من سعر ثابت، والنقر عليها يفتح معالجاً خاصاً لاختيار الخصائص (مثل اللون أو المقاس) للوصول للمتغيّر المطلوب بدقة (وإذا لم يوجد المتغيّر، تظهر رسالة: Item Not Found!). أما عند تعطيل هذا الخيار، تُعرض المتغيّرات كأصناف مستقلة عادية. Restaurant App |
Hide Variants — إخفاء المتغيّرات hide_variants Check | يظهر مع الخيار السابق، ويخفي المتغيّرات من الشبكة مع إبقاء القوالب ظاهرة فقط، علماً بأن المتغيّرات تبقى قابلة للبحث والمسح رغم إخفائها من العرض. Restaurant App Distributor App |
Show UOM Selector — اختيار الوحدة show_uom_selector Check | بعد اختيار المتغيّر من داخل المعالج، إذا كان لهذا المتغيّر أكثر من وحدة قياس واحدة، تُفتح نافذة لاختيار الوحدة المناسبة قبل إضافته للسلة. يعمل هذا الخيار حالياً فقط عبر معالج اختيار الخصائص. |
Enable Product Bundle — حزم الأصناف enable_product_bundle Check | يحمّل مكوّنات Product Bundle تلقائياً، ويضيف زراً للصنف المحدّد في السلة يتيح تعديل كميات مكوّنات الحزمة الواحدة (تُحفظ هذه التعديلات ضمن Packed Items). |
Sync Modifiers As Packed Items sync_modifiers_as_packed_items Check | يعمل هذا الخيار مع الحزم والمعدّلات معاً. عند المزامنة، تُدمج أصناف المعدّلات المرتبطة بصنف الحزمة داخل Packed Items للحزمة نفسها، بدلاً من ظهورها كسطور مستقلة (يبقى إجمالي الفاتورة كما هو دون تغيير). يتطلب هذا الخيار تفعيل Allow Custom Packed Items ضمن Selling Settings مسبقاً. |
Enable Item Modifiers — معدّلات الأصناف enable_item_modifiers Check | يحمّل تعريفات Item Modifiers (وهي إضافات أو خيارات تُعرَّف على مستوى الصنف أو مجموعته)، ويضيف زر المعدّلات للصنف المحدّد في السلة؛ وتظهر الأصناف المرتبطة بها أسفل الصنف الأصلي بمسافة بادئة مميزة. |
Auto Fill Modifier Qty auto_fill_modifier_qty Check | يعمل مع الخيار السابق. تُحتسب كمية الصنف المرتبط بالمعدّل كناتج ضرب كمية الصنف الأصلي في كمية المعدّل. أما عند التعطيل، فتبقى الكمية مساوية لكمية المعدّل فقط. |
Use Parent Image — وراثة صورة القالب use_parent_image Check | مفعّل افتراضياً. أي متغيّر أو صنف مرتبط بمعدّل لا يملك صورة خاصة به يعرض صورة الصنف القالب بدلاً منه. Restaurant App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Disable Duplicate — منع التكرار disable_duplicate Check | يمنع إضافة صنف موجود مسبقاً في السلة مرة ثانية (تظهر رسالة: This item has already been added…)؛ ويُعدَّل هذا الصنف من سطره الموجود بدلاً من ذلك. Distributor App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Update Cart on Customer Update — إعادة التسعير عند تغيير العميل update_cart_on_customer_update Check | مفعّل افتراضياً. تغيير العميل على سلة تحتوي أصنافاً بالفعل يعيد تسعير كل الأصناف تلقائياً من قائمة أسعار العميل الجديد (وفق ترتيب: العميل، ثم مجموعة العميل، ثم قائمة الملف)، بما يشمل حتى الأسعار المعدّلة يدوياً. Restaurant App |
Allow inquire — الاستعلام عن صنف allow_inquire Check | يضيف أيقونة Item Info لوضع الاستعلام: النقر على أي صنف يعرض بطاقة معلومات تفصيلية (السعر، الصورة، الباركود، الحقول المحددة في Item Config، العروض السارية حالياً، وأرصدة المستودعات عند تفعيل Show Stock Levels)، بدلاً من إضافته للسلة مباشرة. يمكن الوصول لهذا الوضع باختصار F1. |
Allow expand — توسيع الشبكة allow_expand Check | يضيف زر Items Expander لتكبير مساحة عرض شبكة الأصناف، مع إضافة شريط مجموعات أفقي (يعرض Quick Access Item Groups إن وُجدت، وإلا يعرض كل المجموعات المتاحة). |
Allow Reserve Cart — حجز السلة allow_reserve_cart Check | يضيف أيقونة Reserve Cart: تُحفظ أصناف السلة الحالية كحجز، وتُستبدل بسطر عربون واحد (وفق Reserve Item) يحدد الكاشير قيمته ويقبضها فوراً. عند اعتماد هذه العملية، يُنشأ مستند خاص باسم Reserved POS Invoice. أما لاسترداد الحجز لاحقاً، فيُمسح باركود إيصال العربون، فتُفتح سلة جديدة تحتوي على الأصناف المحجوزة بأسعارها الأصلية، مع سطر عربون بقيمة سالبة، ليدفع العميل بعدها المبلغ المتبقي فقط. |
Allow Split Invoice — تقسيم الفاتورة allow_split Check | يضيف أيقونة Split Invoice التي تتيح نقل كميات أو مبالغ محددة من السلة الحالية إلى سلة جديدة تخص نفس العميل (تبقى هذه العملية مخفية عن شاشة المطبخ). لا يعمل هذا الخيار على الفواتير المعتمدة مسبقاً. |
Allow only Pay Role users to split invoices allow_only_pay_role_users_to_split_invoices Check | يقتصر ظهور زر Split Invoice على من يحمل أحد الأدوار التالية فقط: System Manager، Cashier، Sales Manager، أو Sales Master Manager. Restaurant App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Check For Update — فحص التحديثات check_for_update Check | يفحص النظام كل 20 دقيقة حقل Last POS Change ضمن POS Settings، ويطلب من الكاشير إعادة تحميل نقطة البيع (تظهر رسالة: POS needs to be reloaded!) إذا كان هذا الحقل أحدث من وقت فتح الشاشة الحالية. هذه الميزة قيد التطوير فيما يخص التحديث التلقائي لهذا الحقل عند تغيّر الأصناف والأسعار. |
Incremental Invoice Number — رقم فاتورة تسلسلي للجهاز incremental_invoice_number Check | عند اعتماد الفاتورة، يولّد النظام رقماً بصيغة "معرّف الجهاز مضافاً إليه 5 خانات" (مثال: A00001)، ويُحفظ هذا الرقم على POS Doc، كما يظهر في تقرير الكاشير السريع. يتطلب هذا الخيار ضبط POS Identifier ضمن الإعدادات المحلية للجهاز مسبقاً. Restaurant App (يُضبط POS Identifier من إعدادات التطبيق). |
Sync Sales Order As Draft sync_sales_order_as_draft Check | تبقى أوامر البيع (Sales Order) المنشأة من نقطة البيع في وضع الطلبات بحالة مسودة عند المزامنة، بدلاً من اعتمادها تلقائياً. |
Sync Payment Entry As Draft sync_payment_entry_as_draft Check | تبقى سندات القبض الواردة من تطبيق الموزّع (سواء Payment Entry أو Multi Payment Entry) بحالة مسودة، بدلاً من اعتمادها تلقائياً. |
Auto Cashier Closing — إغلاق تلقائي auto_cashier_closing Check | مهمة مجدولة تعمل كل ساعة: بعد مرور ساعة على Cashier End Time المحدد في Global Defaults، تُغلق تلقائياً جميع جلسات الكاشير المفتوحة لهذا الملف، عبر إنشاء واعتماد مستند Enhanced Cashier Closing (دون إدخال مبالغ معدودة يدوياً)، ثم تُنشأ بعدها مسودات سند الإغلاق تلقائياً. |
Don't Allow Payment Without Invoices — لا قبض بلا فواتير dont_allow_payment_without_invoices Check | يظهر هذا الخيار فقط مع تفعيل Distributor. يجب أن يرتبط كل سند قبض صادر من تطبيق الموزّع (سواء كان نقدياً، أو شيكاً، أو حوالة، أو سنداً متعدد الطرق) بفاتورة واحدة على الأقل، وإلا تظهر رسالة: Choose At Least One Invoice. Distributor App |
Show Distributor Metrics — إحصاءات الموزّع distributor_metrics Check | مفعّل افتراضياً. يعرض لوحة الإحصاءات وأزرار الفترة الزمنية في الشاشة الرئيسية لتطبيق الموزّع. Distributor App |
Prevent Screenshots — منع لقطات الشاشة prevent_screenshots Check | يمنع المستخدم من التقاط أي لقطة شاشة داخل تطبيق الموزّع. Distributor App |
Allow Discount On Cash Payment — خصم عند القبض النقدي allow_discount_on_cash_payment Check | تعرض شاشة القبض النقدي داخل تطبيق الموزّع حقلي "Closed Balance" و"Discount"، لإتاحة إقفال رصيد العميل عبر تطبيق خصم، يُرحَّل بدوره كاستقطاع على حساب خصم المبيعات الافتراضي للشركة (أو على حساب الشطب)، مع تحديد مركز الكلفة المناسب. Distributor App |
٤.١ المستخدمون — Applicable for Users applicable_for_users Table
| العمود | المعنى |
|---|---|
| User — المستخدم | مستخدم يحق له فتح نقطة البيع باستخدام هذا الملف. إذا تُرك الجدول فارغاً بالكامل، يصبح الملف متاحاً لأي مستخدم في الشركة كخيار احتياطي. |
| Default — افتراضي | يحدد الملف الذي يُفتح تلقائياً لهذا المستخدم عند تسجيل الدخول. يُسمح بملف افتراضي واحد فقط لكل مستخدم في كل شركة. |
| Security Key · Operation · Is Admin | هذه الأعمدة خاصة بجدول Supervisors (راجع القسم ٤.٢)، ولا يقرأها سوى تطبيق Gold POS تحديداً. |
٤.٢ جدول المشرفين — Supervisors supervisors Table
يمثل كل صف مشرفاً يملك مفتاحاً (Security Key) يُدخله عند طلب النظام له. يُستخدم هذا الجدول أيضاً في تطبيق المطاعم Restaurant App الذي يضيف عملية إضافية باسم Delete Item Modifier لحذف معدّل صنف.
| العمود | المعنى |
|---|---|
| User — المستخدم | يمثّل صاحب هذا المفتاح، لغرض التوثيق فقط، إذ يتم التحقق عبر المفتاح نفسه لا عبر تسجيل الدخول. |
| Security Key — المفتاح | كلمة السر التي تُدخل عند ظهور نافذة "Supervisor Key". تُخزَّن هذه الكلمة مشفّرة، وتُحمَّل إلى الجهاز عند فتح نقطة البيع. |
| Operation — العملية | تحدد العملية الوحيدة التي يخوّلها هذا المفتاح تحديداً. إذا تُرك هذا الحقل فارغاً، يصبح المفتاح صالحاً لكل العمليات. ملاحظة: مفتاح Edit Rate And Discount يغطي تلقائياً كلاً من Edit Rate وEdit Discount. |
| Is Admin — مدير | يمثّل مفتاحاً إدارياً عاماً، يقبله النظام في أي مكان يُطلب فيه "Admin Supervisor Key" بغض النظر عن نوع العملية المحددة. |
| العملية (Operation) | متى تُطلب |
|---|---|
| Delete Invoice | حذف فواتير مسودة من القائمة (مع تفعيل Require supervisor key on delete) |
| Delete Item | حذف صنف من السلة (مع تفعيل الحقل نفسه) |
| Decrease Item Qty | تخفيض كمية صنف تم إرساله للمطبخ مسبقاً |
| Edit Rate · Edit Discount · Edit Rate And Discount | تعديل السعر، أو خصم الصنف، أو خصم الفاتورة، وكذلك استخدام زر Bonus (مع تفعيل Require Supervisor Key On Edit Rate And Discount) |
| Limit New Cart | فتح سلة جديدة بعد بلوغ الحد المحدد في New Carts Limit |
| Return Cart | فتح سلة مرتجع، أو نافذة Scan Invoice Barcode، أو المرتجع بدون فاتورة مرجعية |
| Quick Cashier Reports | طباعة تقرير Report X أو Report Z من داخل نقطة البيع |
| Gift Card | توليد بطاقة ممنوحة (Generate) أو طباعة آخر بطاقة صادرة |
| Open Cache Drawer | فتح درج النقد يدوياً من الأيقونة المخصصة |
| Settings | هذه الميزة قيد التطوير |
يجب تعبئة هذا الجدول قبل تفعيل أي خيار يطلب مفتاح مشرف، وإلا لن يتمكن أحد من اجتياز تلك النوافذ عند ظهورها. كما يتطلب أي تغيير على المفاتيح إعادة تحميل نقطة البيع.
payments Tableتمثّل صفوف هذا الجدول طرق الدفع التي تظهر داخل نافذة الدفع، بنفس ترتيبها فيه (وفي تطبيق المطاعم، يُستخدم الصف الافتراضي أيضاً لفواتير المشتريات). إذا تُرك الجدول فارغاً بالكامل، تظهر كل طرق الدفع المفعّلة التي تملك حساباً محدداً للشركة، دون تحديد طريقة افتراضية.
| العمود | المعنى |
|---|---|
| Mode of Payment — طريقة الدفع * | تمثّل طريقة الدفع نفسها. يُعبَّأ الحساب المرتبط بها تلقائياً من Mode of Payment Account الخاص بالشركة (وإلا تظهر رسالة: Please set default Cash or Bank account in Mode of Payment). |
| Default — افتراضي | يجب تحديد صف واحد كافتراضي إلزامياً (وإلا تظهر رسالة: Set default mode of payment). يستقبل هذا الصف تلقائياً كامل المبلغ المستحق عند كل إعادة حساب، بينما تُصفَّر الصفوف الأخرى، ما لم يُفعَّل خيار Keep Non Default Payments. |
| Type — النوع | يُؤخذ من بطاقة طريقة الدفع نفسها، ويشمل الأنواع التالية: Cash، Bank، General، Cheque، Issued Cheque، Sold Gift Card، Given Gift Card، وReturn Voucher. النوع Cash هو الوحيد الذي يحتسب الباقي (Change) ويرحّله على حساب Account for Change Amount. أما أنواع بطاقات الهدايا، فتُقفل أمام الإدخال اليدوي وتعمل فقط عبر زر البطاقة المخصص. |
| Currency · Exchange Rate · Amount In Account Currency | تخص حالة الدفع بعملة أجنبية: تُؤخذ عملة الصف من حساب طريقة الدفع نفسها، ويُؤخذ سعر الصرف من Currency Exchange عند فتح نقطة البيع (القيم المخزّنة داخل الصف إرشادية فقط). يظهر للصف الذي يحمل عملة مختلفة حقل خاص لإدخال المبلغ بالعملة الأجنبية، ثم يُرحَّل هذا المبلغ بعملة الحساب عند الحفظ. |
| Payment Settings DocType · Payment Settings | تربط هذا الصف بإعدادات جهاز دفع خارجي (مثل تكاملات ZCredit أو NeoCash): يظهر عندئذ زر Auto Pay، ويُقفل الإدخال اليدوي تلقائياً. يمكن تجاوز هذين الحقلين لكل جهاز على حدة من خلال الإعدادات المحلية (Pay Config). |
Keep Non Default Payments keep_non_default_payments: عند تفعيل هذا الخيار، تحتفظ الصفوف غير الافتراضية بالمبالغ المُدخلة يدوياً فيها عند إعادة الحساب، بدلاً من تصفيرها تلقائياً.
كل جدول في هذا القسم إما من نوع POS Item Group (يكون كل صف فيه إما Item Group أو POS Group)، أو من نوع POS Customer Group.
| الحقل | ماذا يفعل |
|---|---|
Item Groups — مجموعات الأصناف item_groups Table | يحصر الأصناف المحمّلة في نقطة البيع ضمن هذه المجموعات ومجموعاتها الفرعية فقط. إذا تُرك الجدول فارغاً، تُحمَّل كل أصناف البيع دون استثناء. أما الصف الذي يحمل خيار Hidden In POS مفعّلاً، فيخفي مربّع المجموعة من الشبكة، دون أن يمنع أصنافه من الظهور في نتائج البحث. لا يُسمح باستخدام POS Group ضمن هذا الجدول تحديداً. |
Quick Access Item Groups — مجموعات الوصول السريع quick_access_item_groups Table | تحدد المجموعات التي تظهر كشريط أفقي عند تفعيل توسيع الشبكة (Items Expander). هذا هو الجدول الوحيد الذي يقبل نوع POS Group: وهو قائمة أصناف تُختار يدوياً (عبر POS Group / POS Group Item) لتظهر مجتمعة كزر واحد. إذا تُرك فارغاً، تظهر كل المجموعات المتاحة. |
Grid Queue Groups — مجموعات فرز الطابور grid_queue_groups Table | يضيف فوق قائمة الطلبات المعلّقة أزرار تصفية سريعة: ALL (الكل)، وزراً لكل مجموعة مدرجة (يعرض الطلبات التي تحتوي على صنف من هذه المجموعة)، إضافة إلى زري Tables (طلبات الطاولات) وOthers (باقي الطلبات). |
Split Item Groups — مجموعات السطر المستقل split_item_groups Table | تُضاف أصناف هذه المجموعات دائماً كسطر جديد مستقل في السلة، بدلاً من زيادة كمية سطر موجود مسبقاً (مثل أصناف الميزان). Distributor App |
Return Without Supervisor Item Groups — مجموعات تُرجع بلا مشرف return_without_supervisor_item_groups Table | يمكن إرجاع أصناف هذه المجموعات سطراً سطراً دون الحاجة لمفتاح مشرف، حتى لو كان خيار Require supervisor key on return مفعّلاً بشكل عام. Restaurant App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Customer Groups — مجموعات العملاء customer_groups Table | يحصر قائمة عملاء نقطة البيع (والبحث عنهم) ضمن هذه المجموعات وفروعها فقط، كما يحدد الخيارات المتاحة في نافذة إنشاء عميل جديد سريع. إذا تُرك فارغاً، تظهر كل مجموعات العملاء. |
Resiticted Customer Groups — مجموعات عملاء مقيّدة resiticted_customer_groups Table | يتطلب اختيار أي عميل من هذه المجموعات مفتاح مشرف أولاً، ثم سبباً إلزامياً يُحفظ مباشرة مع الفاتورة. Restaurant App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
الفرق بين POS Group وItem Group: مجموعة الأصناف (Item Group) هي تصنيف مأخوذ من بطاقة الصنف نفسه، ويشمل تلقائياً كل فروعه. أما POS Group فهي قائمة أصناف تُختار يدوياً لعرضها كزر سريع واحد، ولا تُستخدم إلا داخل جدول Quick Access Item Groups تحديداً.
delivery_options Table| الحقل | ماذا يفعل |
|---|---|
Delivery Options — خيارات التوصيل delivery_options Table | يفترض أن يحدد هذا الحقل (العنوان، الرسوم، ونوع الخدمة)، لكنه حالياً قيد التطوير. تُعرَّف رسوم التوصيل فعلياً في الوقت الحالي من خلال مستند مستقل باسم Delivery Method، والذي يُربط مباشرة بملفات نقاط البيع من داخله. |
| الحقل | ماذا يفعل |
|---|---|
Letter Head — الترويسة letter_head Link | تُحفظ مع الفاتورة، وتُستخدم عند طباعتها من المكتب. أما عرضها على إيصال نقطة البيع نفسه، فهذه الميزة قيد التطوير. |
Terms and Conditions — الشروط والأحكام tc_name Link | يُحفظ نص الشروط في الفاتورة، ويظهر فقط إذا كان قالب الطباعة المستخدم يعرضه فعلياً. |
Print Heading — عنوان الطباعة select_print_heading Link | يُنسخ إلى الفاتورة، ويُستخدم في قوالب الطباعة المكتبية فقط. |
Print Format for Online print_format_for_online Link | لا يظهر هذا الحقل داخل شاشة الملف في MaxFlow؛ وهو يخص فواتير نقطة البيع المنشأة من شاشة Sales Invoice في المكتب فقط. |
| الحقل | ماذا يفعل |
|---|---|
Territory — المنطقة * territory · Customer Group — مجموعة العملاء * customer_group | تمثّلان القيم الافتراضية للفاتورة (تُستبدل تلقائياً بقيم العميل عند اختياره)، وكذلك للعملاء الجدد الذين يُنشَؤون من نقطة البيع. كما تطابقهما قواعد التسعير من نوع Territory أو Customer Group. Restaurant App |
Enable Replicate — النسخ المحلي enable_replicate Check | تُحفظ السلال المفتوحة على خادم النسخ المحلي (Replication Host) بدلاً من متصفح الجهاز، فتظهر السلة نفسها على كل أجهزة الفرع (مثل أجهزة المطعم وشاشات المطبخ). يتحول الزر الرئيسي إلى Send عند وجود أصناف بالسلة، ويُتاح أمر Check Backup Orders لاسترجاع أي طلبات محذوفة. يجب ضبط عنوان الخادم بشكل صحيح، وإلا يفشل الحفظ. |
Replication Host — عنوان خادم النسخ replication_host Data | عنوان URL الأساسي لخادم النسخ المحلي (دون شرطة مائلة في نهايته). |
Unified Counter — عدّاد موحّد unified_counter Check | يؤخذ رقم الإيصال اليومي من خادم النسخ (عدّاد واحد مشترك لكل الأجهزة)، بدلاً من عدّاد منفصل لكل جهاز. ملاحظة: يملك تطبيق المطاعم إعداداً محلياً مستقلاً بنفس الاسم. |
Print Format — قالب الإيصال print_format Link | يحدد قالب إيصال الفاتورة (من نوع JS لمستند Sales Invoice) الذي يُطبع من المتصفح أو من الطابعة الأساسية. القالب الافتراضي هو Point of Sale. يمكن للكاشير التبديل إلى أي من قوالب Primary Print Formats من الإعدادات المحلية. |
Order Print Format — قالب الطلب order_print_format Link | يحدد قالب طباعة سلة أوامر البيع في وضع الطلبات. إذا تُرك فارغاً، يُستخدم القالب نفسه أعلاه. |
| الحقل | ماذا يفعل |
|---|---|
Site — الموقع site Data | يمثّل مفتاح المستأجر في Firebase. عند إنشاء طلب POS Order لهذا الملف، يُرسَل تنبيه لحظي إلى تطبيق المطعم فوراً. إذا تُرك الحقل فارغاً، لا يُرسَل أي تنبيه. Restaurant App |
| الحقل | ماذا يفعل |
|---|---|
Gift Card Item — صنف بطاقة الهدايا gift_card_item Link | يفعّل هذا الحقل بيع بطاقات الهدايا: يظهر زر Gift Card ضمن قائمة الهدايا والكوبونات، إلى جانب نافذة إصدار خاصة (رقم البطاقة، المبلغ، تاريخ الصلاحية أو مدتها، خيار الاستخدام لمرة واحدة، وتقييد استخدامها بهذا الملف تحديداً). تُباع البطاقة ضمن فاتورة تحتوي صنفاً واحداً فقط. عند اعتماد الفاتورة، تُنشأ بطاقة Gift Card من نوع Sold، مع قيد يومية على حساب إيراد هذا الصنف، ثم تُطبع البطاقة تلقائياً. تتوفر أيضاً عمليتان إضافيتان: Generate (لإصدار بطاقة ممنوحة، وتتطلب مفتاح مشرف) وCheck & Charge (لإعادة شحن بطاقة موجودة). ولحفظ الملف، يلزم تفعيل خيار Enable Gift Card مسبقاً ضمن Selling Settings، بالإضافة إلى وجود طريقة دفع من نوع بطاقة هدايا في جدول الدفع. Restaurant App |
Gift Card Print Format — نموذج طباعة البطاقة gift_card_print_format Link | يحدد نموذج طباعة البطاقة، وكذلك قسيمة المرتجع، مع باركود بصيغة Code128. إذا تُرك فارغاً، لا تُطبع البطاقات. اسم النموذج الجاهز هو Gift Card. |
Enable Return Voucher — قسيمة مرتجع enable_return_voucher Check | يسمح بتسوية المرتجع عبر طريقة دفع من نوع Return Voucher: تُنشأ بطاقة من نوع Return بقيمة المرتجع، مقيّدة بهذا الملف تحديداً، تُطبع، ويستخدمها العميل لاحقاً كوسيلة دفع. أما دون تفعيل هذا الخيار، فيرفض الخادم العملية برسالة: Return Voucher Not Allowed. |
Default Return Expiry — صلاحية القسيمة default_return_expiry Int | يحدد عدد أيام صلاحية قسيمة المرتجع. إذا تُرك فارغاً، تصبح المدة الافتراضية 7 أيام. |
Hide Card Number Field — إخفاء رقم البطاقة hide_card_no_field Check | يخفي حقل إدخال رقم البطاقة في نافذة الإصدار، فيولّد النظام رقماً من 13 خانة تلقائياً. أما دون تفعيله، فيُدخل الكاشير الرقم يدوياً أو يمسح رقم بطاقة مطبوعة مسبقاً (ويجب أن يكون هذا الرقم فريداً). |
الدفع ببطاقة هدايا: في نافذة الدفع، يظهر زر خاص بالبطاقة عند اختيار طريقة دفع من نوع Sold أو Given Gift Card أو Return Voucher. بعد إدخال رقم البطاقة، يتحقق النظام من حالتها، ورصيدها، ومدى تقييدها بهذا الملف، ثم يختار تلقائياً طريقة الدفع المطابقة لنوع البطاقة وعملتها. يُسمح باستخدام بطاقة هدايا واحدة فقط لكل فاتورة.
| الحقل | ماذا يفعل |
|---|---|
Price List — قائمة الأسعار selling_price_list Link | تحدد قائمة أسعار الفاتورة. إذا تُركت فارغة، تُستخدم القائمة المحددة في Selling Settings. يتبع ترتيب تسعير الصنف الأولوية التالية: قائمة العميل، ثم قائمة مجموعة العميل، ثم قائمة الملف. Restaurant App Distributor App |
Currency — العملة * currency Link | يجب أن تساوي هذه العملة عملة الشركة الافتراضية تماماً، وإلا فإن نقطة البيع لن تفتح إطلاقاً (تظهر رسالة: POS Profile Currency must be the same as Company Default Currency). أما التعامل بعملات متعددة، فيكون فقط على مستوى سطور الدفع (راجع القسم ٥). |
Write Off Account — حساب الشطب * write_off_account · Write Off Cost Center * write_off_cost_center | يحددان حساب ومركز كلفة فروقات الشطب (Write Off) عند اعتماد الفاتورة. ملاحظة: مركز كلفة رأس الفاتورة (Cost Center)، إن وُجد، يسبق مركز كلفة الشطب في الأولوية. Restaurant App (مركز كلفة الشطب هو نفسه مركز كلفة فواتير المشتريات في تطبيق المطاعم). Distributor App يمثّل حساب الشطب هنا الحساب الاحتياطي لخصم إقفال الرصيد في تطبيق الموزّع. |
Account for Change Amount — حساب الباقي account_for_change_amount Link | يحدد حساب النقد أو البنك الذي يُرحَّل عليه مبلغ الباقي المعاد للعميل عند الدفع نقداً. إذا تُرك فارغاً، يُستخدم حساب النقد الافتراضي للشركة. يُطبَّق هذا الإعداد على الخادم عند المزامنة. |
Income Account — حساب الإيراد income_account Link | يُستخدم كحساب إيراد لسطور الفاتورة، فقط عندما لا يملك الصنف حساب إيراد افتراضياً خاصاً به (Item Default)، وكذلك لحساب الأصناف الجديدة التي تُنشأ من نقطة البيع. |
Expense Account — حساب المصروف expense_account Link | يظهر هذا الحقل فقط مع تفعيل الجرد المستمر، ويُستخدم كحساب مصروف افتراضي للأصناف المنشأة من نقطة البيع، ولفواتير المكتب فقط، إذ إن فواتير نقطة البيع نفسها تأخذ حسابها مباشرة من الصنف أو من الشركة. |
Taxes and Charges — الضرائب والرسوم taxes_and_charges Link | يحدد قالب الضرائب المطبَّق على كل فاتورة، وتُحسب سطوره مباشرة على الجهاز نفسه. يُلتقط هذا القالب عند فتح نقطة البيع، لذلك يتطلب أي تغيير عليه إعادة تحميل الشاشة. |
Enable Dynamic Service Charge — رسم خدمة ديناميكي enable_dynamic_service_charge Check | في تطبيقات الجوال، يستبدل هذا الخيار كل سطور قالب الضرائب بسطر واحد باسم "Service Charge" يحمل مبلغاً فعلياً محسوباً. وفي تطبيق المطاعم تحديداً، يمكن تعديل هذا المبلغ يدوياً من ملخص السلة (ويُشترط ضبط حقل Restaurant مسبقاً). Restaurant App Distributor App · أما في شاشة نقطة البيع، فهذه الميزة قيد التطوير. |
Tax Category — فئة الضريبة tax_category Link | يخص فواتير نقطة البيع المنشأة من شاشة Sales Invoice في المكتب فقط. |
Apply Discount On — أساس الخصم apply_discount_on Select | يحدد الأساس الذي تُحتسب عليه نسبة خصم الفاتورة: إما Grand Total (الإجمالي بعد إضافة الضريبة) أو Net Total (الإجمالي قبل الضريبة). Distributor App |
Cost Center — مركز الكلفة cost_center Link | يحدد مركز كلفة سطور الفاتورة (يسبقه مركز كلفة الطاولة في المطاعم إن وُجد، وتليه مراكز كلفة مجموعة الصنف ثم الصنف نفسه)، إضافة لمركز كلفة قيود الباقي والشطب. أي بُعد محاسبي مخصّص (Accounting Dimension) مضبوط على الملف يُنسخ تلقائياً إلى الفاتورة أيضاً. Distributor App يُستخدم هذا الحقل كمركز كلفة لسطور السلة ولاستقطاعات سندات القبض. |
يضيف تطبيق MaxFlow Gold قسماً في نهاية شاشة POS Profile، لتشغيل ما يُعرف بـ"طاولة الذهب" داخل شاشة نقطة البيع نفسها (وتشمل طبقة الذهب هذه: شريط سعر الجرام، لوحة اختيار القطعة، وتسعير القطعة بمعادلة الوزن × السعر + المصنعية). تعمل هذه الطبقة فقط عند تفعيل خيار Metal Module Enabled ضمن Metal Settings، وتظهر جميع حقول هذا القسم بعد تفعيل Gold POS Enabled تحديداً.
الحقول المؤثرة في نقطة البيع
| الحقل | ماذا يفعل |
|---|---|
Gold POS Enabled — تفعيل طاولة الذهب gold_pos_enabled Check | يعلّم هذا الملف كطاولة ذهب، فتُفعَّل طبقة الذهب في نقطة البيع الخاصة به. أما دون تفعيله، تبقى الطبقة خاملة، وتُسعَّر أصناف الذهب فقط من قائمة الأسعار العادية (تظهر رسالة: This POS Profile is not a gold till). |
Gold Till Warehouse — مستودع الطاولة gold_till_warehouse Link | يحدد مستودع العرض الذي تُحمَّل منه إلى نقطة البيع القطع ذات الأرقام التسلسلية النشطة (إضافة إلى مستودع الملف الرئيسي)، وهو نفسه المستودع الذي تُقبل فيه المرتجعات. إذا تُرك فارغاً، يُستخدم مستودع الملف الرئيسي (Warehouse). ومسح أي قطعة موجودة في مستودع آخر غير هذا يُرفض تلقائياً (تظهر رسالة: Serial … is in …, not this till's warehouse). |
Gold Price Floor Policy — سياسة الحد الأدنى للسعر gold_price_floor_policy Select | تحدد أدنى سعر بيع مقبول للقطعة الواحدة، وتشمل ثلاثة خيارات: Gold Value (قيمة الذهب مضافاً إليها قيمة الأحجار فقط) · Gold Value + Making Cost (مع إضافة المصنعية) · Acquisition Total (كلفة الاقتناء الكاملة). إذا تُركت فارغة، تُستخدم قيمة Gold Value افتراضياً. تُرسَل هذه السياسة إلى نقطة البيع، أما تطبيقها آلياً عند عملية البيع من الشاشة نفسها، فهذه الميزة قيد التطوير. |
تعتمد طبقة الذهب على عدد من حقول الملف الأصلية نفسها، وهي: Warehouse (مع مستودع الطاولة معاً)، وAllow user to edit Rate (يتيح تعديل سعر الجرام والمصنعية للقطعة الواحدة)، وAllow user to edit Item Discount مع Default Discount Percentage، إضافة إلى Compact Grid View، وEnable Log، وRequire Supervisor Key On Edit Rate And Discount. أما اختيار الملف نفسه، فيتبع القواعد العامة الموضحة في قسم "كيف يختار النظام الملف".
بقية حقول قسم Gold POS (عملات الدفع، شراء الكسر، التبديل، تسوية الجرامات، البيع بالأجل، خصومات الكسر، مجموعات العملاء، الولاء، سقف الخصم، المصروفات، رصيد المحل، والعرابين) لا تزال قيد التطوير، ولا تؤثر حالياً على شاشة نقطة البيع.
هو مستند واحد فقط لكل الموقع بأكمله، يُقرأ في كل مرة تُفتح فيها شاشة نقطة البيع.
| الحقل | ماذا يفعل |
|---|---|
Hide POS Top Bar — إخفاء الشريط العلوي hide_top_bar Check | يزيل شريط النظام العلوي من شاشة نقطة البيع، لإتاحة مساحة عمل أكبر. |
Reset Counter Time — وقت تصفير العدّاد reset_counter_time Time | يحدد الساعة التي يُصفَّر عندها رقم الإيصال اليومي (وهو عدّاد محلي خاص بكل جهاز). إذا تُرك فارغاً، يكون التصفير عند منتصف الليل. هذا الإعداد مفيد بشكل خاص للفروع التي تستمر بالعمل بعد منتصف الليل. |
Customer Name Minimum Parts — أجزاء اسم العميل customer_name_min_parts Select | يحدد الحد الأدنى لعدد كلمات اسم أي عميل جديد يُنشأ من نقطة البيع (والقيمة الافتراضية هي 4 كلمات). عند مخالفة هذا الشرط، تظهر رسالة: Full Name of N parts is required. |
POS Quick Money Groups — أزرار النقد السريع pos_quick_money_groups Table | يحدد أزرار الفئات النقدية الظاهرة في نافذة الدفع (وتضم: تسمية، قيمة، وصورة). يجب أن يحتوي هذا الجدول على خمسة صفوف بالضبط، وأن تكون تسمية كل صف مطابقة للرقم نفسه (مثال: 50). وإلا، تظهر فئات الشيكل الافتراضية بدلاً منها. |
Default Money Groups — فئات العد الافتراضية default_money_groups Table | يمثّل قالب فئات النقد (طريقة الدفع، العملة، والفئة) المستخدم عند عدّ الصندوق أثناء الإغلاق، ويُرسَل إلى أي تطبيق يعتمد على هذا القالب. |
Supported POS Order Types supported_pos_order_types Table | يحدد أنواع المستندات المتاحة ضمن حقل Type بمستند POS Order، وذلك في واجهة المكتب فقط. |
Stop Syncing POS Vouchers — إيقاف مزامنة السندات stop_syncing_pos_vouchers Check | يُعد مفتاح طوارئ: تستمر مستندات POS Doc بالوصول من الأجهزة، لكن لا تُنشأ منها أي فواتير، إلى حين إيقاف هذا الخيار ثم إعادة تشغيل عملية المزامنة يدوياً. |
Deny Multiple Cashier Sessions — منع تعدد الجلسات deny_multiple_cashier_sessions Check | يمنع أي مستخدم بدور Cashier لديه بالفعل جلسة كاشير مفتوحة من تسجيل الدخول من جلسة ثانية بالتوازي (تظهر رسالة: You are already logged in with an open POS. Please close it first.). |
Use POS in Offline Mode use_pos_in_offline_mode | نقطة البيع في MaxFlow تعمل أصلاً دائماً بالوضع غير المتصل بالإنترنت، وهذا الحقل نفسه لا يزال قيد التطوير. |
Last POS Change — آخر تغيير last_pos_change Datetime | يمثّل الوقت الذي يراقبه حقل Check For Update داخل الملف، لتحديد متى يجب طلب إعادة تحميل نقطة البيع. أما تحديث هذا الحقل تلقائياً، فلا يزال قيد التطوير. |
يمكن الوصول لهذه الإعدادات من قائمة نقطة البيع ☰ ← Settings. تُحفظ هذه الإعدادات في متصفح الجهاز نفسه فقط (وتُخزَّن ضمن localStorage)، أي أنها إعدادات خاصة بـ"هذا الجهاز" تحديداً وليست بملف نقطة البيع. يتيح زر Sync نسخها إلى حقل POS Settings pos_settings (وهو حقل من نوع Code موجود في نهاية شاشة ملف نقطة البيع الحالي)، بينما يتيح زر Fetch جلبها منه إلى جهاز آخر (مع إمكانية اختيار جلب الطابعات الثانوية فقط، لأن النسخة الكاملة قد تحتوي قيماً خاصة جداً بجهاز بعينه، مثل أسماء الطابعات ومعرّف الجهاز).
| الإعداد | ماذا يفعل |
|---|---|
| Device POS Profile — ملف الجهاز | يثبّت هذا الجهاز تحديداً على ملف نقطة بيع معيّن، بغض النظر عن هوية المستخدم الذي يسجّل الدخول (وله الأولوية القصوى بين كل قواعد اختيار الملف). لتغيير هذا الإعداد، يكفي اختيار ملف آخر، أما لإلغائه بالكامل، فيجب مسح بيانات الموقع من إعدادات المتصفح. |
| POS Identifier — معرّف الجهاز | يمثّل البادئة المستخدمة في رقم الفاتورة التسلسلي الخاص بالجهاز، وذلك عند تفعيل خيار Incremental Invoice Number (مثال: البادئة A تعطي رقماً مثل A00001). |
| Enable Primary Printer — تفعيل الطابعة الأساسية | عند التفعيل: يُرسَل الإيصال كصورة إلى الخادم المحلي ليُطبع حرارياً. أما عند التعطيل، فتتم الطباعة من نافذة المتصفح مباشرة. |
| Primary Printer — اسم الطابعة | يمثّل اسم الطابعة كما هو مسجّل في نظام التشغيل Windows، وهو مطلوب أيضاً لفتح درج النقد. يوفّر حقلا Primary Printer IP / Port بديلاً للاتصال عبر الشبكة (بروتوكول ESC/POS). أما Primary Printer PIN، فيمثّل منفذ درج النقد (القيمة إما 0 أو 1). |
| Printer Host — عنوان الخادم المحلي | يمثّل عنوان خادم الطباعة، والميزان، والدفع المحلي (مثال: https://local.erpmaxsolutions.com:9200). يُنصح دائماً بضبط هذا العنوان بشكل صريح وواضح. |
| Offset Height | عدد البكسلات التي تُضاف إلى ارتفاع صورة الإيصال، لتفادي أي قصّ غير مقصود في نهايته. |
| Print Only on Primary Printer When Submit | عند تفعيله مع Auto Print، تتم الطباعة عند الاعتماد على الطابعة الأساسية فقط، دون الطابعات الثانوية. أما Print Only Once on Primary Printer، فيمنع إعادة طباعة أي إيصال سبق طبعه قبل الدفع. |
| Hide amounts on voucher | يُخفي المبالغ فقط من السلة الحالية، وذلك إذا كان القالب المستخدم يدعم هذا الإخفاء (كما هو الحال بتذاكر المطبخ). |
| Scale COM Port · Socket · Scale Prefix | تمثّل على الترتيب: منفذ الاتصال التسلسلي بالميزان، عنوان WebSocket المستخدم لبثّ قراءة الوزن الحية، وبادئة ملصقات الميزان الخاصة بهذا الجهاز تحديداً (وهي تتجاوز بادئة الملف العامة، لكن فقط عند طباعة الملصقات). |
| Enable RFID Reader · RFID Bridge Socket · RFID Power · Enable RFID Beep | تخص الاتصال بجسر قارئ RFID المحلي (والعنوان الافتراضي هو ws://localhost:8160)، وتحديد قوة الهوائي (بين 5 و30 dBm)، وتفعيل صوت التنبيه عند كل عملية قراءة. |
| Enable AI Mode · Show AI Camera · Only Detect Scale Items · AI Frame | تخص ميزة التعرّف على الأصناف بالكاميرا (وهي ميزة تجريبية حالياً): تفعيل الميزة نفسها، إظهار صورة الكاميرا الحية، حصر عملية الكشف بأصناف الميزان الموزونة فقط، وضبط زوايا إطار الكشف كنسب مئوية. |
| POS Secondary Printers — الطابعات الثانوية | تمثّل طابعات المطبخ أو البار، وتشمل: الاسم، قالب الطباعة، عنوان IP والمنفذ، إزاحة الارتفاع (Offset)، خيار Print Only New Items (لطباعة الإضافات الجديدة فقط)، وزر Item Settings الذي يتيح تحديد مجموعات الأصناف أو الأصناف المحددة لكل طابعة على حدة. |
| Primary Print Formats — قوالب إيصال بديلة | تمثّل قوالب طباعة إضافية يمكن للكاشير اختيار أي منها من نافذة الدفع (عبر زر FR)، أو أن تُختار تلقائياً وفقاً لنوع الخدمة (Dine-In، Takeaway، أو Delivery). |
| Pay Config — أجهزة الدفع | يربط طريقة دفع معينة بإعدادات جهاز أو تكامل دفع خارجي (Auto Pay) خاص بهذا الجهاز تحديداً، وهذا الربط يتجاوز إعدادات صف الدفع الأصلية الموجودة في الملف. |
| الإعداد | الأثر على نقطة البيع |
|---|---|
| Selling Settings → Enable Gift Card | شرط أساسي لحفظ حقل Gift Card Item داخل الملف، ولتفعيل فحوصات الدفع ببطاقات الهدايا. |
| Selling Settings → Require Closing Cash On User Logout | يمنع تسجيل خروج الكاشير قبل إغلاق الصندوق أولاً (تظهر رسالة: Please ensure that you close the cash before logging out.). |
| Selling Settings → Copy Credit Limit From Customer Group | يجعل العميل الجديد يرث حدود الائتمان من مجموعته تلقائياً (ويؤثر هذا بدوره على عمل خيار Check Credit Limit). |
| Selling Settings → Allow Custom Packed Items | شرط أساسي لعمل خيار Sync Modifiers As Packed Items. |
| Global Defaults → Cashier End Time | يحدد نهاية يوم عمل الكاشير، وهو الأساس الذي يعتمد عليه كل من خيار Auto Cashier Closing، وتقارير الإغلاق، وتقرير إعادة التعبئة. |
| Company → Default Difference Account | يمثّل حساب الفروقات الاحتياطي المستخدم داخل سند إغلاق نقطة البيع. |
| Mode of Payment → Type | يحدد سلوك طريقة الدفع داخل نقطة البيع (فمثلاً: النوع Cash يعني احتساب الباقي وفتح الدرج، بينما تخص أنواع بطاقات الهدايا وقسيمة المرتجع سلوكاً مختلفاً). أما Main Account ضمن حسابات طريقة الدفع، فيمثّل حساب الخزينة المستخدم في تحويلات سند الإغلاق. |
| Customer → Customer Code · Requires POS Verification · Minimum/Maximum Order Amount | تمثّل على الترتيب: كوداً للبحث السريع عن العميل، خيار التحقق برمز OTP قبل إتمام البيع، وحدود قيمة الطلب المسموحة لعملاء تطبيق الموزّع. |
للمنفّذ: الحقول التالية موجودة فعلياً في الشاشة، إلا أن أثرها داخل شاشة نقطة البيع المكتبية لم يُفعَّل بعد. أما الحقول التي فُعِّلت فعلاً ضمن تطبيقات الجوال، فقد ذُكرت في موضعها الصحيح مع الشارة المناسبة.
| الحقل | الحالة |
|---|---|
allow_only_pay_role_users_to_split_invoices · require_reason_on_edit_rate_and_discount · return_without_supervisor_item_groups · resiticted_customer_groups · enable_dynamic_service_charge · use_parent_image · big_item_image · disable_duplicate · show_last_selling_rates · show_settings_price_list · display_items_in_stock | مفعّلة بالفعل في تطبيق المطاعم أو تطبيق الموزّع، أما في شاشة نقطة البيع فهي قيد التطوير |
item_font_size · delivery_options · Item Config → show_in_item_list · عملية المشرف Settings | قيد التطوير في جميع الواجهات دون استثناء |
| Check For Update (التحديث التلقائي لحقل Last POS Change) · POS Settings → Use POS in Offline Mode | قيد التطوير |
قد تظهر في بعض المواقع حقول إضافية تخص ميزات لا تزال قيد التطوير، ولا يغطيها هذا الدليل حالياً.