ملف Stripe يحمل الحقل transaction_id. ملف CSV من Xero يحمل الحقل Reference. كلاهما يمكن أن يشير إلى الدفعة نفسها، لكن Excel لن يعرف ذلك ما لم تبنِ المطابقة بنفسك.

من هنا تبدأ التسوية عادةً في الانهيار.

المحاسب المستقل نادراً ما يعمل بإعداد موحّد من Stripe إلى Xero لجميع عملائه. عميل يُصدّر معاملات رصيد Stripe. آخر يُرسل معاملات حساب Xero. ثالث يعطيك كشف حساب بنكي وتقرير دفعات Stripe وتصدير يومية يدوية من Xero بفترات زمنية مختلفة. الصعوبة ليست في تعقيد Stripe أو Xero. الصعوبة في أن هيكل الملفات يتغيّر من عميل إلى آخر.

الحل ليس في إجبار كل عميل على نفس جدول البيانات الرئيسي. الحل في بناء سير عمل قائم على الملفات يتحمّل عناوين أعمدة مختلفة، وحقول تواريخ مختلفة، وإشارات مبالغ مختلفة، وأعمدة مراجع مختلفة.

ما يعرضه الملفان فعلاً

Stripe وXero لا يُصدران الصورة نفسها للمعاملة.

Stripe يعرض عادةً نشاط المدفوعات. قد يحتوي الملف على تحصيلات واستردادات ورسوم ونزاعات وحركات رصيد ومعرّفات دفعات ومبالغ صافية، وذلك حسب نوع التصدير. Xero يعرض عادةً القيود المحاسبية. قد يحتوي ملف CSV من Xero على معاملات بنكية ومدفوعات فواتير وسطور يومية ورموز حسابات وأسماء جهات اتصال ومراجع وحالة تسوية.

يعني ذلك أن الملفين يصفان الحدث النقدي ذاته من زاويتين مختلفتين.

حقل Stripeحقل Xero الذي قد يحمل المطابقةما الذي يمكن أن يخطأ
transaction_idReferenceقد يخزّن Xero معرّف Stripe داخل حقل نصي أطول
payout_idDescription أو مرجع كشف الحسابقد لا يكون معرّف الدفعة مسجّلاً في Xero
createdDateقد يكون توقيت Stripe بـ UTC بينما يستخدم Xero تاريخ القيد المحلي
available_onDate أو التاريخ البنكيقد يختلف تاريخ توفّر الدفعة عن تاريخ الترحيل المحاسبي
grossAmountقد يسجّل Xero المبلغ الصافي المستلم بدلاً من الإجمالي
feeسطر مصروف الرسومقد تكون الرسوم غائبة أو مُرحَّلة ضمن دفعة شهرية
netالمبلغ المستلم في البنكالصافي قد يطابق البنك بينما الإجمالي لا يطابق المبيعات

إن طابقت زوج الأعمدة الخاطئ، بدت السجلات الصحيحة مفقودة.

مثال: تحصيل في Stripe قد يحمل القيم الآتية:

حقل Stripeالقيمة
transaction_idch_3P9K2L
created2026-05-30 23:42:11 UTC
gross400.00
fee-12.20
net387.80
payout_idpo_1AB982

وقد يُظهر تصدير Xero:

حقل Xeroالقيمة
Date2026-05-31
Referencech_3P9K2L
DescriptionStripe payment - Customer A
Amount400.00
AccountSales

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

هذا الاختيار هو التسوية.

حدّد نوع تصدير Stripe الذي تُسوّيه

لا تبدأ بفتح الملفين والبحث عن المجموع نفسه. حدّد أولاً ما يمثّله ملف Stripe.

تصدير المعاملات وتقرير تسوية الدفعات وتصدير معاملات الرصيد وتصدير الرسوم — كل منها يجيب على سؤال مختلف.

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

هذه الخطوة تمنع أشيع خطأ في التسوية: مقارنة إجمالي تحصيلات Stripe بالمقبوضات البنكية في Xero.

الرقمان ليسا متساويين بطبيعتهما.

إجمالي تحصيلات Stripe يأتي قبل خصم الرسوم والاستردادات والنزاعات وتوقيت الدفعة. المقبوضات البنكية في Xero قد تعكس فقط النقد الفعلي الواصل. إن كان العميل يسجّل نشاط Stripe صافياً، فإن سطر البنك في Xero سيكون أقل من الإجمالي في Stripe. هذا لا يعني خطأً بالضرورة. يعني أنك بحاجة لشرح الجسر من الإجمالي إلى الصافي.

