تصدير طلبات Shopify وملف CSV لنشاط PayPal قد يصفان نفس البيع بمعرّفات مختلفة وتواريخ مختلفة وعدد صفوف مختلف. لهذا تطول قائمة الاختلافات في كل مرة تقارن فيها الملفين سطراً بسطر.

المشكلة تبدأ قبل كتابة أي معادلة. Shopify يسجّل الحدث التجاري: الطلب وعناصره والخصومات ورسوم الشحن والحالة. PayPal يسجّل حدث الدفع: التحصيل والعمولة والاسترداد والإلغاء أو التحويل. هذان سجلّان مرتبطان، لكنهما ليسا السجل نفسه.

إن كنت تبحث عن صفوف المبيعات غير المطابقة بين ملف Shopify وتصدير PayPal، توقف عن التعامل مع الملفين كأن كل صف يجب أن يكون له نظير في الجهة الأخرى. المطلوب هو إيجاد مفتاح المطابقة الصحيح، وتحويل كلا التصديرين إلى طرق عرض قابلة للمقارنة، والفصل بين المبيعات الغائبة فعلاً وتلك التي يبدو أنها غائبة بسبب فارق التوقيت أو الاسترداد أو التنسيق.

لماذا لا تتطابق الصفوف الخام

معظم الاختلافات الزائفة تنشأ من مقارنة التصديرات الافتراضية كما هي.

Shopify يمكنه توليد عدة صفوف لطلب واحد إن احتوى عدة عناصر. PayPal يمكنه توليد عدة صفوف لنفس البيع، لأن الدفع والعمولة والاسترداد وأي تسوية لاحقة قد تظهر كل منها في صف منفصل. حتى حين يكون الملفان صحيحين، قد يختلف عدد الصفوف فيهما.

ما تراهما يعنيه عادةًلماذا يبدو غير مطابق
طلب Shopify واحد يظهر في ثلاثة صفوفالطلب يحتوي ثلاثة منتجاتShopify يكتب التفاصيل بمستوى العنصر، لا بمستوى الدفع
بيع واحد في PayPal يظهر بصف عمولة وصف استردادPayPal يسجّل أحداث المعاملة على مدى الوقتالمبلغ وعدد الصفوف لم يعودا يطابقان تصدير Shopify
نفس البيع يظهر بتواريخ مختلفةShopify يستخدم وقت الطلب، PayPal يستخدم وقت الدفعالمطابقة بالتاريخ تفشل حتى حين البيع حقيقي
رقم الطلب موجود في Shopify لكن PayPal يعرض معرّف معاملةالنظامان يستخدمان مراجع رئيسية مختلفةالمطابقة الحرفية بالمعرّف تُنتج نتائج سلبية خاطئة

هذه هي المشكلة البنيوية ذاتها التي تفسّر لماذا تتأخر تسوية طلبات Shopify مع مدفوعات Stripe: ملف واحد يصف ما بِيع، والآخر يصف كيف تحرّك المال.

اختَر مفتاح المطابقة قبل أي مقارنة

الصف غير المطابق نادراً ما يعني أن بيعاً مفقود. في الغالب يعني أن المفتاح المختار لا يستطيع ربط النظامين.

ابدأ بأقوى مفتاح متاح، وانزل للتالي فقط إن لم يحتوِه الملف.

الأولويةالحقل في Shopifyالحقل في PayPalمستوى الموثوقية
الأفضلPayment ID أو Payment ReferencesTransaction ID أو مرجع مرتبط بفاتورةأعلى ثقة حين تتطابق القيمة نفسها في الملفين
الثانيرقم الطلب أو اسمه المُنقل إلى حقل ملاحظة أو فاتورةInvoice ID أو حقل مخصص أو نص ملاحظةقوي إن حافظت عملية الدفع أو التصدير على رقم الطلب
البديلالمبلغ الإجمالي والبريد الإلكتروني للعميل والعملة والوقت القريبالمبلغ الإجمالي وبريد الدافع والعملة والوقت القريبمفيد للمراجعة، غير كافٍ للمطابقة التلقائية العمياء

لا تبدأ بالمبلغ وحده. طلبان يمكن أن يتشاركا نفس المبلغ. لا تبدأ بالتاريخ وحده. طلب منتصف الليل ودفع اليوم التالي قد يكونان نفس البيع. لا تبدأ بموقع الصف. ترتيب الصفوف لا يخبرك شيئاً.

السؤال الصحيح ليس «أي عمود يبدو مشابهاً؟». السؤال هو «أي حقل يستطيع إثبات أن هذا البيع في Shopify وهذا الدفع في PayPal هما الحدث التجاري نفسه؟»

أنشئ طريقتَي عرض للمقارنة بدلاً من استخدام الملفين الكاملين

أفضل طريقة هي تحويل كل تصدير إلى طريقة عرض أصغر قبل المطابقة.

لـ Shopify، احتفظ بالحقول التي تعرّف البيع وأزل ضجيج صفوف العناصر. إن ظهر الطلب في عدة صفوف، اختزله إلى سجل واحد بمستوى الطلب قبل المقارنة.

