ERP Cloud Systems - ربط Unicommerce
ربط Unicommerce
Unicommerce هو نظام تجميعي (Aggregator) للمنصات الإلكترونية المختلفة، يتيح لك بيع المنتجات عبر عدة متاجر إلكترونية ومعالجة الطلبات من خلال واجهة موحدة تُعرف باسم Uniware.
لمزيد من المعلومات، يمكنك زيارة الموقع الرسمي: https://unicommerce.com/
الربط بين ERPNext وUnicommerce
يوفر ERPNext ربطًا ثنائي الاتجاه كاملًا مع Unicommerce باستخدام واجهات REST API الخاصة بـ Uniware.
ويتم تنفيذ هذا الربط عبر تطبيق Frappe رسمي معتمد من فريق Frappe.
يغطي هذا الربط بشكل عام الجوانب التالية:
- مزامنة كتالوج الأصناف (Item Catalogue)مع Unicommerce (اتجاهين)
- مزامنة المخزون (Inventory Sync)(في اتجاه واحد من ERPNext إلى Unicommerce)
- مزامنة أوامر البيع الجديدة (Sales Orders Sync)
- مزامنة أو إنشاء فواتير البيع (Sales Invoice Syncing / Generation)(يُستخدم أحد الخيارين فقط)
تثبيت التطبيق
- إذا كان موقعك مستضافًا على Frappe Cloud، يمكنك تثبيت التطبيق بسهولة من خلال لوحة تحكم الموقع (Dashboard)، حيث يتوفر التطبيق في Frappe Cloud Marketplace.
- إذا كان موقعك مستضافًا عبر Frappeمباشرة، يرجى فتح تذكرة دعم (Support Ticket) لطلب تثبيت التطبيق على موقعك.
- إذا كنت تستضيف ERPNext ذاتيًا (Self-hosted)، يمكنك تثبيت التطبيق باستخدام Frappe Benchعبر الأمر التالي:
bench get-app ecommerce_integrations --branch main
التطبيقات متاحة على GitHub:
github.com/frappe/ecommerce_integrations
المصادقة والإعداد الأساسي

بعد تثبيت التطبيق، انتقل إلى صفحة "Unicommerce Settings" ثم اتبع الخطوات التالية:
- فعِّل خيار "Enable Unicommerce".
- أدخل رابط موقع Unicommerce، واسم المستخدم، وكلمة المرورالخاصة بك.
- تتم إضافة Client IDبشكل افتراضي، ولكن إذا كنت تستخدم Client ID مختلف، قم بتحديثه هنا.
- إذا لم تكن متأكدًا من Client ID الخاص بك، تواصل مع فريق دعم Unicommerce.
- اضغط على Saveلبدء عملية المصادقة مع Unicommerce، وسيتم إعداد الحقول المخصصة الخاصة بالربط تلقائيًا.
- عند اكتمال الإعداد بنجاح، ستظهر حقول الوصول (Access/Refresh Tokens)ضمن قسم "Authentication Details" مما يعني أن المصادقة تمت بنجاح ويمكنك المتابعة في إعداد الربط.
في حال فشل المصادقة:
- تحقق من صحة البيانات المُدخلة.
- قد يكون الخادم (Server) محظورًا عبر جدار الحماية. في هذه الحالة، تواصل مع دعم Unicommerce لطلب إضافة عنوان IP الخاص بخادمك إلى القائمة البيضاء (Whitelist).
مزامنة الأصناف (Item Sync)
يقوم الربط بين ERPNext وUnicommerce بالتحقق من الأصناف الجديدة بشكل دوري (كل ساعة) ويرفعها إلى Unicommerce تلقائيًا.
لتمكين هذه الميزة:
- انتقل إلى "Unicommerce Settings"وفعِّل خيار "Upload new items to Unicommerce".
- عيّن مجموعة أصناف افتراضية (Default Item Group)— تُستخدم فقط في حال لم يُحدد الصنف مجموعة خاصة به.
- عند إنشاء صنف جديد، فعِّل خيار "Sync with Unicommerce"ليتم رفعه تلقائيًا إلى
- يمكن أيضًا تفعيل هذا الخيار للأصناف الموجودة مسبقًا.
ملاحظة: رمز Unicommerce SKU ثابت ولا يمكن تعديله، لذا لا تقم بتغيير رمز الصنف (Item Code) بعد إنشائه.
ربط مجموعات الأصناف مع فئات المنتجات (Product Categories)
لضمان مزامنة صحيحة بين مجموعات الأصناف في ERPNext وفئات المنتجات في Unicommerce، يجب ربط كل مجموعة بالصنف المقابل لها.

