دليل إعدادات ملف نقطة البيع (POS Profile)

كل حقل في ملف نقطة البيع: ماذا يفعل، وأين يظهر أثره، وبماذا يرتبط — باختصار. يشمل POS Settings والإعدادات المحلية داخل نقطة البيع.

Beginner Implementers & Accountants مرجع حقل بحقل إعداد: أوس رضوان — System Manager
كيف تقرأ هذا الدليل (How to read this guide)

ملف نقطة البيع (POS Profile) هو لوحة التحكم الرئيسية لشاشة الكاشير. يحدّد هذا الملف الشركة، والمستودع، والعملة، وطرق الدفع المتاحة. كما يقرّر ما يُسمح للكاشير بفعله وما يُمنع منه، ويضبط شكل الشاشة، وطريقة طباعة الفاتورة.

يحتاج كل جهاز نقطة بيع إلى ملف واحد على الأقل. ويمكن أن يكون لكل فرع، أو جهاز، أو نمط عمل، ملفٌ مختلف خاص به.

يتبع هذا الدليل نفس ترتيب الأقسام كما تظهر في شاشة POS Profile، ويشرح كل حقل بجملة أو جملتين:

العنصر المعنى
Label — التسمية العربيةاسم الحقل كما يظهر في الشاشة بالإنجليزية، متبوعاً بترجمته العربية.
fieldnameالاسم التقني للحقل، ويفيد المطورين وعند إجراء أي تخصيص.
Check Link Select Tableنوع الحقل: خانة اختيار، أو رابط لسجل آخر، أو قائمة اختيار، أو جدول.
*يعني أن الحقل إلزامي (Mandatory).
الافتراضيالقيمة التي يأخذها الحقل تلقائياً عند إنشاء ملف جديد، إن كانت غير فارغة.
Restaurant App Distributor Appيعني أن هذا الحقل يُقرأ أيضاً في تطبيق الجوال المذكور (تطبيق المطاعم، أو تطبيق الموزّع).
قيد التطويرميزة مخطط لها، أو غير مكتملة بعد في الإصدار الحالي. الحقل موجود في الشاشة، لكن أثره الفعلي لم يُفعَّل بعد.
💡

قاعدة مهمة: تقرأ نقطة البيع إعدادات الملف عند تحميلها فقط. لذلك، بعد أي تعديل على POS Profile، يجب إعادة تحميل شاشة نقطة البيع على كل جهاز حتى تُطبَّق الإعدادات الجديدة.

المحتويات: كيف يُختار الملف · ١ مفاتيح رأس الملف · ٢ البيانات الأساسية (الهوية، الميزان، العرض، المطاعم، الهدف اليومي، الحدود) · ٣ خيارات التشغيل (المخزون، الأسعار والخصومات، الإشراف، المرتجعات، البحث والباركود، السلة والشاشة، الطباعة، الطلبات والمزامنة) · ٤ المستخدمون والمشرفون · ٥ طرق الدفع · ٦ المجموعات · ٧ رسوم التوصيل · ٨ إعدادات الطباعة · ٩ إعدادات نقطة البيع غير المتصلة · ١٠ Firebase · ١١ بطاقات الهدايا · ١٢ المحاسبة · الملاحق: أ Gold POS · ب POS Settings · ج الإعدادات المحلية · د إعدادات مرتبطة · هـ حقول قيد التطوير

كيف يختار النظام ملف نقطة البيع للكاشير؟ (Which profile loads?)

عند فتح شاشة نقطة البيع، يُحدَّد الملف المناسب وفق هذا الترتيب:

الأولوية القاعدة
1إذا كان الجهاز مضبوطاً مسبقاً على ملف محدد في الإعدادات المحلية داخل نقطة البيع (Device POS Profile)، يُستخدم هذا الملف بغض النظر عن هوية المستخدم.
2وإلا، يُستخدم الملف الذي يظهر فيه المستخدم ضمن جدول Applicable for Users، بشرط تفعيل خيار Default ✔ فيه، ولنفس الشركة، وأن يكون الملف غير معطّل (Disabled ✘).
3وإلا، يُستخدم أول ملف غير معطّل تابع للشركة، حتى لو لم يكن المستخدم مضافاً فيه.
💡

لكل مستخدم ملفٌ افتراضي واحد فقط لكل شركة. فإذا حاولت حفظ ملف يجعل المستخدم افتراضياً فيه، بينما هو مضبوط كافتراضي في ملف آخر لنفس الشركة، سيرفض النظام العملية برسالة: Already set default in pos profile … kindly disabled default.

أين يُقرأ ملف نقطة البيع؟ (Where the profile is used)
الواجهة كيف تستخدم الملف
شاشة نقطة البيع (MaxFlow POS في المتصفح)هي المرجع الأساسي لهذا الدليل، وتُقرأ فيها كل الحقول ما لم يُذكر خلاف ذلك.
تطبيق المطاعم (Restaurant App) Restaurant Appيحمّل الملف كاملاً بنفس طريقة نقطة البيع، ثم يحفظه على الجهاز للعمل دون اتصال بالإنترنت. يُختار الملف من إعدادات التطبيق، ويُشترط ضبط حقل Restaurant. أما الحقول المستخدمة داخل هذا التطبيق فهي معلَّمة بالشارة الخاصة به في هذا الدليل.
تطبيق الموزّع (Distributor App) Distributor Appيحمّل الملف بنفس الطريقة. يعمل بشكل أساسي بأوامر البيع، ويمكنه العمل بفواتير البيع أيضاً عند تفعيل Cash Van. ثم يرسل الفواتير والسندات إلى الخادم عبر عملية المزامنة.
تطبيق المخزون (MaxFlow Stock)لا يقرأ ملف نقطة البيع إطلاقاً. تُؤخذ إعداداته من Global Defaults وStock Settings وصلاحيات المستخدم فقط.
Gold POSراجع الملحق أ.
١. مفاتيح رأس الملف (Header switches)

