The three rituals
Every manually-run ISP has the same month-end: someone builds the list of who's expiring, someone disconnects the non-payers, and someone reconnects them as payments trickle in — at all hours, because M-Pesa doesn't sleep. Three rituals, each an error class of its own: the missed disconnection that gives away free months, the wrongful one that burns goodwill, the slow reconnection that generates the angriest call in the business.
What the loop looks like automated
On CoreSync these aren't jobs anyone runs — they're consequences of billing state. Expiry suspends the RADIUS session itself. The M-Pesa callback that pays the account restores it, in seconds, at any hour. The reminder cadence fires around it. Nobody builds a list; the list is the system's own state.
Not three jobs done faster — three jobs that stop existing.
What stays human, on purpose
Automation should stop where judgment starts. Keep humans on:
- The unmatched-payments queue — rare, but each one is real money needing a decision
- Grace and hardship decisions — the platform enforces policy; choosing mercy is yours
- Plan design and price changes — the engine executes them instantly, which is exactly why a human should set them deliberately
Trusting it: the audit trail
Delegating enforcement to a machine requires being able to check its work. Every suspension and restoration traces to the billing state and payment that caused it, and every invoice line carries its arithmetic. The first month, audit daily; the second, weekly. After that, the ritual you keep is reading one report with coffee — which is what month-end was supposed to be.