خطوات الربط:
- ابحث عن رمز فئة المنتج (Product Category Code)في حسابك على
- افتح مجموعة الصنف (Item Group)المقابلة داخل
- أضف رمز فئة المنتج من Unicommerceداخلها.
مزامنة المخزون
بعد إعداد مزامنة الأصناف (Item Sync)، يمكنك تفعيل مزامنة المخزون بين ERPNext Unicommerce ويقوم النظام بالتحقق من أي تغييرات في مخزون ERPNext ودفعها تلقائيًا إلى Unicommerce على فترات زمنية محددة.ويعتبر مخزون ERPNext هو المصدر الرئيسي والدقيق للمعلومات، لذلك يتم استبدال قيم المخزون في Unicommerce دائمًا بالقيم القادمة من ERPNext.
خطوات الإعداد
- انتقل إلى صفحة "Unicommerce Settings".
- مرِّر إلى قسم "Inventory Sync".
- فعِّل خيار "Enable Inventory Sync".
- حدِّد تكرار المزامنة (Sync Frequency)— يُوصى بأن يكون كل 15 إلى 60 دقيقة.
- في جدول Warehouse Mapping:
- أضف جميع رموز المرافق (Facility Codes)الموجودة في
- اربط كل مرفق بالمستودع المقابل له في
- فعِّل خيار "Enabled"لكل مرفق ترغب في تفعيله.
- اضغط على Saveلحفظ الإعدادات.
ملاحظات هامة: يتم دفع جميع المخزونات إلى الرف الافتراضي "DEFAULT".
نظام Unicommerce Shelves غير مدعوم في هذا التكامل، لذا تأكد من أن لديك رفًا واحدًا فقط باسم "DEFAULT" لتجنب أخطاء المزامنة.
ملاحظات هامة: ، لا يدعم Unicommerce الكميات العشرية (Fractional Inventory).
معالجة أوامر البيع
يوضح ما يلي تسلسل معالجة الطلبات داخل ERPNext حيث يمكنك أيضًا تنفيذ معالجة الطلبات مباشرة على Unicommerce، ثم مزامنة الطلبات المكتملة فقط مع ERPNext حسب الحاجة.
img
مزامنة أوامر البيع و إعداد القنوات

يدعم ربط Unicommerce Integration استقبال ومعالجة الطلبات من عدة قنوات بيع (Channels) ولتمكين ذلك، يجب إعداد مزامنة أوامر البيع على عدة مراحل كما يلي:
الإعدادات الافتراضية لمزامنة أوامر البيع

- انتقل إلى صفحة "Unicommerce Settings".
- مرّر لأسفل إلى قسم "Sales Order Sync".
- حدّد تكرار المزامنة (Sync Frequency)يوصى بأن يكون بين 30 إلى 60 دقيقة.
- عيّن المجموعة الافتراضية للعملاء (Default Customer Group)وسلسلة التسمية (Naming Series) للمستندات.
إعدادات مزامنة أوامر البيع الخاصة بكل قناة
للحصول على إعدادات مرنة لكل قناة بيع على حدة، تحتاج إلى إنشاء مستند "Unicommerce Channel" لكل قناة تريد تفعيلها لمزامنة أوامر البيع.
الخطوات:
- انتقل إلى "Unicommerce Channel"من شريط البحث أو من صفحة إعدادات
- انقر على "Add Unicommerce Channel".
- أدخل التفاصيل المطلوبة مثل:
- Channel ID
- المستودع الافتراضي (Default Warehouse)
- الشركة (Company)
- الحسابات (Accounts)
- سلسلة التسمية (Naming Series)
- إذا كان الشحن يتم بواسطة منصة السوق (Marketplace)، فعّل خيار "Shipping Handled by Marketplace"أو اتركه غير محدد إذا كنت تدير الشحن داخليًا.
- بعد الانتهاء من الإعداد الكامل، فعّل خيار "Enabled"لتفعيل القناة.
بمجرد تفعيل القناة، ستبدأ أوامر البيع الجديدة التي تم إنشاؤها في Unicommerce بالمزامنة تلقائيًا مع ERPNext.
في حال تم اكتشاف عنصر جديد (Item) غير موجود في ERPNext، سيقوم النظام بإنشائه تلقائيًا باستخدام البيانات الواردة من Unicommerceيتم تعيين معلومات الطلب من Unicommerce في الحقول المقابلة داخل ERPNext، ويمكنك العثور على تفاصيل إضافية في قسم "Unicommerce Details" داخل مستند Sales Order.
مزامنة فواتير المبيعات
تتيح لك ميزة مزامنة فواتير المبيعات في تكامل Unicommerce التعامل مع الفواتير بطريقتين مختلفتين، حسب احتياجاتك التشغيلية.
1. معالجة الفواتير من خلال Unicommerce (موصى بها)
إذا كنت ترغب في معالجة الطلبات والفواتير مباشرة في Unicommerce، ثم فقط مزامنة الطلبات المكتملة بالكامل إلى ERPNext،
فعليك تفعيل خيار "Only Sync Completed Orders" في إعدادات Unicommerce وفي هذا الوضع، ERPNext سيستقبل فقط الطلبات المكتملة والفواتير النهائية من Unicommerce.
2. معالجة الفواتير من خلال ERPNext
إذا كنت تفضل إدارة ومعالجة الطلبات من داخل ERPNext فقط، فيمكنك إنشاء الفواتير يدويًا من أوامر البيع المزامنة.
الخطوات:
- افتح أمر البيع الذي تمت مزامنته من Unicommerce داخل
- من شريط الإجراءات، انقر على: Unicommerce → Generate Invoice.
- سيتم إنشاء فاتورة مبيعات (Sales Invoice)تلقائيًا، كما سيتم تحديث المخزون وفقًا لذلك.