الاحتفاظ به من Shopifyلماذا يهم
Order ID أو Nameالمرجع التجاري اللازم لتتبع الطلب لاحقاً
Created at أو Paid atيتيح مراجعة فوارق التوقيت دون استخدام التاريخ مفتاحاً رئيسياً
Payment Methodيؤكد أنك تقارن فقط المبيعات المدفوعة عبر PayPal
Payment ID أو Payment Referencesأفضل جسر متاح نحو جانب الدفع
الإجمالي والعملة والمبلغ المستردضروري للفصل بين البيع الإجمالي والتخفيضات اللاحقة
البريد الإلكتروني للعميلمفيد للمراجعة الثانوية حين تغيب المعرّفات

لـ PayPal، احتفظ فقط بالصفوف المرتبطة بنشاط المتجر. التصدير الخام قد يشمل أيضاً تحويلات وسحوبات واحتياطيات وتحويلات عملة وأحداث حساب لا صلة لها بالمتجر. هذه لا مكان لها في المقارنة الأولى مع مبيعات المتجر.

الاحتفاظ به من PayPalلماذا يهم
Transaction IDالمرجع الرئيسي من جانب الدفع
التاريخ والوقتضروري لمراجعة فوارق التوقيت
Transaction typeيفصل بين الدفع والاسترداد والإلغاء والعمولة
الإجمالي والعمولة والصافي والعملةيظهر إن تغيّر مبلغ البيع بعد المعالجة
البريد الإلكتروني للعميل أو الدافعمفيد للمطابقة الثانوية
حقول الفاتورة أو المرجع المخصص إن وُجدتفي الغالب الجسر الوحيد نحو رقم طلب Shopify

إن كنت بحاجة إلى تفسير سبب عدم تطابق رصيد PayPal مع ملف آخر، فـتسوية تصدير PayPal الشهري مع كشف الحساب البنكي هو المشكلة المجاورة. لا تخلط تلك التسوية على المستوى البنكي مع هذه التسوية على مستوى الصفوف قبل أن تحدد أي المبيعات تنتمي لبعضها.

الطريقة للوصول سريعاً إلى صفوف المبيعات غير المطابقة

1. حصّر Shopify في المبيعات التي تختبرها فعلاً

صفّ Shopify على الطلبات المدفوعة حيث PayPal هو طريقة الدفع. استثنِ الطلبات التجريبية والطلبات الملغاة التي لم تُحصَّل قط وأي فئة طلبات خارج الفترة التي تسوّيها.

إن كان تصدير Shopify بمستوى العنصر، اجمعه إلى صف واحد لكل طلب قبل المقارنة. جدول التسوية لا يجب أن يحتوي خمسة صفوف لطلب من خمسة عناصر إن كان PayPal يحتوي صفاً واحداً لنفس عملية الشراء.

2. اقسّم تصدير PayPal بحسب نوع المعاملة

لا تقارن كل صفوف PayPal بمبيعات Shopify في ورقة واحدة. افصل:

  1. مدفوعات العملاء المكتملة
  2. الاستردادات والإلغاءات
  3. العمولات والاستقطاعات الأخرى
  4. نشاط الحساب غير المرتبط بالمتجر

الجولة الأولى تقارن مبيعات Shopify بمدفوعات عملاء PayPal المكتملة فقط. الاستردادات في جولة ثانية. العمولات تُفسَّر ولا تُطابَق.

3. ابدأ بجولة المعرّف الحرفي

إن كان Shopify يتضمن Payment ID أو Payment References وتلك القيم موجودة في تصدير PayPal، ابدأ بهذا. هذه الجولة يجب أن تُنتج مجموعة التطابقات الأنظف وتُزيل الضجيج الواضح بسرعة.

حين تعمل المعرّفات الحرفية، سجّل الحالة فوراً:

الحالةالمعنى
مُطابَقنفس المرجع المُثبَت على كلا الجانبين
غائب في PayPalبيع Shopify لا يوجد له سجل بذلك المرجع في جانب الدفع
غائب في Shopifyدفع PayPal موجود لكن لا طلب Shopify يحمل المرجع المرتبط

هذه الجولة هي التي تختفي فيها كثير من الصفوف «غير المطابقة».

4. نفّذ جولة ثانية للصفوف التي لا تشترك في معرّف

بعض توليفات تصدير Shopify وPayPal لا تكشف عن نفس القيمة. هذا لا يعني أن البيع مفقود. يعني أنك بحاجة إلى مفتاح مراجعة.

استخدم مفتاح مراجعة مركّباً مثل:

  • نفس العملة
  • نفس المبلغ الإجمالي
  • نفس نافذة التوقيت أو نافذة قريبة منها
  • نفس البريد الإلكتروني للعميل أو تفاصيل الدافع المعروفة

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

حدّد أولاً الصفوف التي لا يمكن الوثوق بها تلقائياً. احسب كم صفاً في PayPal يتشارك كل مبلغ وتاريخ:

