IOSOR Learn
Debit rows vs delivery status on the same ledger
Correlate each prepaid unit debit with DLR or channel outcome on one wallet ledger so finance never treats a sent badge as free money or a free failure as a silent write-off.
A sent badge is not a free lunch. On prepaid, every billable unit leaves a debit row finance can join to an outcome — delivered, failed, undelivered, accepted, connected, or needs attention — without screenshots. Separate debit and delivery silos invent “free sends” and silent write-offs at close.
IOSOR is white-label prepaid: one wallet across messaging, verification, email, voice, and JIT number intents. USD 20 funds a pilot that must prove ledger honesty; soft review near USD 1,000/month only makes mismatches louder. Narrow siblings: SMS segment accounting for segment math; DLR failed retry policy under prepaid for retry timing. Here: wallet-wide money↔outcome join.
Sent is not free money truth
“Accepted by the network” is a product event, not a balance gift. Settled units show amount, currency, channel, and intent ID. Non-billable units leave no settled debit — or an explicit release/refund. Treating sent as free while money moved is a finance lie; treating failed as free while a debit stayed settled is the opposite.
Happy path: Prepaid hold before first debit. Fail path: Hold fail auto-refund and status truth. Correlation between them: one row that still reads after DLR lag.
One row needs debit + outcome fields
One joinable row per billable intent:
| Field | Why |
|---|---|
| Intent / correlation ID | Join wallet and product |
| Debit amount + currency | Prove money moved once |
| Channel + unit type | SMS ≠ voice ≠ verify units |
| Outcome / DLR status | Delivered, failed, pending, needs attention |
| Outcome timestamp | Lag visible; second debit blocked |
| Idempotency key | Retries reuse money — idempotency, retries, and money |
Separate money and DLR CSVs without a shared key force invented joins. Prefer one export with both.
DLR and status lag without double charge
Outcomes arrive late. Pending after settle is normal; a second charge for the same key is not. Settle once under the hold, update outcome in place, never open a parallel debit because a DLR flipped. Retries under one key show one money move and many status transitions.
When fail is final, keep the settled debit with a failed outcome (billable attempt) or release/refund when never owed — never settled debit with a fake Delivered badge. Lag belongs in timestamps, not duplicate rows.
Channel outcomes are not interchangeable
Messaging DLR ≠ email accept ≠ verify success ≠ voice connect. Copying “Delivered” onto every channel hides burn and breaks caps. Keep outcome vocabularies per channel while sharing money columns. Segment detail stays in the SMS article; wallet export needs charged unit and channel-native outcome.
Buyer checklist for ledger honesty
- Can finance join every settled debit to an outcome without ops?
- Does a late DLR update the same row instead of a second debit?
Start with IOSOR
Pick one SMS unit. Hold, settle the prepaid debit, then require the terminal DLR on that same ledger row. Export one line: debit amount, DLR status, timestamps. A debit without DLR — or a DLR without debit — stays an incident. This is money versus receipt on one row, not CRM hygiene and not an alert handover.
IOSOR takeaway
One ledger row holds debit and DLR, or finance cannot close the send.
Do: join debit to terminal DLR on the same row and keep unmatched rows open.
Don't: treat sent as settled, or close the month from chat while rows lack a receipt.
Was this guide helpful?
Related guides
- Resolving Timing Gaps Between Hold Expiration and Ledger Settlement
Learn how to reconcile unreleased platform authorizations when delivery status webhooks arrive after hold TTLs in your white-label CPaaS ledger.
- Reconciling Stuck Prepaid Holds After Upstream Outages
Step-by-step playbook for auditing and releasing lingering prepaid system holds across all billing channels following platform network incidents.
- Detecting Wallet Spend Velocity Anomalies Before Balance Exhaustion
Learn how IOSOR detects abnormal prepaid spend velocity, halts anomalous automated outbound traffic instantly, and protects funds from sudden drainage.