لسير عمل أعمق على مستوى الدفعات، طبّق المنطق نفسه الوارد في مطابقة ملف CSV لدفعة Stripe مع كشف الحساب البنكي: ابدأ من الإيداع البنكي، حدّد الدفعة، ثم فكّك المعاملات التي تتضمّنها.

أنشئ مفتاح المطابقة قبل تشغيل المعادلات

مفتاح المطابقة هو الحقل الذي يُثبت أن سطرين يمثّلان الحدث ذاته.

في Stripe وXero، أفضل مفتاح عادةً هو معرّف معاملة Stripe، إن كان Xero قد استوعبه. قد يظهر في Xero كـ Reference أو Invoice Number أو Description أو Payment Reference، أو في ملاحظة أُدخلت يدوياً.

إن لم يحتوِ Xero على معرّف معاملة Stripe، استخدم مفتاحاً مركّباً. المفتاح المركّب يجمع حقولاً ضعيفة بمفردها لكنها قوية معاً.

تشكيلات مفيدة:

المفتاح المركّبمتى يصلح
المبلغ + العميل/جهة الاتصال + نافذة التاريخمطابقة مدفوعات عملاء فرديين
معرّف الدفعة + المبلغ الصافيمطابقة إيداعات الدفعات
رقم الفاتورة + المبلغ الإجماليمطابقة مدفوعات Stripe بمقبوضات فواتير Xero
مرجع الطلب + المبلغمطابقة مدفوعات التجارة الإلكترونية المسجّلة في Xero
نافذة التاريخ + المبلغ + جزء من الوصفمطابقة سطور التغذية البنكية الخالية من معرّف المعاملة

نافذة التاريخ مهمة لأن تواريخ Stripe وXero كثيراً ما تختلف. دفعة مسجَّلة في وقت متأخر من الليل بتوقيت UTC قد تظهر في اليوم التالي في Xero. قد تضم دفعة واحدة مدفوعات من أيام متعددة. قد يُسجَّل الإيداع البنكي بعد أن يُعلن Stripe توفّر الدفعة.

لا تستخدم المطابقة الدقيقة بالتاريخ ما لم تتأكد أن كلا الملفين يعملان بالأساس الزمني ذاته.

لسير العمل هذا، أنشئ أربعة حقول مساعدة قبل أي مقارنة:

الحقل المساعدالغرض
المرجع الموحّديحذف المسافات وفوارق الأحرف والنص الزائد حول المعرّف
نافذة التاريختُتيح هامش يوم إلى ثلاثة أيام حيث يختلف توقيت الدفعة أو المنطقة الزمنية
المبلغ بإشارتهيجعل إشارتَي المدين والدائن قابلتَيْن للمقارنة
أساس المبلغيصنّف المبلغ كإجمالي أو رسوم أو صافٍ أو استرداد أو تسوية

للحقل المرجع الموحّد، المعادلة الأساسية هي:

صيغة
=TRIM(SUBSTITUTE(UPPER(A2),CHAR(160)," "))

العمود A هو حقل المرجع: معرّف معاملة Stripe أو معرّف الدفعة أو رقم الفاتورة. TRIM يُزيل المسافات العادية؛ CHAR(160) يغطّي مسافة عدم الانقطاع التي يُصدّرها Xero أحياناً. إن ظهر معرّف Stripe داخل وصف أطول مثل "Payment ch_3P9K2L for client"، استخرجه بـ MID قبل التوحيد. للحقل المبلغ بإشارته، استخدم ABS(VALUE(B2)) حيث العمود B هو المبلغ: VALUE يحوّل المبالغ النصية إلى أرقام، وABS يُزيل فارق الإشارة.

هنا حيث يفشل VLOOKUP مع TRIM كثيراً. TRIM يعالج المسافات. لكنه لا يحل المشكلة الأعمق: الملفان قد لا يخزّنان الحدث التجاري ذاته في العمود نفسه، ولا بالتاريخ نفسه، ولا بالأساس نفسه للمبلغ.

افصل الإجمالي والرسوم والاستردادات والصافي قبل مقارنة المجاميع

تسوية Stripe مع Xero لا تبدأ بمجموع واحد ومعادلة واحدة. تحتاج إلى جسر.

استخدم هذا الهيكل:

طبقة التسويةالمصدر في Stripeالمصدر في Xeroالنتيجة المتوقعة
المبيعات الإجماليةالتحصيلات أو المدفوعاتالمبيعات أو مقبوضات الفواتيريجب أن تتطابق بعد فوارق التواريخ
الرسومعمود الرسوم أو تصدير الرسوم من Stripeحساب مصروف رسوم المعالجةيجب أن تتطابق أو تُدرج كغائبة
الاسترداداتسطور الاستردادالاستردادات أو الإشعارات الدائنة أو التسوياتيجب أن تتطابق بالمرجع أو المبلغ
النزاعاتسطور النزاعاتقيود رد المبالغ القسري أو التسوياتيجب تسجيلها بشكل منفصل
الدفعة الصافيةتقرير الدفعاتالحساب البنكي في Xero أو ملف CSV بنكييجب أن تطابق النقد المودَع

