IOSOR المعرفة

صفوف الخصم مقابل حالة التسليم في نفس الدفتر

اربط كل خصم وحدة مدفوع مسبقاً بـ DLR أو نتيجة القناة في دفتر محفظة واحد حتى لا تعتبر المالية sent مجانياً ولا تخفي فشلاً مجانياً كشطب صامت.

شارة sent ليست غداءً مجانياً. في prepaid، كل وحدة قابلة للفوترة تترك صف خصم يمكن للمالية ربطه بنتيجة — delivered أو failed أو undelivered أو accepted أو connected أو needs attention — دون لقطات شاشة. فصل الخصم عن التسليم يخترع «إرسالات مجانية» وشطباً صامتاً عند الإغلاق.

IOSOR خدمة مسبقة الدفع بعلامة بيضاء: محفظة واحدة لـ messaging وverification وemail وvoice ونوايا أرقام JIT. USD 20 يموّل تجريباً يجب أن يثبت صدق الدفتر؛ المراجعة اللينة قرب USD 1,000 شهرياً تضخم ضجيج عدم التطابق فقط. جيران ضيقون: محاسبة أجزاء الرسالة لرياضيات الأجزاء؛ سياسة إعادة محاولة DLR الفاشل تحت prepaid لتوقيت إعادة المحاولة. هنا: ربط المال↔النتيجة على مستوى المحفظة.

Sent ليست حقيقة مالية مجانية

«قبلتها الشبكة» حدث منتج لا هدية رصيد. الوحدات المسوّاة تُظهر المبلغ والعملة والقناة ومعرّف النية. الوحدات غير القابلة للفوترة لا تترك خصماً مسوّى — أو يوجد release/refund صريح. اعتبار sent مجانياً والمال تحرك كذبة مالية؛ اعتبار failed مجانياً والخصم لا يزال مسوّى الكذبة المعاكسة.

المسار السعيد: حجز الرصيد المدفوع مسبقًا قبل الخصم الأول. مسار الفشل: فشل الحجز المسبق: استرداد تلقائي وحقيقة الحالة. الارتباط بينهما: صف واحد يبقى مقروءاً بعد تأخر DLR.

صف واحد يحتاج حقول الخصم + النتيجة

صف قابل للربط لكل نية قابلة للفوترة:

الحقل لماذا
Intent / correlation ID ربط المحفظة والمنتج
مبلغ الخصم + العملة إثبات حركة مال واحدة
القناة + نوع الوحدة SMS ≠ voice ≠ verify
Outcome / DLR Delivered وfailed وpending وneeds attention
طابع زمن النتيجة التأخر مرئي؛ خصم ثانٍ ممنوع
Idempotency key إعادة المحاولة تعيد استخدام المال — اللادورية وإعادة المحاولة والمال

ملفات CSV منفصلة للمال وDLR بلا مفتاح مشترك تجبر على اختراع join. فضّل تصديراً واحداً بكليهما.

تأخر DLR والحالة بلا شحن مزدوج

النتائج تصل متأخرة. Pending بعد settle طبيعي؛ شحن ثانٍ بنفس المفتاح ليس كذلك. سوِّ مرة تحت الـ hold، حدّث النتيجة في مكانها، ولا تفتح خصماً موازياً لأن DLR انقلب. إعادة المحاولة تحت مفتاح واحد: حركة مال واحدة وانتقالات حالة كثيرة.

عندما يكون الفشل نهائياً، أبقِ الخصم المسوّى مع نتيجة failed (محاولة قابلة للفوترة) أو release/refund إن لم يكن مستحقاً — لا خصم مسوّى مع شارة Delivered مزيفة. التأخر في الطوابع الزمنية لا في الصفوف المكررة.

نتائج القنوات ليست قابلة للتبادل

Messaging DLR ≠ email accept ≠ verify success ≠ voice connect. نسخ «Delivered» على كل القنوات يخفي الحرق ويكسر السقوف. احتفظ بمفردات نتيجة لكل قناة مع أعمدة مال مشتركة. تفاصيل الأجزاء في مقال SMS؛ تصدير المحفظة يحتاج الوحدة المحتسبة ونتيجة أصلية للقناة.

نهاية الشهر: تصدير نهاية شهر المحفظة في الساعة 02:00 — holds وخصوم واستردادات ونتائج في ملف واحد.

قائمة المشتري لصدق الدفتر

  1. هل تربط المالية كل خصم مسوّى بنتيجة دون ops؟
  2. هل يحدّث DLR المتأخر الصف نفسه لا خصماً ثانياً؟
  3. هل إعادة المحاولة تحت مفتاح لادورية واحد آمنة مالياً؟
  4. هل مسارات الفشل تحرّر أو تسترد عندما لم يكن مستحقاً؟
  5. هل حالات العميل خالية من أسماء العلامات upstream؟
  6. هل الإنفاق محدود عبر ضبط الإنفاق المدفوع مسبقاً قبل قفزات الحجم؟

ابدأ مع IOSOR

اختاروا وحدة SMS واحدة. Hold، سوّوا الخصم المدفوع مسبقًا، ثم اطلبوا DLR النهائي على صف الـ ledger ذاته. صدّروا سطرًا واحدًا: مبلغ الخصم، حالة DLR، الطوابع. خصم بلا DLR — أو DLR بلا خصم — يبقى حادثًا. هذا مال مقابل إيصال على صف واحد، لا نظافة CRM ولا تسليم تنبيه.

خلاصة IOSOR

صف ledger واحد يحمل الخصم و DLR وإلا لم تغلق المالية الإرسال.

افعلوا: اربطوا الخصم بـ DLR النهائي على الصف ذاته واتركوا الصفوف غير المطابقة مفتوحة.

لا تفعلوا: عدّ sent مسوّى، أو إغلاق الشهر من الدردشة بينما الصفوف بلا إيصال.

هل كان هذا الدليل مفيداً؟

أدلة ذات صلة