برمجةحماية الدفعالتفاصيل
- التعديلات ضمن الباقة مجانية.
- إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.
يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

مثال على النتيجة
دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد
طريقة التشغيل
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)
إعدادات لا كود
أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:
[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة
جزء من الكود
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.
العميل: سلسلة صغيرة من 9 متاجر للأدوات المكتبية؛ يرسل كل متجر مبيعاته الشهرية في ملف CSV أو Excel، بأسماء أعمدة تختلف قليلًا من متجر إلى آخر. المهمة: سكربت واحد يقرأ كل ملف في مجلد، ويوحّد الأعمدة في شكل واحد، ويكتب تقرير Excel واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.
العميل وجميع التفاصيل افتراضية.
عن هذه الخدمة
يستورد Shopify المنتجات من ملف CSV، لكن بتنسيقه الخاص فقط: Handle واحد للمنتج وكل متغيراته، وأسماء الخيارات وقيمها في أعمدة محددة، والصور كروابط عامة. يحوّل سكربت Python هذا الملف الذي لديك، سواء كان قائمة أسعار مورّد أو تصديرًا من متجرك القديم أو ملف Excel الخاص بك، إلى ذلك التنسيق. يربط أعمدتك بأعمدة Shopify، وبدءًا من الباقة القياسية يحوّل المقاسات والألوان إلى متغيرات، وينظف الأسعار والمخزون ويضيف الوسوم. يتبع قالب CSV الحالي للمنتجات في Shopify، الذي يمكنك تنزيله من لوحة الإدارة. يجب أن تكون الصور على روابط يستطيع Shopify فتحها. تستورد الملف في Shopify بنفسك؛ ولا نسجّل الدخول إلى متجرك أبدًا. جرّب بضعة منتجات أولًا: النتيجة لا تكون أكمل من بياناتك.
ما المشمول
- ما الذي تحصل عليهأرشيف ZIP يضم سكربت Python وملف README بتعليمات خطوة بخطوة، ومن الباقة القياسية ملف إعدادات بخريطة الأعمدة؛ ويُعرض الكود أيضًا في صفحة الطلب.
- تنسيق Shopifyوفق قالب CSV الحالي للمنتجات في Shopify
- متغيرات مجمّعةبدءًا من الباقة القياسية، المقاسات والألوان تحت منتج واحد
- أسعار ومخزون نظيفةأرقام يقبلها Shopify، بلا رموز عملات ولا مسافات
- سرد المشكلاتيُبلَّغ عن الصفوف التي بلا سعر أو SKU أو صورة
- كود مقروءمع تعليقات، ليسهل إضافة عمود لاحقًا
كيف يعمل
- 1الملفاتترسل عينة من ملف منتجاتك وتوضح ما يذهب إلى أين
- 2الكودنكتب السكربت ودليل تشغيله
- 3جرّبهتستورد بضعة منتجات إلى Shopify وتتحقق منها
- 4التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ
ما نحتاجه منك
20-30 صفًا من الملف الذي لديك (قائمة أسعار المورّد، أو تصدير المتجر القديم، أو جدولك الخاص)، وكيف تُكتب المتغيرات فيه (صف لكل مقاس، أو المقاسات في خلية واحدة)، وأين الصور (روابط، أو ملفات سترفعها إلى Shopify أولًا)، وكيف تُحدد الأسعار. وإن كان لديك، تصدير لبضعة منتجات من متجرك على Shopify، لتتطابق الأعمدة تمامًا. نظامك: Windows أو macOS أو Linux.
سنسألك:
- ما الملف الذي لديك الآن؟
- كيف تُكتب المتغيرات فيه؟
- أين توجد الصور؟
- كيف يجب تحديد الأسعار؟
قارن بين الباقات
| الباقات | الأساسيةمنتجات بسيطة16 US$ | القياسيةمنتجات بمتغيرات33 US$ | المميزةأداة استيراد المنتجات67 US$ |
|---|---|---|---|
| مدة التنفيذ | 1 يوم | 2 يوم | 3 أيام |
| التعديلات | 1 | 2 | 3 |
| الكود | حتى 150 سطرًا | حتى 400 سطر | حتى 1,000 سطر |
| ملفات الكود | 1 | حتى 3 | حتى 8 |
| ملف الإعدادات | لا | نعم | نعم |
| رسائل خطأ واضحة وسجل | لا | نعم | نعم |
| خيارات التشغيل ودليل لتشغيله وفق جدول زمني | لا | لا | نعم |
| دليل التثبيت والتشغيل (README) | نعم | نعم | نعم |
| اللغة | Python | Python | Python |
| اطلب الأساسية | اطلب القياسية | اطلب المميزة |
حماية الدفع
تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.
- سعر ثابتلا يتغير سعر الباقة بعد الدفع.
- المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
- فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
- تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
- القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
- إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
الأسئلة والأجوبة
هل ستستوردون المنتجات إلى متجري؟
لا. لا نسجّل الدخول إلى متجرك أبدًا. تستورد ملف CSV في لوحة إدارة Shopify بنفسك؛ ويوضح ملف README المكان والخيارات المطلوب اختيارها.
ماذا عن الصور التي هي ملفات على جهازي؟
لا يقبل Shopify الصور في ملف CSV إلا كروابط يستطيع فتحها. ارفع الملفات أولًا إلى قسم Files في Shopify وأعطِ السكربت قائمة روابطها، أو استخدم الروابط التي يقدمها مورّدك.
هل يمكنه تحديث أسعار ومخزون المنتجات الموجودة لديّ؟
نعم، إن تطابقت قيم Handle مع منتجاتك الحالية: يستطيع Shopify الكتابة فوق المنتجات ذات Handle نفسه عند الاستيراد. جرّب ذلك على بضعة منتجات أولًا.
هل سيكتب أوصاف المنتجات؟
لا. ينقل الأوصاف والحقائق الموجودة في ملفك ويمكنه ترتيب تنسيقها. النصوص غير الموجودة لديه تُترك فارغة ويُبلَّغ عنها.
لم تجد إجابتك؟


