يمنحك Stripe بيانات payment_intent وcharge_id ومعرّفات التحويل والرسوم والحركات الصافية. يمنحك FreshBooks أرقام الفواتير وأسماء العملاء وتواريخ الدفع والإجماليات والحالات. يمكن لهذين الملفين وصف دفعة العميل نفسها دون أن يشتركا في عمود واحد يصلح للمطابقة المباشرة.
هنا تنهار التسوية على المستشارين الذين يراجعون شهر أحد عملائهم. يقول العميل إن FreshBooks يُظهر الفاتورة مدفوعة. Stripe يؤكد وجود الدفعة. البنك يُظهر إيداعاً صافياً وصل بعد يومين بمبلغ أقل. لا واحدة من هذه التصريحات الثلاثة تثبت أن الفاتورة طُوبقت بصحة.
الحل على مستوى الملفات هو بناء الجسر بنفسك: حدِّد أي سجل Stripe يمثّل الدفعة، وحدِّد أي صف في FreshBooks يمثّل الفاتورة أو الدفعة، قرِّر ما إذا كنت تطابق إجمالي قيمة الفاتورة أو صافي التحويل النقدي، ثم أنتِج قائمة فروقات تشرح كل صف غير مطابق.
تعرّف على نوع ملف Stripe الذي لديك
ملفات Stripe المُصدَّرة قد تبدو متشابهة على الشاشة بينما تُجيب على أسئلة مختلفة. ملف المدفوعات وملف معاملات الرصيد وتقرير التحويلات وملف الرسوم لا تُطابَق مع FreshBooks بالطريقة نفسها.
| ملف Stripe أو عرضه | ما يُظهره | ملف FreshBooks الذي يمكن دعمه |
|---|---|---|
| ملف المدفوعات أو الرسوم | مدفوعات العملاء الفردية قبل تسوية التحويل | دفعات الفواتير أو صفوف الفواتير المدفوعة |
| ملف معاملات الرصيد | المبلغ الإجمالي والرسوم والصافي والمردودات والتعديلات | دفعات الفواتير ومراجعة الرسوم أو التعديلات |
| تقرير تسوية التحويلات | الدفعة التي وصلت للبنك | التسوية البنكية أو النقدية، لا مطابقة الفواتير وحدها |
| ملف الرسوم | صفوف رسوم المعالج | قيد النفقات أو توضيح الإجمالي-الصافي |
| ملف المردودات | نشاط الدفع السالب | الإشعارات الدائنة أو المردودات أو تصحيحات الفواتير |
الملف الخطأ يُنتج إجابة خاطئة. مقارنة إجمالي تحويل Stripe بإجماليات فواتير FreshBooks ستظهر ناقصاً: الرسوم والمردودات وفترات التسوية تقع بين قيمة الفاتورة والنقد. مقارنة ملف مدفوعات Stripe بكشف الحساب البنكي ستظهر زائداً: البنك يستلم صافي التحويل، لا صفوف المدفوعات الإجمالية للعملاء.
لمطابقة فواتير FreshBooks، ابدأ بسجلات مدفوعات Stripe. أضِف بيانات التحويلات والرسوم فقط بعد وضوح المطابقة على مستوى الفاتورة.
هذا التمييز مهم حين تكون بنية العميل التقنية مختلطة. عميل قد يملك اتصالاً بـStripe يعمل. آخر يُصدِّر FreshBooks يدوياً لأن التكامل توقف عن مزامنة مراجع الدفع. لا يزال المستشار بحاجة إلى طبقة تحقق تعمل من الملفات الخام.
اقرأ ملف FreshBooks باعتباره بيانات فوترة، لا بيانات نقدية
ملفات فواتير FreshBooks مبنية حول سجلات الفوترة. حسب التقرير، قد يُظهر CSV تاريخ الإصدار وتاريخ الاستحقاق وتاريخ الدفع واسم العميل ورقم الفاتورة والحالة والإجمالي والرصيد وتفاصيل الدفع. هذه الحقول مفيدة، لكنها لا تجعل الملف دفتراً نقدياً.
ابدأ بالفصل بين صفوف الفواتير وصفوف المدفوعات.
| حقل FreshBooks | كيفية استخدامه في المطابقة |
|---|---|
| رقم الفاتورة | أقوى مرجع في ملف FreshBooks حين تحتويه البيانات الوصفية لـStripe |
| اسم العميل | فحص ثانوي حين لا يوجد رقم فاتورة مشترك |
| تاريخ الفاتورة | سياق فوترة فقط؛ ليس تاريخ المطابقة النقدية |
| تاريخ الدفع | تاريخ مفيد لمطابقة توقيت الدفعة في Stripe |
| إجمالي الفاتورة | المبلغ الإجمالي المتوقع من العميل |
| المبلغ المدفوع | المبلغ للمقارنة بقيمة الدفعة في Stripe |
| الرصيد المستحق | يُشير إلى ما إذا كان الفرق دفعة جزئية |
| الحالة | يُبعد الفواتير المسودة وغير المدفوعة والملغاة عن المطابقة النقدية |
| العملة | مطلوبة قبل مقارنة أي مبالغ |
لا تقارن كل فاتورة في الملف بـStripe. صفِّ الفواتير المدفوعة أو المدفوعة جزئياً أو ذات الصلة بالفترة الزمنية محل المراجعة. الفواتير غير المدفوعة تنتمي إلى الذمم المدينة. ليس لها مكان في مطابقة مدفوعات Stripe إلا إذا كان السؤال هو ما إذا كان FreshBooks قد فاته دفعة.
إذا كان ملف FreshBooks يُقارن أيضاً بنشاط البنك، فالمسار المجاور هو مطابقة ملفات CSV لفواتير FreshBooks مع كشوف الحساب البنكية الشهرية. لمطابقة Stripe-FreshBooks، ابقَ في مستوى أعلى: دفعة الفاتورة مقابل دفعة Stripe.
ابنِ مفتاح المطابقة من أقوى الشواهد المشتركة
أفضل مفتاح مطابقة هو رقم فاتورة مُخزَّن في البيانات الوصفية لـStripe. يحدث هذا حين تُنشأ الدفعة من مسار الفوترة أو حين يمرر العميل رقم الفاتورة إلى Stripe في حقل الوصف أو statement descriptor أو حقل البيانات الوصفية.
حين يوجد، استخدمه أولاً.
| حقل Stripe | حقل FreshBooks | قوة المطابقة |
|---|---|---|
metadata.invoice_number | رقم الفاتورة | قوية |
description يحتوي على رقم الفاتورة | رقم الفاتورة | قوية إذا كان النص متسقاً |
| البريد الإلكتروني للعميل | بريد أو جهة اتصال العميل | مفيد، غير كافٍ وحده |
| اسم العميل | اسم العميل | مفيد، ضعيف مع العملاء المتكررين |
| المبلغ | المبلغ المدفوع | مفيد، ضعيف حين تتكرر المبالغ |
| تاريخ الإنشاء | تاريخ الدفع | مفيد ضمن نافذة تواريخ |
| معرّف الدفعة أو الرسوم | مرجع الدفع | قوي فقط إذا خزّنه FreshBooks |
إذا كان رقم الفاتورة غائباً من Stripe، ابنِ مفتاحاً مركّباً. المفتاح المركّب يجمع حقولاً غير موثوقة منفردةً لكنها تصبح موثوقة معاً.
استخدم هذا الترتيب:
- رقم الفاتورة أو مرجع الدفع، إذا كان موجوداً.
- البريد الإلكتروني للعميل + المبلغ + نافذة التواريخ.
- اسم العميل + المبلغ + نافذة التواريخ.
- المبلغ + نافذة التواريخ + جزء من الوصف.
- المطابقة على المبلغ وحده، كقائمة مرشحين مؤقتة فقط.
المطابقة على المبلغ وحده ليست تسوية مكتملة. عميلان يمكن أن يدفعا 1,500.00 في الأسبوع نفسه. عميل واحد يمكن أن يدفع فاتورتين بالمبلغ ذاته. فاتورة استشارات متكررة يمكن أن تتكرر كل شهر. المبلغ يضيّق المجال؛ لا يثبت المطابقة.
نافذة التواريخ أيضاً تحتاج ضبطاً. طابع الزمن created في Stripe هو لحظة وقوع حدث الدفع. تاريخ الدفع في FreshBooks قد يكون يوم تسجيل الفاتورة كمدفوعة. تاريخ التحويل البنكي يأتي لاحقاً. معاملة الثلاثة كتاريخ واحد يُنشئ فروقات زائفة.
لمطابقة دفعات الفواتير، اسمح بنافذة صغيرة بين تاريخ إنشاء الدفعة في Stripe وتاريخ الدفع في FreshBooks. لعمل التحويل-البنك، استخدم تاريخ التحويل وتاريخ قيد البنك. هما اختباران مختلفان.
نظّم الحقول قبل أن تثق بأي بحث
الخطوة الأولى هي جعل الملفين قابلَين للمقارنة دون تعديل السجلات المصدرية.
أنشئ نسخة عمل أو أعمدة مساعدة لـ:
| الحقل المساعد | ما يُصلحه |
|---|---|
| رقم الفاتورة الموحَّد | يزيل المسافات وفروق حالة الأحرف والبادئات والترقيم |
| اسم العميل الموحَّد | يُقلّل فروق الإملاء وحالة الأحرف |
| البريد الإلكتروني للعميل | يمنح معرّفاً أكثر ثباتاً من اسم العميل |
| المبلغ بالإشارة | يُوحِّد إشارات المدين والدائن بين Stripe وFreshBooks |
| أساس المبلغ | يُصنّف الدفعة الإجمالية والرسوم والمردود والدفعة الجزئية أو صافي التحويل |
| نافذة التواريخ | يمنع الفروقات الزائفة الناتجة عن فوارق يوم أو يومين |
| العملة | يحجب المطابقات العرضية بين عملات مختلفة |
لـرقم الفاتورة الموحَّد، أزِل البادئة حتى يُختزل «INV-1048» في FreshBooks و«Invoice 1048» في وصف Stripe إلى المُعرِّف نفسه:
=TRIM(SUBSTITUTE(UPPER(A2),"INV-",""))العمود A هو حقل رقم الفاتورة أو حقل الوصف في Stripe. لـالمبلغ بالإشارة، حوِّل النص وأزِل اتجاه الإشارة:
=ABS(VALUE(B2))العمود B هو حقل المبلغ. VALUE تحوّل المبالغ النصية؛ ABS تُوحِّد الإشارة حين يُظهر Stripe مدفوعات موجبة وقد يُظهر FreshBooks ائتمانات سالبة.
هنا يفشل البحث العادي في جدول البيانات. يفترض أن مفتاح المطابقة موجود مسبقاً. في هذا المسار، الغالب أنه غير موجود. العمل ليس «ابحث عن العمود المشترك». العمل هو «اجمع ما يكفي من الأدلة لتثبت أن صفّين يمثّلان الدفعة نفسها».
مثلاً:
| حقل Stripe | القيمة |
|---|---|
| charge_id | ch_3R81K2 |
| created | 2026-05-08 22:41:19 UTC |
| customer_email | ops@exampleclient.com |
| description | Payment for Invoice 1048 |
| amount | 2500.00 |
| fee | -76.50 |
| net | 2423.50 |
قد يُظهر FreshBooks:
| حقل FreshBooks | القيمة |
|---|---|
| invoice number | INV-1048 |
| client | Example Client LLC |
| paid date | 2026-05-09 |
| invoice total | 2500.00 |
| paid amount | 2500.00 |
| status | Paid |
هذان الصفّان يتطابقان برقم الفاتورة والمبلغ الإجمالي. لا يتطابقان بالتاريخ الدقيق، ولا بالمبلغ الصافي. مقارنة صافي Stripe بالمبلغ المدفوع في FreshBooks تُنشئ فرقاً زائفاً قدره 76.50. هذا الفرق هو رسوم Stripe، لا دفعة فاتورة مفقودة.
افصل بين مطابقة الفواتير وتفسير التحويلات
Stripe يُضيف طبقة ثانية بعد سداد الفاتورة: التسوية. يمكن أن تتطابق الدفعة مع فاتورة FreshBooks تماماً بينما النقد الواصل للبنك أقل أو متأخر.
أبقِ الطبقات منفصلة:
| الطبقة | مصدر Stripe | مصدر FreshBooks | النتيجة المتوقعة |
|---|---|---|---|
| دفعة الفاتورة | ملف المدفوعات أو الرسوم | الفواتير المدفوعة أو سجلات الدفع | يجب أن يتطابق المبلغ الإجمالي |
| تفسير الرسوم | ملف معاملات الرصيد أو الرسوم | مراجعة قيد النفقات | يجب أن تُفسّر الرسوم فجوة الإجمالي-الصافي |
| المردود أو الائتمان | ملف المردودات أو معاملة الرصيد | إشعار دائن أو مردود أو فاتورة معدَّلة | يجب تصنيف النشاط السالب |
| النقد من التحويل | تقرير التحويلات | كشف الحساب البنكي أو حساب النقد | يجب أن يتطابق صافي التحويل مع البنك |
إذا دفع عميل فاتورة 2,500.00 ببطاقة، قد يُظهر FreshBooks فاتورة مدفوعة بـ2,500.00. Stripe قد يُظهر:
| فئة Stripe | المبلغ |
|---|---|
| الدفعة الإجمالية | 2,500.00 |
| رسوم Stripe | -76.50 |
| الصافي للتحويل | 2,423.50 |
فاتورة FreshBooks ليست ناقصة. الإيداع البنكي صافٍ من الرسوم. هذه مسألة تسوية تحويل أو تسوية بنكية. مطابقة الفاتورة محلولة بالفعل.
هذا هو الفصل ذاته المُستخدم عند مطابقة ملف CSV لتحويل Stripe مع كشف الحساب البنكي: أثبِت أولاً الدفعة أو التحويل الذي تُقارنه، ثم فسِّر المعاملات داخل الحركة النقدية.
عالج الفروقات بالترتيب الصحيح
حين تُزال المطابقات المباشرة، تحتاج الصفوف المتبقية إلى تسميات. لا تتركها بوصفها «غير مطابقة». هذا لا يُفيد العميل بشيء ولا يمنحك أثراً مرجعياً للشهر القادم.
استخدم هذا التسلسل في الفروقات:
رقم الفاتورة موجود في FreshBooks لكنه غائب من Stripe.
تحقّق مما إذا كانت الفاتورة سُدِّدت خارج Stripe، أو سُجِّلت كمدفوعة يدوياً، أو سُدِّدت بتحويل بنكي، أو قادمة من معالج آخر. إذا لم تكن وسيلة الدفع Stripe، أزِلها من مطابقة Stripe وصنِّفها بصورة منفصلة.
دفعة Stripe موجودة لكن لا فاتورة FreshBooks مطابقة.
تحقّق مما إذا كان رقم الفاتورة غائباً من البيانات الوصفية، أو إذا تغيّر اسم العميل، أو إذا كانت الدفعة مقدَّماً، أو إذا أُنشئت الفاتورة بعد الدفعة. إذا لم يوجد أي سجل في FreshBooks، فهذا استثناء محاسبي حقيقي.
العميل والمبلغ ذاتهما، والتاريخ خارج النافذة.
تحقّق من فارق UTC وتعديلات تاريخ الدفع اليدوية وقطع نهاية الشهر. فارق يوم واحد عادةً مسألة توقيت. فجوة أسبوعين تحتاج تفسيراً.
الفاتورة ذاتها، مبلغ مختلف.
ابحث عن دفعة جزئية أو مبلغ زائد أو خصم أو معاملة ضريبية أو تحويل عملة أو رسوم مُخصومة بصورة خاطئة. لا تُجبر إجمالي الفاتورة على مساواة المبلغ المدفوع حين يُظهر FreshBooks رصيداً مستحقاً.
مردود ظاهر في Stripe لكن FreshBooks لا يزال يُظهر الفاتورة كمدفوعة.
تحقّق مما إذا سُجِّل إشعار دائن أو مردود. إذا لم يُسجَّل، فمطابقة الفاتورة غير مكتملة لأن الدفعة عُكست أو خُفِّضت لاحقاً.
مرشحون مكررون يبقون بعد المطابقة.
استخدم رقم الفاتورة أولاً، ثم البريد الإلكتروني، ثم الوصف، ثم تسلسل التواريخ. إذا ظلّ صفّان غير قابلَين للتمييز، اتركهما مفتوحَين كمرشحَين مكررَين بدلاً من اختيار أحدهما بالحدس.
يجب أن تُخبر النتيجة المراجع التالي بما جرى:
| الحالة | المعنى | الإجراء |
|---|---|---|
| مطابق | دفعة Stripe وفاتورة FreshBooks متفقتان في المرجع والمبلغ الإجمالي | لا إجراء |
| فارق تاريخ | الدفعة ذاتها، التاريخ مختلف ضمن النافذة المتوقعة | تسجيل الفارق |
| تفسير رسوم | الإجمالي متفق، صافي Stripe أقل بسبب الرسوم | قيد الرسوم أو التحقق من معالجتها |
| دفعة جزئية | دفعة Stripe تغطي جزءاً فقط من الفاتورة | إبقاء الرصيد مفتوحاً |
| FreshBooks فقط | فاتورة مدفوعة بلا دفعة Stripe | التحقق من وسيلة دفع أخرى أو إدخال يدوي |
| Stripe فقط | دفعة Stripe بلا فاتورة | إيجاد الفاتورة المفقودة أو تصنيف الإيصال |
| مردود مفقود | مردود Stripe بلا إشعار دائن أو مردود في FreshBooks | تسجيل المردود أو التحقيق فيه |
المستشار لا يحتاج في هذه المرحلة إلى كتاب عمل أنيق. يحتاج إلى إجابة قابلة للدفاع: أي الفواتير طُوبقت، وأي مدفوعات Stripe لا فاتورة لها، وأي الفواتير المدفوعة في FreshBooks لم تمر بـStripe، وأي الفروقات تتعلق بالتوقيت أو الرسوم أو المردودات أو الدفعات الجزئية.
مثال عملي
لنفترض أن ملف مدفوعات Stripe يُظهر:
| دفعة Stripe | البريد الإلكتروني | الوصف | تاريخ الإنشاء | الإجمالي | الرسوم | الصافي |
|---|---|---|---|---|---|---|
ch_1001 | ops@northco.test | Invoice 1048 | 2026-05-08 | 2,500.00 | -76.50 | 2,423.50 |
ch_1002 | ap@northco.test | Invoice 1051 | 2026-05-10 | 1,200.00 | -37.20 | 1,162.80 |
ch_1003 | finance@eastco.test | Deposit | 2026-05-12 | 800.00 | -25.10 | 774.90 |
re_2001 | ops@northco.test | Refund INV-1048 | 2026-05-20 | -500.00 | 0.00 | -500.00 |
FreshBooks يُظهر:
| الفاتورة | العميل | تاريخ الدفع | المبلغ المدفوع | الرصيد | الحالة |
|---|---|---|---|---|---|
INV-1048 | North Co | 2026-05-09 | 2,500.00 | 0.00 | Paid |
INV-1051 | North Co | 2026-05-10 | 1,200.00 | 0.00 | Paid |
INV-1059 | East Co | 2026-05-12 | 1,600.00 | 800.00 | Partly paid |
المطابقات هي:
| فاتورة FreshBooks | سجل Stripe | النتيجة | السبب |
|---|---|---|---|
INV-1048 | ch_1001 | مطابق | رقم الفاتورة والعميل والمبلغ الإجمالي متفقة |
INV-1051 | ch_1002 | مطابق | رقم الفاتورة والمبلغ الإجمالي متفقان |
INV-1059 | ch_1003 | دفعة جزئية | دفعة Stripe تغطي 800.00؛ الرصيد في FreshBooks يبقى 800.00 |
مردود INV-1048 | re_2001 | مراجعة | Stripe يُظهر مردوداً لاحقاً؛ FreshBooks يحتاج إشعاراً دائناً أو مردوداً مطابقاً |
المبالغ الصافية لا تساوي مبالغ الفواتير بسبب وجود رسوم Stripe. هذا لا يُلحق ضرراً بمطابقة الفواتير. يُنشئ مهمة ثانية: التحقق من قيد الرسوم ومن أن التحويل يتفق لاحقاً مع البنك.
يجب أن تبدو الملاحظة النهائية هكذا:
| الفئة | العدد | المبلغ |
|---|---|---|
| الفواتير المدفوعة المطابقة | 2 | 3,700.00 |
| الدفعات الجزئية المطابقة | 1 | 800.00 |
| رسوم Stripe للتحقق | 3 | -138.80 |
| المردودات التي تحتاج معالجة في FreshBooks | 1 | -500.00 |
| الفرق غير المفسَّر | 0 | 0.00 |
هذه نتيجة تسوية قابلة للاستخدام. تُخبر العميل بأن سجلات الدفع تتطابق مع الفواتير، وفاتورة واحدة لا تزال مدفوعة جزئياً، والرسوم فحص قيد منفصل، ومردود واحد يحتاج معالجة في FreshBooks.
استخدم طبقة التحقق نفسها الشهر القادم
المسار الدائم لا يرتبط بتنسيق تصدير عميل بعينه. هو تسلسل:
- حدِّد نوع ملف Stripe.
- حدِّد ما إذا كان ملف FreshBooks يُظهر فواتير أو مدفوعات أو كليهما.
- صفِّ FreshBooks على السجلات المدفوعة والمدفوعة جزئياً.
- وحِّد أرقام الفواتير وأسماء العملاء والبريد الإلكتروني والتواريخ والعملات والإشارات.
- طابِق أولاً برقم الفاتورة أو مرجع الدفع.
- طابِق ثانياً بالبريد الإلكتروني والمبلغ ونافذة التواريخ.
- افصل مطابقة إجمالي الفواتير عن رسوم Stripe والنقد من التحويلات.
- سمِّ كل فرق بسببه.
- أنتِج ملخصاً يستطيع مراجع آخر فهمه دون إعادة فتح الملفين.
هكذا يطابق المستشارون المستقلون مدفوعات Stripe مع فواتير FreshBooks دون الاعتماد على ضبط تكامل العميل بصورة صحيحة. يمكن للعميل تغيير أعمدة الملف المُصدَّر. يمكن لـFreshBooks حذف معرّف Stripe. يمكن لـStripe تسوية الدفعة بعد يومين. المسار يصمد لأنه يختبر حدث الأعمال، لا بحثاً هشاً في عمود واحد.
