IOSOR Wiedza

Wiersze debit kontra status dostawy w tym samym ledgerze

Powiąż każde prepaid-obciążenie jednostki z DLR lub wynikiem kanału w jednym ledgerze portfela, by finance nigdy nie traktowało sent jako darmowych pieniędzy ani darmowego fail jako cichego odpisu.

Badge sent to nie darmowy obiad. Na prepaid każda billable unit zostawia wiersz debit łączony z delivered, failed, undelivered, accepted, connected lub needs attention — bez zrzutów. Osobne silosy pieniędzy i dostawy wymyślają darmowe wysyłki i ciche write-off.

IOSOR to white-label prepaid: jeden portfel na messaging, verification, email, voice i numery JIT. USD 20 to podłoga pilota; soft review koło USD 1 000/mies. głośniej pokazuje rozjazdy. Sąsiedzi: ewidencja segmentów SMS; polityka ponowień failed DLR na prepaid. Tu: join pieniędzy↔outcome.

Sent nie jest darmową prawdą pieniężną

«Przyjęte przez sieć» to zdarzenie produktu, nie prezent salda. Settled units: kwota, waluta, kanał, intent ID. Niebillable: brak settled debit lub release/refund. Sent jako darmowe przy ruchu pieniędzy to kłamstwo; failed jako darmowe przy settled debit — odwrotnie.

Happy path: rezerwacja środków prepaid przed pierwszym obciążeniem. Fail-path: Gdy prepaid-hold się nie udaje: auto-refund i prawda statusu. Korelacja między nimi: jeden wiersz czytelny po lagu DLR.

Jednemu wierszowi potrzeba pól debit + outcome

Jeden łączalny wiersz na billable intent:

Pole Po co
Intent / correlation ID Join portfela i produktu
Kwota debit + waluta Dowód jednego ruchu pieniędzy
Kanał + typ unit SMS ≠ voice ≠ jednostki verify
Outcome / status DLR Delivered, failed, pending, needs attention
Timestamp outcome Lag widoczny; drugi debit zablokowany
Idempotency key Retry reuse’ują pieniądze — idempotencja, ponowienia i pieniądze

Osobne CSV money i DLR bez wspólnego klucza zmuszają do wymyślania joinów. Lepiej jeden eksport z oboma.

Lag DLR i statusu bez podwójnego charge

Wyniki przychodzą późno. Pending po settle jest normalny; drugi charge dla tego samego klucza — nie. Settle raz pod hold, aktualizuj outcome w miejscu — bez równoległego debit przy flip DLR. Retry pod jednym kluczem: jeden ruch pieniędzy, wiele statusów. Fail finalny: settled debit z failed outcome lub release/refund gdy nie należało — nigdy fałszywy Delivered. Lag w timestampach, nie w duplikatach.

Wyniki kanałów nie są wymienne

Messaging DLR ≠ email accept ≠ sukces verify ≠ voice connect. «Delivered» wszędzie ukrywa burn i łamie caps. Outcome per kanał; wspólne kolumny pieniężne. Eksport: charged unit + native outcome. Koniec miesiąca: Month-end export portfela o 02:00.

Checklist kupującego: uczciwość ledger

  1. Czy finance łączy każdy settled debit z outcome bez ops?
  2. Czy późny DLR aktualizuje ten sam wiersz zamiast drugiego debit?
  3. Czy retry pod jednym idempotency key są money-safe?
  4. Czy fail-pathy robią release lub refund, gdy nigdy nie należało?
  5. Czy statusy klienta są wolne od nazw marek upstream?
  6. Czy spend jest ograniczony przez kontrola wydatków prepaid przed skokiem wolumenu?

Zacznij z IOSOR

Weźcie jedną jednostkę SMS. Hold, rozliczcie przedpłacone obciążenie, potem wymagajcie końcowego DLR na tym samym wierszu ledger. Wyeksportujcie jedną linię: kwota obciążenia, status DLR, stemple. Obciążenie bez DLR — albo DLR bez obciążenia — zostaje incydentem. To pieniądze kontra pokwitowanie w jednym wierszu, nie higiena CRM ani przekaz alertu.

Podsumowanie IOSOR

Jeden wiersz ledger trzyma obciążenie i DLR, inaczej finanse nie zamkną wysyłki.

Róbcie: łączcie obciążenie z końcowym DLR w tym samym wierszu i trzymajcie nieparzyste wiersze otwarte.

Nie róbcie: traktować sent jako rozliczone ani zamykać miesiąca z czatu, gdy wierszom brak pokwitowania.

Czy ten przewodnik był pomocny?

Powiązane przewodniki