حماية الدفعالتفاصيل
- التعديلات ضمن الباقة مجانية.
- إذا لم تردّ خلال 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 واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.
العميل وجميع التفاصيل افتراضية.
عن هذه الخدمة
يستطيع Google Merchant Center قراءة المنتجات مباشرة من جدول بيانات Google، لكن بحقوله الخاصة فقط: id وtitle وdescription وlink وimage_link وavailability وprice مع رمز العملة وbrand وgtin وغيرها. يأخذ سكربت Google Apps Script هذا جدول منتجاتك، المرتب بالطريقة التي تعمل بها، ويبني تبويب Feed منفصلًا بذلك التنسيق: يكتب الأسعار مثل 19.99 USD، ويحوّل In stock أو 0 إلى الكلمات التي يقبلها Merchant Center، ويختصر العناوين إلى حد الطول الخاص به، وبدءًا من الباقة القياسية يسرد الصفوف التي ينقصها رابط أو صورة أو سعر قبل إرسالها. تربط تبويب Feed في Merchant Center بنفسك. الحقائق تأتي من جدولك ويجب أن تطابق موقعك؛ تراجع Google كل منتج، لذا لا يمكن لأحد أن يضمن الموافقة.
ما المشمول
- ما الذي تحصل عليهأرشيف ZIP يضم كود Apps Script وملف README يوضح كيفية إضافته إلى جدولك وربط تبويب Feed في Merchant Center؛ ويُعرض الكود أيضًا في صفحة الطلب.
- حقول Merchant Centerid وtitle وlink وimage_link وprice وavailability وغيرها
- جدولك يبقى كما هويُبنى الموجز في تبويب منفصل
- قيم يقبلهاأسعار مع العملة، والتوفر بكلماته
- المشكلات قبل الرفعبدءًا من الباقة القياسية، تُسرد الصفوف التي تنقصها الحقول المطلوبة
- كود مقروءمع تعليقات، ليسهل إضافة حقل لاحقًا
كيف يعمل
- 1الجدولترسل أعمدة جدول منتجاتك وبلد متجرك وعملته
- 2الكودنكتب السكربت ودليل تثبيته
- 3جرّبهتبني الموجز وتربطه في Merchant Center
- 4التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ
ما نحتاجه منك
أسماء أعمدة جدول منتجاتك مع 10-20 صفًا (منسوخة من كتالوجك الحقيقي أو مختلقة)، والبلد والعملة اللذان تبيع بهما، وكيف يُعرض المخزون (رقم، In stock، Yes أو No)، وهل للمنتجات مقاسات أو ألوان في صفوف منفصلة. العلامات التجارية والرموز الشريطية (GTIN) إن وُجدت، وتفاصيل الشحن والضرائب إن طلبها Merchant Center منك في الموجز، وهل تستخدم الجدول في حساب Google يمكنك تعديله.
سنسألك:
- كيف يبدو جدول منتجاتك؟
- أين تبيع؟
- هل للمنتجات متغيرات؟
قارن بين الباقات
| الباقات | الأساسيةتبويب Feed16 US$ | القياسيةالموجز مع الإعدادات33 US$ | المميزةأداة الموجز67 US$ |
|---|---|---|---|
| مدة التنفيذ | 1 يوم | 2 يوم | 3 أيام |
| التعديلات | 1 | 2 | 3 |
| الكود | حتى 150 سطرًا | حتى 400 سطر | حتى 1,000 سطر |
| ملفات الكود | 1 | حتى 3 | حتى 8 |
| ملف الإعدادات | لا | نعم | نعم |
| رسائل خطأ واضحة وسجل | لا | نعم | نعم |
| خيارات التشغيل ودليل لتشغيله وفق جدول زمني | لا | لا | نعم |
| دليل التثبيت والتشغيل (README) | نعم | نعم | نعم |
| اللغة | Google Apps Script | Google Apps Script | Google Apps Script |
| اطلب الأساسية | اطلب القياسية | اطلب المميزة |
حماية الدفع
تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.
- سعر ثابتلا يتغير سعر الباقة بعد الدفع.
- المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
- فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
- تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
- القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
- إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
الأسئلة والأجوبة
هل ستُقبل منتجاتي؟
لا يمكننا ضمان ذلك: تراجع Google كل منتج وفق قواعدها الخاصة، بما في ذلك موقعك وسياساتك. يجعل السكربت الموجز مطابقًا لتنسيق Merchant Center ويُظهر الحقول الناقصة؛ والحقائق من شأنك.
هل يحدّث Merchant Center الموجز من تلقاء نفسه؟
يستطيع Merchant Center جلب موجز من جدول بيانات Google وفق جدوله الزمني الخاص. يعيد السكربت بناء تبويب Feed حين تضغط الزر، أو قبل ذلك بمشغّل زمني باتباع دليل الباقة المميزة.
هل يمكنه أخذ المنتجات من متجري على Shopify أو WooCommerce؟
هذا العرض يبني الموجز من جدول بيانات Google. إن كانت منتجاتك في متجر، فصدّرها إلى الجدول أولًا؛ أما تحميلها عبر API المتجر فمهمة منفصلة.
هل تحصلون على وصول إلى Merchant Center؟
لا. تضيف السكربت إلى جدولك وتربط الموجز في حسابك الخاص على Merchant Center. لا نسجّل الدخول أبدًا.
لم تجد إجابتك؟