تسوية مدفوعات وتقارير شعبة القطاع الخاص
TL; د
التسوية هي الخياطة الآلية اليومية لدفتر الأستاذ والأحداث (auth/capture/refund/payout) مع تقارير PSP/المشتري/البنك. مفتاح النجاح: نموذج بيانات واحد، ومفاتيح مطابقة حتمية، وخصوصية صارمة، ومجموع/FX/تحمل الوقت، وطابور DLQ للحالات المثيرة للجدل، وكتب لعب التصحيح التلقائي. KPI: Recon Mismatch Rate↓، Aging of Unreconciled↓، Auto- match%↑.
1) لماذا وماذا نتحقق
الأهداف: تأكيد الإيرادات والعمولات، والكشف عن الازدواجية/الخسائر، والتسوية الصحيحة حسب الأيام والعملات، والرقابة على رد الأموال إلى المصدر، والامتثال لمراجعة الحسابات/المنظم.
أهداف المصالحة:- الودائع: «auth → capture → settle»
- المبالغ المستردة: كاملة/جزئية، والحالات والمبالغ
- المدفوعات/السحوبات: مدفوعات الطريقة المنتهية ولايتها
- الرسوم والتعديلات: رسوم PSP، مخططات التبادل، التصحيحات
- استرداد التكاليف/النزاعات: ما وراء مبادرتك
- FX/التحويلات: الأسعار والفروق ونقطة التثبيت
2) مصادر البيانات
الأحداث الداخلية: حافلة الأحداث/كافكا، «المدفوعات _ شقة»، «المبالغ المستردة»، «المدفوعات»، دفتر الأستاذ الخاص بك.
تقارير PSP (SFTP/API/webhook distruck):- المعاملات (البيانات التشغيلية)
- المستوطنات/الدفعات
- الرسوم/البيانات
- استرداد التكاليف/المنازعات
- سجلات المدفوعات/OCT/RTP/SEPA
- البيانات المصرفية: CAMT MT940/CSV/ISO20022، رفع الائتمان.
3) مطابقة المفاتيح
شجرة المفتاح ذات الأولوية (نازلة في الدقة):1. provider_txid ↔ provider_txid (معرف PSP فريد)
2. idempotency_key/ merchant_reference (إذا كانت مستقرة في PSP)
3. (المبلغ، العملة، timestamp_bucket، auth_code)
4. الطبقة الغامضة: تحملات ± حسب المجموع/الوقت، BIN/بلد المصدر، عائلة الوضع
التوصيات:- احتفظ بكل من "pay _ id" و "provider _ txid'.
- بالنسبة للاسترداد الجزئي/الاسترداد، أضف "equence _ index" أو "refund _ line _ id'.
- مدفوعات Для - 'payout _ batch _ id + line_id'.
- بالنسبة للعملات الأجنبية - 'exec _ id' (التحويل) ومصدر السعر.
4) نموذج البيانات (طبقة طبيعية)
json
{
"source": "INTERNAL PSP_TX PSP_SETTLEMENT BANK",
"provider": "Acquirer_A",
"payment_id": "pay_123",
"provider_txid": "psp_tx_789",
"kind": "AUTH CAPTURE REFUND PAYOUT FEE SETTLEMENT CHARGEBACK",
"sequence": 0,
"amount": 100. 00,
"currency": "EUR",
"fee_amount": 1. 20,
"fx_rate": 1. 0000,
"fx_src": "PSP ECB BANK",
"status": "APPROVED CAPTURED SUCCESS FAILED SETTLED",
"event_ts": "2025-11-03T12:00:00Z",
"settlement_date": "2025-11-05",
"account": "PSP_MERCHANT_CARD_A",
"matching_keys": {
"provider_txid": "psp_tx_789",
"merchant_ref": "mr_456",
"idem_key": "idem_abc"
},
"hash_row": "sha256(...)"
}
5) عملية المصالحة (ETL/Orchestration)
1. Inster: نأخذ تقارير PSP (SFTP/API)، ونتحقق من صحة المخطط/التوقيعات، باستثناء «الخام».
2. تطبيع: خريطة المجال إلى الشكل الموحد (العملة ISO، الكسور العشرية، المنطقة الزمنية بالتوقيت العالمي المنسق).
3. تطابق: خوارزمية لمطابقة شجرة المفتاح مع التحمل.
4. بعد المباراة: نموذج diff (التناقضات) وإدخالات يومية لدفتر الأستاذ/التصحيحات.
5. التسوية: غرزة «PSP _ SETTLEMENT ↔ BANK» (الأرصدة الدائنة للحساب)، مبعثرة يوميًا/دفعة.
6. التقرير: لوحة المتابعة، التنبيهات ؛ مثير للجدل في DLQ للتحليل اليدوي/إعادة التشغيل التلقائي.
Idempotence: for every file/page - 'infest _ id'. إعادة التحميل لا يغير النتيجة.
6) التسامح والقواعد
الوقت: «± 15 دقيقة» للمعاملات، «يوم ± 1» للتسوية.
المبلغ: '≤ 0. 01 "العملة الأساسية أو" ≤ 10 نقاط أساس "للفروق في العملات الأجنبية/الرسوم.
FX: نسمح بالتباين مع البنك إذا كان مصدر سعر الصرف مختلفًا ؛ إصلاح 'fx _ src'.
جزئي/متعدد: يجب أن يساوي مجموع الخطوط الجزئية/المستردة الرصيد الداخلي.
7) تصنيف Diff
8) دفتر الأستاذ والمحاسبة
التقاط: «حسابات DR Agency/CR Revenue» и «DR Cash (عند التسوية )/CR Accountable»
الرسوم: «رسوم DR/CR Cash أو Payable»
استرداد الأموال: النشر العكسي الجزئي التناسبي
رد التكاليف: حسابات منفصلة واحتياطي للنزاعات
إعادة النظر في العملات الأجنبية: إعادة التقييم اليومية لرصيد AR/cache عند 'fx _ src _ policy'
9) مؤشرات الأداء الرئيسية والأهداف
التطابق التلقائي% = خطوط التطابق التلقائي/جميع الخطوط (95% ≥ الهدف)
معدل عدم التطابق = خطوط diff/جميع الخطوط (≤ 1-2٪)
شيخوخة غير مصالحة: p50/p95 يومًا في DLQ (p95 ≤ 3 أيام)
وقت التسوية: نسبة الدفعات المخيطة ببنك D-day (99٪ ≥)
دقة الرسوم: تناقضات رسوم المزود (≤ 0. 1٪ من معدل الدوران)
حوادث مكررة/يتيمة: تهدف إلى 0
10) شرائح SQL
10. 1 مطابقة provider_txid الأساسية
sql
WITH i AS (
SELECT provider, provider_txid, kind, amount, currency, event_ts
FROM internal_norm
),
p AS (
SELECT provider, provider_txid, kind, amount, currency, event_ts
FROM psp_norm
)
SELECT
COALESCE(i. provider_txid, p. provider_txid) AS txid,
COALESCE(i. provider, p. provider) AS provider,
i.kind AS kind_internal, p. kind AS kind_psp,
i.amount AS amount_internal, p. amount AS amount_psp,
i.currency, p. currency,
CASE
WHEN i.provider_txid IS NULL THEN 'MISSING_INTERNAL'
WHEN p. provider_txid IS NULL THEN 'MISSING_PSP'
WHEN ABS(i. amount - p. amount) > 0. 01 THEN 'AMOUNT_MISMATCH'
ELSE 'MATCHED'
END AS recon_status
FROM i
FULL OUTER JOIN p USING (provider, provider_txid);
10. 2 بنك ↔ التسوية
sql
SELECT s. settlement_date, s. batch_id, s. currency,
s. amount_settled, b. amount_bank,
(b. amount_bank - s. amount_settled) AS diff
FROM psp_settlements s
LEFT JOIN bank_statements b
ON b. value_date = s. settlement_date
AND b. currency = s. currency
AND ABS(b. amount_bank - s. amount_settled) <= 0. 5;
10. 3 شيخوخة DLQ
sql
SELECT diff_type,
COUNT() AS cnt,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY AGE(NOW(), created_at)) AS p50_age,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY AGE(NOW(), created_at)) AS p95_age
FROM recon_dlq
GROUP BY diff_type
ORDER BY cnt DESC;
11) ميزات على القضبان/الحالات
الخرائط: الاختلافات بين «auth» و «capture»، وتعديلات «التسوية المتأخرة»، ورسوم التبادل/الدائرة - خطوط منفصلة.
A2A/Open المصرفية/RTP: تأكيدات فورية، ولكن «عكس» ممكن ؛ تحقق من «المدفوعات» والعائدات.
المحافظ: غالبًا ما تكون «مزود _ تكسيد» مثالية، و «استرداد» سريع ؛ راقب خطوط الرسوم.
القسائم: لا يوجد استرداد متماثل - انعكس بشكل صحيح في السياسة والتقارير.
التشفير: التجزئة على السلسلة ↔ provider_txid; والتأكيد نون ؛ وحساب عمولات الشبكات والحسومات الممكنة ؛ سعر الصرف - وقت التحويل.
12) كتب اللعب التشغيلية
زيادة في MISSING_INTERNAL: التحقق من فقدان خطافات الويب/إعادة التصوير، إعادة الابتلاع، تمكين اقتراع API.
AMOUNT_MISMATCH من ضريبة القيمة المضافة: قارن نموذج التقريب/ضريبة القيمة المضافة/الرسوم، اطلب بيان تصحيح.
التسوية لا ترتبط بالمصرف: تاريخ قيمة الشيك، الرسوم المصرفية، تأخيرات T + N ؛ وضع مؤقتا في «حساب التشويق».
REFUND_OVER الشامل: التوقف الفوري للتجديد التلقائي، تدقيق الخصوصية، التصحيح اليدوي.
FX_DRIFT: إصلاح سياسة مصدر سعر الصرف (ECB/PSP/BANK)، وإعادة حساب الفروق في أسعار الصرف والشراء.
13) المراقبة والسلامة
Idempotence of injestion: 'file _ id + checksum' and download history.
الوصول (RBAC) والتحكم بأربع عيون: للتصحيحات اليدوية/إدخالات اليومية.
مسار التدقيق: جميع المطابقات/الاختلافات/التصحيحات - في سجل غير قابل للتغيير.
جودة البيانات: المخططات، والمجالات الإلزامية، والتحقق من العملة/النطاق.
14) لوحة القيادة والتنبيهات
Widgets: Auto-match٪، معدل عدم التطابق، Aging DLQ، توقيت التسوية، دقة الرسوم، أعلى PSP عن طريق diff، خريطة من نوع diff.
تنبيهات:- «المباراة التلقائية٪ <90٪» حسب المزود/اليوم → P1
- «الشيخوخة p95> 3 أيام» → P2
- «المبلغ _ ارتفاع ميسماتش» → P1
- 'Bank≠Settlement' حسب المبلغ/العملة →
15) حالات الاختبار (UAT/Prod)
1. إعادة تحميل نفس الملف → 0 الآثار الجانبية (الخصوصية).
2. تحسينات جزئية (3 خطوط) → مباريات الكمية، تطابق بالتسلسل.
3. تحويل العملات الأجنبية: تباين أسعار الصرف في التسامح → التطابق الصحيح.
4. تكرار provider_txid في التقرير → التخلص واليقظة.
5. تم التقاط الخطاف المفقود → وسد الاقتراع الفجوة، وتم مواءمة الوضع.
6. دفعة التسوية مع خط الرسوم → التوزيع الصحيح للإيرادات/الرسوم/الصافي.
16) الأخطاء المتكررة وكيفية تجنبها
قارن "محاولة مقابل" القبض "→ حافظ على نفس الدقة.
عدم وجود «موفر _ تكسيد» في سجل → يفقد دقة المباراة.
تجاهل المنطقة الزمنية → يقابلها تواريخ التسوية.
لا يوجد DLQ/retras → التناقضات «الأبدية».
تعديلات يدوية بدون سجل → عدم الاتساق مع مراجعة الحسابات.
التسامح الغامض → إما إعادة المباراة أو «كل شيء في DLQ».
17) قائمة التنفيذ المرجعية
- مخطط التطبيع الموحد ودلائل PSP/الطريقة/الحساب
- رسم خرائط الشجرة الرئيسية (txid → merchant_ref → غامض)
- المبلغ/تحمل الوقت/العملات الأجنبية، سياسة مصدر الدورة
- الابتلاع اللطيف، DLQ، retrai، التنبيهات
- التسوية Settlement↔Bank، سياسة الحساب المعلق
- لوحة المتابعة KPI، التقارير المالية/مراجعة الحسابات
- كتب اللعب و SLA تحلل حالات diff
موجز
التوفيق هو نظام هندسي: التطبيع، المفاتيح الموثوقة، التسامح، التطابق التلقائي والتصحيحات الشفافة. باستخدام مثل هذا المحيط، تقوم بتثبيت الإيرادات والعمولات، وتقليل «الثقوب السوداء»، وتسريع إغلاق الفترة، ويتم تدقيقها دون ألم: Auto- match%↑، Mismatch↓، Aging↓.