صيغة
=COUNTIFS(PayPal!$D:$D,D2,PayPal!$B:$B,B2)

النتيجة 1 مرشّح آمن. وأي قيمة أكبر من 1 تعني أن المبلغ والتاريخ ليسا فريدين، فأكّد تلك الصفوف بالبريد الإلكتروني أو المرجع قبل وضع علامة مطابق عليها.

5. أخرج الاستردادات من قائمة الصفوف غير المطابقة

الاستردادات تُنشئ بعض أبشع الاستثناءات الزائفة، لأن Shopify قد يعرض الطلب بيعاً مدفوعاً بمبلغ مسترد، بينما يعرض PayPal معاملة استرداد لاحقة بمعرّفها الخاص.

إن بدا صف Shopify غير مطابق، اطرح هذه الأسئلة قبل وضع علامة مفقود:

  • هل استُرد الطلب الأصلي لاحقاً؟
  • هل يعرض PayPal الاسترداد حدثاً منفصلاً خارج صف البيع؟
  • هل وقع الاسترداد في فترة إبلاغ مختلفة؟
  • هل إجمالي Shopify هو الإجمالي الكامل بينما PayPal يعرض فقط حركة الاسترداد؟

إن كانت الإجابة نعم على أي منها، فلا بيع مفقود. هذا تسلسل بيع مع استرداد يحتاج تصنيفاً صحيحاً.

6. راجع الصفوف المتبقية

في هذه المرحلة، الاستثناءات المتبقية عادةً حقيقية ومفيدة. تقع في الغالب ضمن مجموعة صغيرة من الفئات.

ما تعنيه عادةً الصفوف التي ما زالت غير مطابقة

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

الظاهرة المتبقيةالسبب الحقيقيما تفعله بعد ذلك
بيع Shopify بلا دفع في PayPalفشل الدفع أو عدم تحصيل الطلب أو نافذة التصدير خاطئةراجع حالة الطلب وحالة التحصيل وتواريخ الإبلاغ
دفع في PayPal بلا طلب في Shopifyدفع يدوي أو استيراد مكرر أو صف تصدير Shopify مفقودتتبّع بالبريد الإلكتروني والمبلغ والتوقيت؛ تحقق إن كان البيع ينتمي لنظام آخر
نفس العميل ونفس المبلغ، تاريخ مختلففارق توقيت بين إنشاء الطلب واكتمال الدفعضعه في مراجعة فارق التوقيت، لا في المفقودات
المبلغ يختلف قليلاًالشحن أو الضريبة أو الخصم أو معالجة العملة أو استرداد جزئيقارن حقول الإجمالي قبل معالجته كاستثناء
عدة طلبات Shopify تتطابق مع صف PayPal واحددفع مجمّع أو نفس المبلغ متكرر في نفس اليومراجع حقول المرجع قبل وضع علامة مطابق
نفس البيع يظهر مرتين في ملف واحدصف تصدير مكرر أو تكرار في معالجة المعاملةأزل التكرارات قبل الإحصاء النهائي

هنا تتوقف عن السؤال «لماذا لديّ صفوف غير مطابقة؟» وتطرح سؤالاً أفضل: من بين الصفوف غير المطابقة، أيها استثناءات حقيقية وأيها فوارق في نموذج التسجيل بين تصدير الطلبات وتصدير المدفوعات؟

ما يجب أن تنتجه مراجعة الصفوف غير المطابقة

النتيجة يجب أن تكون أكثر من جدول بيانات مُلوَّن. يجب أن تخبرك بما طُوبق وما يحتاج مراجعة وما يستلزم إجراءً.

قسم النتيجةما يجب أن يُظهره
التطابقات الحرفيةمبيعات مرتبطة بثقة عبر مرجع دفع أو معرّف معاملة مشترك
تطابقات تحت المراجعةمبيعات تتفق في المبلغ والعميل والتوقيت لكنها تحتاج تأكيداً بشرياً
صفوف مرتبطة باستردادمبيعات يُفسَّر كونها غير مطابقة بنشاط استرداد لاحق
الاستثناءات الحقيقيةصفوف لا شريك لها بعد جميع الفحوصات
ملاحظات بحسب السببتاريخ خاطئ أو مفتاح خاطئ أو تكرار أو صف تصدير مفقود أو نشاط خارج المتجر

قائمة استثناءات مفيدة قصيرة ومحددة. لكل صف غير محلول، يجب أن تستطيع قول أحد التالي:

  • البيع موجود في Shopify لكنه لم يُحصَّل في PayPal قط
  • الدفع موجود في PayPal لكن تصدير Shopify لا يتضمن الطلب المرتبط
  • السجلان لنفس البيع لكن المفتاح المتاح ضعيف ويحتاج تأكيداً يدوياً
  • الاختلاف ناتج عن استرداد أو إلغاء أو تكرار

هذا هو الفرق بين مقارنة الملفات وبين نتيجة التسوية. المقارنة تخبرك أن الصفوف لا تتطابق. النتيجة الحقيقية تخبرك لماذا.