هذا الهيكل يمنع انهيار التسوية في فرق واحد بلا تفسير.

افترض أن Stripe يُظهر:

فئة Stripeالمبلغ
إجمالي التحصيلات8,000.00
الرسوم-248.00
الاستردادات-300.00
الدفعة الصافية7,452.00

وXero يُظهر:

فئة Xeroالمبلغ
مقبوضات المبيعات8,000.00
رسوم Stripe المسجّلة-248.00
الاستردادات المسجّلة0.00
المقبوض البنكي7,452.00

المقبوض البنكي صحيح. المبيعات صحيحة. الرسوم صحيحة. العنصر المفقود هو قيد الاسترداد.

إن بدأت من "Stripe لا يطابق Xero"، ليس لديك جواب. إن فصلت الطبقات، الجواب دقيق: استرداد موجود في Stripe لم يُسجَّل في Xero.

هذا هو المخرج الذي يستطيع العميل التصرف بناءً عليه.

عالج ملف CSV من Xero قبل أن يُفسد المطابقة

تصدير Xero يتغيّر بحسب التقرير ونطاق التاريخ والحساب والأعمدة المختارة. هذا يُشكّل مشكلة: معادلة بُنيت لتصدير معيّن قد تشير بصمت إلى العمود الخاطئ في التصدير التالي.

قبل المطابقة، تحقّق من هذه النقاط:

التحققلماذا يهم
عناوين الأعمدةReference وDescription وInvoice Number يمكن أن تحمل قيم مطابقة مختلفة
تنسيق التاريخXero قد يُصدر تواريخ محلية بينما Stripe يستخدم حقول UTC مع طابع زمني
إشارات المبالغالمقبوضات والمدفوعات قد تُصدَّر موجبة أو سالبة حسب التقرير
مرشّح الحسابتصدير الحساب البنكي لن يحتوي على جميع قيود الرسوم أو الاستردادات
حالة التسويةسطور Xero غير المسوَّاة قد تكون مدفوعات صحيحة لا تزال تنتظر المطابقة البنكية
التعديلات اليدويةالمراجع التي أضافها العميل قد تكون غير متسقة من شهر إلى آخر

إن كان ملف Xero تصدير حساب بنكي، طابقه مع دفعات Stripe أو النشاط الصافي الموجَّه للبنك. إن كان تصدير مدفوعات فواتير، طابقه مع التحصيلات أو سجلات الدفع في Stripe. إن كان تصدير دفتر الأستاذ العام، افصل رموز الحسابات أولاً حتى لا تقع المبيعات والرسوم والاستردادات والمقبوضات البنكية في نفس المقارنة.

نوع الملف هو الذي يحدد منطق المطابقة.

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

لمزيد من التفاصيل حول هذه المشكلة في التصدير، اقرأ كيف تختلف تصديرات كشف الحساب البنكي من Xero عن ملفات CSV البنكية الخام.

استخدم سير عمل قابلاً للتكرار مع كل عميل

للمحاسب المستقل، السؤال العملي ليس "هل أستطيع تسوية هذا الملف من Stripe مع هذا CSV من Xero؟"

السؤال العملي هو هل تصمد هذه العملية مع العميل التالي.

اتّبع التسلسل ذاته في كل مرة، حتى حين تتغيّر الأعمدة:

  1. حدّد نوع تصدير Stripe.
  2. حدّد نوع تصدير Xero.
  3. حدّد أساس المبلغ: إجمالي أو رسوم أو استرداد أو نزاع أو صافٍ.
  4. اختر أقوى مفتاح مطابقة متاح.
  5. وحّد المراجع وإشارات المبالغ.
  6. أتِح نافذة تاريخ حيث يختلف توقيت الدفعة أو المنطقة الزمنية.
  7. طابق المراجع الدقيقة أولاً.
  8. طابق المفاتيح المركّبة ثانياً.
  9. افصل فوارق التواريخ المتوقعة عن السجلات الفعلاً الغائبة.
  10. أنتج قائمة استثناءات تُبيّن سبب فشل كل سطر.

قائمة الاستثناءات هي الجزء الأهم.

يجب ألا تقول:

المخرج السيئلماذا يفشل
غير مسوَّىلا يعطي أي سبب
فرقلا يوضّح إن كان المبلغ أو التاريخ أو المرجع هو المشكلة
راجع يدوياًيُعيد العمل إلى المحاسب

