المساعد الذكى
اسأل عن طريقة استخدام البرنامج أو عن شغل المحل. عند كل سؤال بيتبعت للمساعد ملخص أرقام (مبيعات، أكبر المديونيات بأسمائهم، أصناف ناقصة). المساعد بيشتغل فى النسخة الأونلاين فقط وبيحتاج إنترنت.إعداد المساعد
طلبات التطوير المحفوظة
زر «إرسال للمطوّر» بيفتح واتساب برسالة فيها طلباتك لصاحب البرنامج.مردود مشتريات
آخر مردودات المشتريات
إذن تحويل جديد
أذون التحويل بين المخازن
أذونات المخازن
عند التفعيل: فاتورة البيع لا تخصم المخزون وفاتورة الشراء لا تضيفه إلا بعد موافقة أمين المخزن على الإذن وترحيله. الكميات اللى يعدّلها أمين المخزن بتتحدّث فى الفاتورة. التفعيل للمدير فقط.الأذونات
تجميع / تفكيك أصناف
المكوّنات (للوحدة الواحدة من الصنف المجمّع)
عمليات التجميع والتفكيك
هيكل الشركات والفروع
حدد شكل شغلك: كام شركة تجارية، وهل عندك شركة تشغيل معدات أو شركة خدمات، وكام فرع لكل شركة. كل شركة بحساباتها وخزنتها وأصنافها لوحدها، وكل فرع بيتعمل له نقطة بيع بمخزن وخزينة خاصين بيه. مفيش شركة بتتمسح من هنا — بيتضاف الناقص بس.
بيانات الشركة
شكل الفاتورة
تغيير الرقم السرى
شجرة الحسابات
الأرصدة محسوبة تلقائيًا من كل المستندات المرحّلة (فواتير، سندات، مصروفات، مرتجعات، جرد...). حسابات الخزينة والبنوك بتتضاف تحت 1101/1102 تلقائيًا.إضافة حساب
تقارير الحسابات
إقفال الفترة
قيد يومية يدوى
متابعة النهارده
الرئيسية
فحص الحسابات اليومى
لوحة المالك
المبيعات اليومية
عرض كجدول
أكبر المتأخرين فى الأقساط
عروض الأسعار
الحسابات
كشف حساب
سجل العمليات
آخر فواتير البيع
فواتير واردة من شركاتنا
دى فواتير بيع اتعملت لينا من شركة تانية من شركاتنا. «استلام» بيفتح فاتورة مشتريات متعبّية، اختار المخزن واعمل حفظ وترحيل.
آخر فواتير المشتريات
الموردين الأجانب
فواتير الاستيراد
السريالات والضمان
كل وحدة برقمها: اتشرت إمتى وبكام ومن مين، واتباعت لمين وبكام، وربحها، وضمانها لحد إمتى.
تجميع أصناف قديمة فى موديل واحد
لو كنت بتسجّل كل معدة كصنف لوحدها برقم السريال: اختار الأصناف دى وهتتجمّع فى صنف واحد (الموديل)، وكل واحد منها يبقى سريال بتكلفته وسعر بيعه وفواتيره.
الأصناف اللى هتتجمّع
سجل الأصول الثابتة
المرتبات
حركات الشهر
تنبيهات المعدات
مصروف معدة
تشغيلة (إيراد معدة)
السواقين والتباعين والعمال
عُهد المشرفين
ربحية المعدات
المعدات
آخر الحركات
مرتجع مبيعات
آخر المرتجعات
رسائل واتساب للعملاء
الإعدادات
البرنامج بيبعت لوحده من رقم واتساب الشركة العادى، والرقم بيفضل شغال على الموبايل.
مرة واحدة: (1) اعمل حساب على ultramsg.com واعمل Instance (فيه تجربة ببلاش، وبعدها اشتراك شهرى). (2) من موبايل الشركة: واتساب ← الأجهزة المرتبطة ← ربط جهاز، وامسح الـ QR اللى فى لوحة UltraMsg. (3) انسخ Instance ID وToken من اللوحة هنا ← حفظ ← «تجربة».
تنبيه: الطريقة دى مش رسمية من واتساب — ابعت لعملائك بس (اللى عارفين رقمك)، وماتبعتش رسايل كتير لأرقام غريبة علشان الرقم مايتقفلش.
الطريقة الرسمية ومفيش خطر على الرقم، بس الرقم بيبقى مخصص للرسايل (مش شغال على تطبيق الموبايل) وكل رسالة بتتحسب بفلوس قليلة من Meta.
مرة واحدة: (1) business.facebook.com ← اعمل حساب أعمال. (2) developers.facebook.com ← Create App ← نوع Business ← ضيف WhatsApp. (3) ضيف رقم الشركة وأكّده بكود SMS. (4) من «System users» اعمل مستخدم وTOKEN دائم بصلاحية whatsapp_business_messaging. (5) من WhatsApp Manager ← Message templates اعمل 3 قوالب (فئة Utility) بالمتغيرات بالترتيب ده:
• الإيصال: {{1}} الاسم، {{2}} المبلغ، {{3}} التاريخ، {{4}} الرصيد المتبقى، {{5}} اسم الشركة
• التذكير قبل القسط: {{1}} الاسم، {{2}} المبلغ، {{3}} تاريخ الاستحقاق، {{4}} اسم الشركة
• المتأخرات: {{1}} الاسم، {{2}} الإجمالى، {{3}} عدد الأقساط، {{4}} أقدم تاريخ، {{5}} اسم الشركة
والسيرفر لازم يكون عليه إنترنت. الـ Token بيتحفظ على السيرفر بس ومش بيظهر لأى جهاز.
فواتير آجلة تحتاج جدول تقسيط
الفواتير المقسّطة
سند جديد
سند القبض من عميل يُخصم تلقائياً من أقدم الأقساط أو الفواتير المستحقة عليه.
آخر السندات
طريقة تكلفة المخزون
تُطبَّق على المبيعات والمشتريات الجديدة ولا تغيّر فواتير سابقة.تصنيفات الأصناف
صنف جديد
الباركود وطباعة الملصقات
طباعة ملصقات
المخازن
تحويل بين المخازن
الأصناف والأرصدة
عميل جديد
بيانات إضافية (الرقم القومى، رقم إضافى، الضامن)
قائمة العملاء
استيراد عملاء أو موردين من شركة تانية
بينقل الاسم والتليفون والعنوان والبيانات الإضافية بس، بكود جديد فى الشركة دى ومن غير أى رصيد — الحسابات بتفضل منفصلة.
مورد جديد
بيانات إضافية (العنوان، الرقم القومى، رقم إضافى، الضامن)
قائمة الموردين
مصروف جديد
المصروفات
مستخدم جديد
هذا تسجيل دخول بسيط داخل المتصفح فقط، وليس نظام حماية حقيقي — أي شخص يفتح كود الصفحة يقدر يشوف البيانات. استخدمه لتقسيم الشاشات بين الموظفين، لا لحماية بيانات حساسة.
المستخدمون
موافقات المدير
لما أى مستخدم غير المدير يعمل عملية من دول، بيتبعت طلب للمدير يوافق الأول. المدير بيظهر له زرار «طلبات موافقة» فوق وتنبيه، وصاحب الطلب بيجيله تنبيه لما المدير يرد.
الأمان والجلسات
الأجهزة المسجّل دخولها دلوقتى
الشركات / المجالات
كل شركة ليها حساباتها وخزينتها وأصنافها وعملاؤها ومورّدوها وأرباحها وإقفال عامها فى ملف بيانات منفصل. المستخدمون مشتركين، وكل مستخدم بتحدد له الشركات المسموح بيها من زر «الشركات» جنب اسمه.
إضافة شركة جديدة
المناديب
المندوب بيتسجّل على فاتورة البيع وسند القبض. المستخدمون بيظهروا تلقائيًا كمناديب، وتقدر تضيف أسماء إضافية هنا.المبيعات والعملاء
المشتريات والموردين
المخزون
المالية
تعديل نص الرسالة
المتغيرات: {الاسم} {المبلغ} {عدد_الأقساط} {أقدم_استحقاق} {التفاصيل} {الشركة}الاستعلام فى السنين القديمة والنسخ الاحتياطية
كل نسخة بتتفتح فى نافذة لوحدها للاستعلام بس (تقارير وكشوف حسابات) ومفيش أى تعديل بيحصل فيها.
أرشيف السنين (إقفال العام)
النسخ اليومية (آخر 30 يوم)
النسخ الخارجية (على الفلاشة / الهارد / الفولدر التانى)
النسخ الكاملة (قبل التحديثات واليدوية)
تقارير مجمّعة لكل الشركات
جرد المخزن
اختار المخزن، واكتب الكمية الفعلية لكل صنف (الأصناف اللى مش هتكتب ليها كمية بتفضل زى ما هى). البرنامج بيحسب الفروق، ولما تضغط «تسوية الفروق» بيعمل فاتورة «زيادة جرد» و«عجز جرد» ويسجّل قيد محاسبى واضح (زيادة = إيراد زيادة جرد، عجز = مصروف عجز جرد).
سجل الجرد
سجل المراجعة
كل إضافة وتعديل وحذف لمستندات السنة الحالية (فواتير، سندات، مرتجعات، مصروفات، عملاء...) ومين عملها ومتى. التعديلات التلقائية الناتجة عن السداد وتحديث التكلفة مش بتتسجل. المستندات المحذوفة بتتحفظ بياناتها وتقدر تشوفها.
سجل المراجعة على السيرفر (لا يمكن تعديله أو حذفه)
السيرفر نفسه بيسجّل كل إضافة وتعديل وترحيل وإلغاء ترحيل وحذف لأى فاتورة أو سند أو حساب أو عميل أو صنف، وكل حركة مخزون وكل تغيير فى الإعدادات والمستخدمين، ومين عملها ومن أنهى جهاز ومتى، بالقيم القديمة والجديدة. كل سطر مربوط ببصمة السطر اللى قبله، فأى تلاعب فى ملف البيانات بيبان فى «فحص سلامة السجل».
استيراد من Excel
نزّل القالب، املاه فى Excel واحفظه (xlsx أو csv)، وارفعه هنا. أو انسخ الجدول من Excel (بما فيه صف العناوين) والصقه تحت. هتشوف معاينة بكل صف قبل ما تستورد.
نقاط البيع
نقطة البيع بتشتغل لوحدها (حتى لو النت قطع) على نسخة من البرنامج بمخزنها وخزينتها. كل ما تحب تحدّث بياناتك هنا: تنزّل «دفعة مبيعات» من النقطة وتستوردها هنا فتتحدّث الفواتير والسندات والمخزون والخزينة والعملاء. وإنت بتغذّيها بالبضاعة والأسعار والعملاء بملف تغذية من هنا.
نقاط البيع الحالية
تحويل مخزون إلى
إقفال الوردية
جرد النقدية آخر الوردية: اكتب المبلغ الفعلى اللى فى الدرج والبرنامج بيحسب العجز أو الزيادة ويسجّلهم (عجز = مصروف، زيادة = إيراد) ويبعتهم للمركز مع الدفعة.
ورديات نقاط البيع
الجهاز ده نقطة بيع مستقلة. لما يكون متصل بشبكة السيرفر بيبعت المبيعات ويستلم الأصناف والأسعار والتحويلات تلقائياً كل شوية. لو مش متصل اشتغل عادى، والمزامنة هتحصل لوحدها أول ما الاتصال يرجع — أو صدّر «دفعة مبيعات» يدوى وابعتها للمركز. الفواتير اللى اتبعتت ما بتتعدّلش من هنا.
إقفال العام
الإقفال بيعمل الآتى: (1) يحفظ نسخة كاملة من كل بيانات السنة فى الأرشيف على السيرفر للاستعلام فقط ولا يمكن تعديلها. (2) يبدأ سنة جديدة بأرصدة أول المدة: أرصدة الخزائن والبنوك، أرصدة العملاء والموردين (الفواتير المتبقية بأقساطها)، المخزون كما هو. (3) يفرّغ الفواتير والسندات والمشتريات والمرتجعات والمصروفات للسنة الجديدة. الأصناف والعملاء والموردين والمستخدمين والإعدادات بتفضل زى ما هى.
الأرشيف (سنوات سابقة — للاستعلام فقط)
«فتح للاستعلام» بيفتح النسخة القديمة فى نافذة منفصلة (تقارير وكشوف حسابات وأقساط) ولا يمكن التعديل عليها، وتقدر تشتغل على النسخة الجديدة فى نفس الوقت.
تحديث البرنامج و Node.js
node server.js --reset-update-pw.
تعيين / تغيير كلمة سر التحديث
إزاى التحديث بيحمى بياناتك؟
- السيرفر بيفحص ملف التحديث وبيجرّب النسخة الجديدة فى الخلفية على بيانات فاضية الأول — لو فيها مشكلة بيرفضها ومفيش حاجة بتتغير.
- بيعمل نسخة احتياطية كاملة: بيانات كل الشركات + ملفات البرنامج الحالية (فى data\pre-update).
- بيركّب الملفات الجديدة بس — فولدر data مبيتلمسش.
- بيعيد تشغيل نفسه. ولو النسخة الجديدة ما اشتغلتش، بيرجع للنسخة القديمة لوحده.
- وتقدر فى أى وقت ترجع لأى نسخة من القايمة تحت.
تحديث Node.js خطوة بخطوة
- اضغط «نسخة احتياطية كاملة الآن» فوق (أو شغّل backup-now.bat).
- اقفل النافذة السودا بتاعة السيرفر.
- نزّل نسخة LTS من nodejs.org (يُفضّل 24 أو أحدث عشان تشفير Argon2id) وثبّتها فوق القديمة عادى.
- شغّل start.bat تانى. السيرفر بياخد نسخة تلقائية من البيانات لما يلاقى إصدار Node اتغيّر قبل ما يشتغل.
- لو حصلت مشكلة: ثبّت النسخة القديمة من Node تانى — البيانات زى ما هى.
البرنامج مش بيستخدم أى مكتبات خارجية (npm)، فمفيش Dependencies محتاجة تتحدّث غير Node.js نفسه.
النسخ الكاملة (قبل التحديثات)
نسخة احتياطية تلقائية خارج الجهاز
السيرفر بينسخ بيانات كل الشركات وملفات الأرشيف والمرفقات وملفات البرنامج نفسه لوحده لمكان أو مكانين تانيين: فلاشة/هارد خارجى، جهاز تانى على الشبكة، أو فولدر متزامن مع Google Drive / OneDrive (ده بيطلّعها على النت). بعد كل نسخة بيفتحها ويفحصها ويتأكد إن عدد السجلات مظبوط — ولو فيه مشكلة بيظهر تحذير أحمر فوق للمدير.
استرجاع من النسخة الخارجية لو السيرفر باظ
- البرنامج نفسه موجود على الفلاشة فى
shop-backup\program\<رقم الإصدار>: انسخ الفولدر ده للجهاز الجديد (مثلاD:\shop-server) وثبّت Node.js ومتشغّلش البرنامج لسه. - من الفلاشة افتح فولدر
shop-backupواختار آخر نسخة منbackups(مثلاshop-2026-10-09.db). - انسخها لفولدر
dataفى البرنامج الجديد باسمshop.db. - لو عندك أكتر من شركة: انسخ
companies.jsonلفولدر data، ولكل شركة انسخ آخر نسخة منcompanies\cN\backupsإلىdata\companies\cN\shop.db، وفولدرarchivesوfilesبتوعها جنبها. - شغّل start.bat وادخل بنفس الحسابات.
نسخة احتياطية وتصدير
استرجاع نسخة
الاسترجاع يستبدل كل البيانات الحالية بمحتوى الملف.