IOSOR ידע

שורות חיוב מול סטטוס משלוח באותו ledger

קשרו כל חיוב יחידה בתשלום מראש ל-DLR או לתוצאת ערוץ ב-ledger ארנק אחד, כדי ש-finance לעולם לא תראה תג sent ככסף חינם או fail חינם כמחיקה שקטה.

תג sent אינו ארוחת צהריים חינם. ב-prepaid כל billable unit משאירה שורת debit ש-finance מקשרת ל-outcome — DLR: delivered / failed או needs attention — בלי צילומי מסך. סילוס נפרדים לכסף ולמשלוח ממציאים «שליחות חינם» ו-write-off שקט בסגירה.

IOSOR הוא prepaid ב-white-label: ארנק אחד ל-messaging, verification, email, voice ו-intent של מספרי JIT. USD 20 מממן פיילוט שחייב להוכיח כנות ledger; soft review ליד USD 1,000 לחודש רק מגביר רעש של אי-התאמות. שכנים צרים: חשבונאות מקטעי SMS למתמטיקת מקטעים; מדיניות ניסיון חוזר ל-DLR כושל תחת prepaid לתזמון retry. כאן: join של כסף↔outcome בכל הארנק.

Sent אינו אמת כסף חינם

«התקבל ברשת» הוא אירוע מוצר, לא מתנה ליתרה. יחידות settled מציגות סכום, מטבע, ערוץ ו-intent ID. יחידות שאינן billable לא משאירות debit settled — או שיש release/refund מפורש. להתייחס ל-sent כחינם כשהכסף זז זה שקר של finance; להתייחס ל-failed כחינם כש-debit נשאר settled זה השקר ההפוך.

נתיב מאושר: שמירת יתרה מראש לפני החיוב הראשון. נתיב כישלון: כש-hold בתשלום מראש נכשל: החזר אוטומטי ואמת סטטוס. המתאם ביניהם: שורה אחת שעדיין קריאה אחרי פיגור DLR.

שורה אחת צריכה שדות debit + outcome

שורה אחת שניתנת ל-join לכל billable intent:

שדה למה
Intent / correlation ID חיבור ארנק ומוצר
סכום debit + מטבע הוכחה שהכסף זז פעם אחת
ערוץ + סוג unit SMS ≠ voice ≠ יחידות verify
Outcome / סטטוס DLR DLR: delivered / pending
Timestamp של outcome הפיגור נראה; debit שני נחסם
Idempotency key Retries משתמשים שוב בכסף — אידמפוטנטיות, ניסיונות חוזרים וכסף

CSV נפרדים לכסף ול-DLR בלי מפתח משותף כופים join מומצא. עדיף ייצוא אחד עם שניהם.

פיגור DLR וסטטוס בלי חיוב כפול

תוצאות מגיעות מאוחר. Pending אחרי settle נורמלי; charge שני לאותו מפתח לא. Settle פעם אחת תחת ה-hold, עדכנו outcome במקום, אל תפתחו debit מקביל כי DLR התהפך. Retries תחת מפתח אחד: תנועת כסף אחת, מעברי סטטוס רבים.

כש-fail סופי: השאירו debit settled עם outcome failed (ניסיון billable) או release/refund כשלא היה owed — לעולם לא debit settled עם Delivered מזויף. הפיגור שייך ל-timestamps, לא לשורות כפולות.

תוצאות ערוץ אינן ניתנות להחלפה

Messaging DLR ≠ קבלת אימייל ≠ הצלחת verify ≠ חיבור voice. הדבקת «Delivered» לכל ערוץ מסתירה burn ושוברת caps. שמרו אוצר מילים של outcome לפי ערוץ תוך שיתוף עמודות כסף. פירוט מקטעים נשאר במאמר SMS; ייצוא ארנק צריך unit שחויב ו-outcome מקורי לערוץ.

סוף חודש: ייצוא month-end של הארנק ב-02:00 — holds, debits, refunds ו-outcomes בקובץ אחד.

רשימת בדיקה לקונה על כנות ledger

  1. האם finance מקשרת כל debit settled ל-outcome בלי ops?
  2. האם DLR מאוחר מעדכן את אותה שורה במקום debit שני?
  3. האם retries תחת idempotency key אחד money-safe?
  4. האם נתיבי fail עושים release או refund כשלא היה owed?
  5. האם סטטוסי לקוח חופשיים משמות מותג upstream?
  6. האם ההוצאה מוגבלת ב-בקרת הוצאה בתשלום מראש לפני קפיצת נפח?

התחילו עם IOSOR

בחרו יחידת SMS אחת. Hold, סגרו את החיוב מראש, ואז דרשו את ה-DLR הסופי על אותה שורת ledger. ייצאו שורה אחת: סכום חיוב, מצב DLR, חותמות. חיוב בלי DLR — או DLR בלי חיוב — נשאר תקלה. זה כסף מול קבלה בשורה אחת, לא היגיינת CRM ולא מסירת התראה.

סיכום IOSOR

שורת ledger אחת מחזיקה חיוב ו-DLR, אחרת הכספים לא סוגרים את השליחה.

עשו: חברו חיוב ל-DLR הסופי באותה שורה והשאירו שורות ללא זוג פתוחות.

אל: אל תחשבו sent לסגור, ואל תסגרו את החודש מצ׳אט כששורות בלי קבלה.

האם המדריך הזה עזר?

מדריכים קשורים