الصف الأول الظاهر في الشاشة يحتوي على مفاتيح تغيّر نمط عمل نقطة البيع بأكملها.

الحقل ماذا يفعل
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 لإرسال الطلب إلى فرع آخر.
٢. البيانات الأساسية (Basic information)

٢.١ الهوية والشركة (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 SelectZoom In - Cover: تملأ الصورة البطاقة بالكامل مع قصّ الأطراف الزائدة · Full Image - Contain: تظهر الصورة كاملة داخل حدود البطاقة.
Compact Grid View — كثافة الشبكة compact_grid_view SelectCompact: يعرض 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 SelectUp: يُقرَّب إجمالي الفاتورة (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 ساعة.
٣. خيارات التشغيل (Operating options)

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

٣.١ المخزون والأصناف (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 & Supervisors)

٤.١ المستخدمون — 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هذه الميزة قيد التطوير
💡

يجب تعبئة هذا الجدول قبل تفعيل أي خيار يطلب مفتاح مشرف، وإلا لن يتمكن أحد من اجتياز تلك النوافذ عند ظهورها. كما يتطلب أي تغيير على المفاتيح إعادة تحميل نقطة البيع.

٥. طرق الدفع (Mode of Payment) 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: عند تفعيل هذا الخيار، تحتفظ الصفوف غير الافتراضية بالمبالغ المُدخلة يدوياً فيها عند إعادة الحساب، بدلاً من تصفيرها تلقائياً.

٦. مجموعات الأصناف والعملاء (Item & customer groups)

كل جدول في هذا القسم إما من نوع 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 Fees) delivery_options Table
الحقل ماذا يفعل
Delivery Options — خيارات التوصيل delivery_options Tableيفترض أن يحدد هذا الحقل (العنوان، الرسوم، ونوع الخدمة)، لكنه حالياً قيد التطوير. تُعرَّف رسوم التوصيل فعلياً في الوقت الحالي من خلال مستند مستقل باسم Delivery Method، والذي يُربط مباشرة بملفات نقاط البيع من داخله.
٨. إعدادات الطباعة (Print Settings)
الحقل ماذا يفعل
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 في المكتب فقط.
٩. إعدادات نقطة البيع غير المتصلة (Offline POS Settings)
الحقل ماذا يفعل
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يحدد قالب طباعة سلة أوامر البيع في وضع الطلبات. إذا تُرك فارغاً، يُستخدم القالب نفسه أعلاه.
١٠. إعدادات Firebase (Firebase Settings)
الحقل ماذا يفعل
Site — الموقع site Dataيمثّل مفتاح المستأجر في Firebase. عند إنشاء طلب POS Order لهذا الملف، يُرسَل تنبيه لحظي إلى تطبيق المطعم فوراً. إذا تُرك الحقل فارغاً، لا يُرسَل أي تنبيه. Restaurant App
١١. بطاقات الهدايا (Gift Card)
الحقل ماذا يفعل
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. بعد إدخال رقم البطاقة، يتحقق النظام من حالتها، ورصيدها، ومدى تقييدها بهذا الملف، ثم يختار تلقائياً طريقة الدفع المطابقة لنوع البطاقة وعملتها. يُسمح باستخدام بطاقة هدايا واحدة فقط لكل فاتورة.

١٢. المحاسبة (Accounting)
الحقل ماذا يفعل
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 يُستخدم هذا الحقل كمركز كلفة لسطور السلة ولاستقطاعات سندات القبض.
ملحق أ — قسم Gold POS (يظهر فقط مع تطبيق MaxFlow Gold)

يضيف تطبيق 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 (عملات الدفع، شراء الكسر، التبديل، تسوية الجرامات، البيع بالأجل، خصومات الكسر، مجموعات العملاء، الولاء، سقف الخصم، المصروفات، رصيد المحل، والعرابين) لا تزال قيد التطوير، ولا تؤثر حالياً على شاشة نقطة البيع.

ملحق ب — إعدادات نقاط البيع العامة (POS Settings)

هو مستند واحد فقط لكل الموقع بأكمله، يُقرأ في كل مرة تُفتح فيها شاشة نقطة البيع.

الحقل ماذا يفعل
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 داخل الملف، لتحديد متى يجب طلب إعادة تحميل نقطة البيع. أما تحديث هذا الحقل تلقائياً، فلا يزال قيد التطوير.
ملحق ج — الإعدادات المحلية داخل نقطة البيع (Local POS Settings)

يمكن الوصول لهذه الإعدادات من قائمة نقطة البيع ☰ ← 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) خاص بهذا الجهاز تحديداً، وهذا الربط يتجاوز إعدادات صف الدفع الأصلية الموجودة في الملف.
ملحق د — إعدادات مرتبطة في أماكن أخرى (Related settings)
الإعداد الأثر على نقطة البيع
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 قبل إتمام البيع، وحدود قيمة الطلب المسموحة لعملاء تطبيق الموزّع.
ملحق هـ — حقول قيد التطوير (Fields under development)

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

الحقل الحالة
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قيد التطوير
💡

قد تظهر في بعض المواقع حقول إضافية تخص ميزات لا تزال قيد التطوير، ولا يغطيها هذا الدليل حالياً.