A grace period is a commercial rule, not a payment status
An invoice can be overdue while the customer still retains service. That is a merchant policy choice.
Keep the commercial timeline separate from provider state so temporary payment uncertainty does not automatically trigger suspension.
Start from the consequence of non-payment
Ask what happens if the invoice remains unpaid after grace:
- Gym: entry may pause.
- SaaS: account may move to read-only or limited mode.
- ISP: service may suspend according to the customer agreement.
- Association: benefits may lapse or move to review.
The more disruptive the consequence, the more carefully the cutoff should handle genuine payment uncertainty.
Use a stable grace timeline
Example for a SaaS invoice:
- Invoice due: 18 November.
- Grace window: 19–22 November.
- Account becomes read-only: 23 November if still unpaid.
A failed attempt on 20 November does not automatically restart the four-day grace window.
Pending and Unknown need a cutoff rule
Suppose a customer starts payment at 21:58 on the last grace day and the callback is late.
A sensible policy can place a short hold on the service action while the transaction is queried. That is not the same as extending the invoice due date.
Make the dates explicit to the customer
A useful message should identify the original due date, the grace-end date and the consequence after that date. Avoid vague phrases such as “pay immediately or lose access” when the merchant actually allows several more days.
Stop scheduled consequences after payment
When the invoice becomes paid, cancel remaining reminders and scheduled service changes. A stale suspension job should not run after a successful payment.
Check external payment before the cutoff
If the merchant still accepts manual PayBill, bank transfer or another route, re-check the invoice before applying a consequence. The service decision should use current billing truth.
Sensitive accounts may need manual review
- Enterprise accounts with negotiated terms.
- Disputed invoices.
- Persistent Unknown payment state.
- Provider-wide outage.
- Care or other services where automatic suspension needs a higher threshold.
Measure whether the grace policy works
- Share of invoices entering grace.
- Share recovered during grace.
- Time from due date to payment.
- Number of suspensions.
- Time from payment to reactivation.
- Manual overrides and complaints.
A grace period should create controlled flexibility, not hide chronic non-payment.
Sources
- Safaricom M-PESA Express Query API: https://developer.safaricom.co.ke/apis/MpesaExpressQuery
- Safaricom Daraja API catalogue: https://developer.safaricom.co.ke/apis