يجب أن تقول:

المخرج الأفضلماذا يخبرك
استرداد Stripe غائب من Xeroسجّل الاسترداد أو حقّق منه
مقبوض Xero بلا معرّف معاملة Stripeتحقّق هل سُدّد خارج Stripe
نفس المرجع، مبلغ مختلفراجع معالجة الرسوم أو الدفع الجزئي
نفس المبلغ، تاريخ خارج النافذةتحقّق من توقيت الدفعة أو تاريخ القيد
دفعة Stripe تطابق البنك لكن الرسوم غائبةسجّل رسوم المعالجة بشكل منفصل

هذا هو الفرق بين جدول بيانات يُلوّن الخلايا وتقرير تسوية يُغلق السؤال.

ما يجب أن يُظهره تقرير التسوية الصحيح

التقرير النهائي يجب أن يُثبت ثلاثة أشياء.

أولاً، النقد مُفسَّر. دفعة Stripe أو النشاط الصافي يجب أن يتطابق مع الحساب البنكي في Xero أو القيد الموجَّه للبنك.

ثانياً، الإيرادات مُفسَّرة. إجمالي تحصيلات Stripe يجب أن يتطابق مع المبيعات أو مقبوضات الفواتير في Xero بعد فوارق التواريخ.

ثالثاً، الفوارق مُصنَّفة. الرسوم والاستردادات والنزاعات وفوارق التواريخ والقيود الغائبة من Xero والمراجع الغائبة من Stripe يجب ألا تقع في سلة واحدة غير مشروحة.

تقرير مفيد يبدو هكذا:

القسمما يحتويه
الملخّصإجمالي Stripe وإجمالي Xero والفرق المُفسَّر والفرق غير المُفسَّر
السطور المسوَّاةالسجلات المتطابقة بالمرجع والمبلغ ونافذة التاريخ المقبولة
فوارق التواريخنفس المعاملة، فارق توقيت مقبول
فوارق المبالغنفس المعاملة، المبلغ لا يتطابق
غائب من Xeroسجلات Stripe غير موجودة في ملف CSV من Xero
غائب من Stripeسجلات Xero غير موجودة في تصدير Stripe
جسر الرسوم والاستردادات والنزاعاتالتخفيضات المتوقعة من الإجمالي إلى الصافي
قائمة الإجراءات للعميلقيود تحتاج تسجيلاً أو تصحيحاً أو تأكيداً

إن لم يستطع التقرير توضيح سبب الفرق، فالتسوية لم تكتمل. العميل لا يحتاج جدول بيانات مُلوَّناً. يحتاج أن يعرف هل الدفاتر خاطئة، أو توقيت Stripe مختلف، أو سجل ما غائب.

أين يفشل الإجراء عادةً

معظم تسويات Stripe مع Xero تفشل في أحد خمسة مواضع.

مقارنة الإجمالي الخاطئ من Stripe بالإجمالي الخاطئ من Xero. تُقارَن التحصيلات الإجمالية بالمقبوضات البنكية، أو تُقارَن الدفعات بالمبيعات. الأرقام تختلف لأنها تمثّل مراحل مختلفة من تدفق الدفع.

مفتاح المطابقة مُخبَّأ داخل حقل الوصف. قد يتضمّن Xero معرّف Stripe، لكن ليس في عمود مرجعي نظيف. إن قرأت المعادلة Reference فقط، ستفشل تطابقات صحيحة.

التواريخ تُعامَل كقيم دقيقة رغم أنها حقول توقيت. وقت معاملة Stripe وتاريخ توفّرها وتاريخ الدفعة والتاريخ البنكي وتاريخ القيد في Xero ليست قيماً متبادلة.

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

العملية مبنية على هيكل ملف عميل واحد. نسخ معادلة الشهر الماضي إلى مصنّف عميل جديد يفترض عناوين ومراجع وإشارات متطابقة. هذا الافتراض يخطئ كثيراً.

الحل ليس معادلة بحث أفضل. الحل سير عمل يُسمّي نوع الملف ويُسمّي أساس المبلغ وينتج قائمة استثناءات مُصنَّفة.

الطريقة الصحيحة لتسوية بيانات Stripe مع تصديرات CSV من Xero هي التوقف عن معاملة الملفين كنسختين من الجدول نفسه. ليسا كذلك. Stripe يعرض حركة المدفوعات. Xero يعرض القيود المحاسبية. التسوية تنجح حين تحدّد الجسر بينهما، وتُطابق بالمفتاح الصحيح، وتُفسّر كل فرق في تقرير يستطيع العميل العمل به.