إنشاء بيان الشحن
في حال كنت تستخدم الطريقة الثانية (المعالجة داخل ERPNext)، تحتاج إلى إنشاء وإرسال بيان شحن (Shipping Manifest) لإبلاغ Unicommerce بأن الطلبات قد تم شحنها.
المتطلبات المسبقة:
قبل إنشاء البيان، تأكد من إعداد الكيانات التالية:
- Unicommerce Shipping Provider
- Unicommerce Shipping Method
(يمكنك العثور على أكواد التكوين في صفحة إنشاء البيان داخل Unicommerce).

خطوات إنشاء بيان الشحن:
- من شريط البحث، انتقل إلى: Unicommerce Shipment Manifest → + Add.
- أدخل التفاصيل التالية:
- Channel ID
- Shipping Method
- Shipping Provider Code
- يمكنك إما:
- استخدام زر "Get Package"لجلب الطلبات المفتوحة بناءً على الفلاتر المحددة،
- أو استخدام حقل "Scan AWB Code"لمسح أكواد الشحن (AWB) يدويًا.
- سيتم تعبئة باقي التفاصيل تلقائيًا بعد الحفظ.
- بعد التأكد من صحة البيانات، اضغط Saveثم Submit.
عند تقديم البيان، يتم إنشاء البيان نفسه على Unicommerce وإغلاقه تلقائيًا، وتُحدّث الشحنات إلى حالة "Dispatched" كما يتم جلب ملف PDF الخاص بالبيان من Unicommerce وإرفاقه تلقائيًا داخل مستند البيان في ERPNext.
تحديثات الحالة

يتم تحديث حالة الطلب في Unicommerce بشكل دوري داخل ERPNext ويمكنك الاطلاع على الحالة الحالية من خلال قسم "Unicommerce Details" في المستند.
إلغاء الطلبات
عند إلغاء أي طلب على Unicommerce، يقوم التكامل تلقائيًا بمزامنة هذا الإجراء مع ERPNext ليتم إلغاء الطلب هناك أيضًا كما يتم دعم الإلغاءات الجزئية (Partial Cancellations) حيث تُزال الأصناف الملغاة فقط من أمر البيع داخل ERPNext وتتم مزامنة كلٍّ من الإلغاءات الكاملة والجزئية مرة كل ساعة وأيضًا قبل إنشاء الفواتير مباشرة لضمان دقة البيانات.
إرجاع الطلبات
عند إنشاء طلب إرجاع (Return) في Unicommerce، يقوم النظام تلقائيًا بمزامنة الحالة وإنشاء مذكرة دَين (Credit Note) في ERPNext في حالة مسودة (Draft).
التكامل يتعامل مع حالتين رئيسيتين من الإرجاع:
1. RTO (Return to Origin)تعني أن الشحنة قد أُعيدت إلى المرسل الأصلي. وعند حدوث ذلك، يتم تحديث حالة الشحنة في Unicommerce، ويقوم ERPNext بإنشاء مذكرة دَين كاملة (Full Credit Note) ويتم تفعيل خيار "Update Stock" لإعادة الأصناف إلى المخزون تلقائيًا.
2. CIR (Customer Initiated Return)تعني أن العميل هو من بادر بإرجاع المنتج.وتنعكس هذه الحالة في قسم Sales Orders على Unicommerce. وفي ERPNext، يتم إنشاء مذكرة دَين جزئية أو كاملة حسب نوع الإرجاع.
يمكنك عرض جميع الإرجاعات في ERPNext عبر الانتقال إلى Sales Invoice ثم تفعيل الفلتر "Is Return = Yes". كما يتم حفظ رمز تتبع الإرجاع (Return Tracking Code) في مذكرة الدَين.

