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
- האם finance מקשרת כל debit settled ל-outcome בלי ops?
- האם DLR מאוחר מעדכן את אותה שורה במקום debit שני?
- האם retries תחת idempotency key אחד money-safe?
- האם נתיבי fail עושים release או refund כשלא היה owed?
- האם סטטוסי לקוח חופשיים משמות מותג upstream?
- האם ההוצאה מוגבלת ב-בקרת הוצאה בתשלום מראש לפני קפיצת נפח?
התחילו עם IOSOR
בחרו יחידת SMS אחת. Hold, סגרו את החיוב מראש, ואז דרשו את ה-DLR הסופי על אותה שורת ledger. ייצאו שורה אחת: סכום חיוב, מצב DLR, חותמות. חיוב בלי DLR — או DLR בלי חיוב — נשאר תקלה. זה כסף מול קבלה בשורה אחת, לא היגיינת CRM ולא מסירת התראה.
סיכום IOSOR
שורת ledger אחת מחזיקה חיוב ו-DLR, אחרת הכספים לא סוגרים את השליחה.
עשו: חברו חיוב ל-DLR הסופי באותה שורה והשאירו שורות ללא זוג פתוחות.
אל: אל תחשבו sent לסגור, ואל תסגרו את החודש מצ׳אט כששורות בלי קבלה.
האם המדריך הזה עזר?
מדריכים קשורים
- פתרון פערים בזמנים בין פגי תוקף של אישורי Hold והתאמת ספר ראשי
שלוט בהתאמה אסינכרונית כאשר וובהוקס של ספקים מגיעים לאחר פקיעת ה-TTL. מנע סחיפות בספר הראשי, סנכרן החזקות יתרה בשיטת JIT והגן על המרווחים.
- התאמת החזקות מראש תקועות לאחר תקלות תשתית
מדריך שלב אחר שלב לביקורת ושחרור של החזקות מערכת תשלום מראש ברחבי כל ערוצי החיוב לאחר אירועי רשת בפלטפורמה.
- זיהוי חריגות במהירות הוצאות הארנק לפני מיצוי היתרה
למד כיצד IOSOR מזהה מהירות הוצאות תשלום מראש חריגה, עוצר תעבורה יוצאת אוטומטית חריגה באופן מיידי ומגן על כספים מפני ניקוז פתאומי.