On this page
The Due Date Notifier sends automatic SMS reminders to customers before their bill payment is due. It removes the need to chase customers manually and reduces late payments by giving them advance notice to pay.
Reminders are managed on the Due Date Reminders page. Each reminder is a small rule that says “on this day of the month, remind every customer whose bill expires on that date.”
How It Works
Each automatic reminder is evaluated once a day by a scheduled task. When a reminder’s Notification Date matches today, the system finds every eligible customer whose bill expiry matches the reminder’s Expiration Date and sends each one an SMS. No manual action is required after setup.
A customer is eligible only when all of the following are true:
- Their package expiry (day) matches the reminder’s Expiration Date.
- Their payment status is billed.
- Their status is active or fup (fair-usage limited).
- They have a valid mobile number.
Creating a Reminder
Open the Due Date Reminders page and add a new reminder. The form has four fields:
| Field | Meaning |
|---|---|
| Last Date of Payment / Expiration Date | The bill-expiry date the reminder targets. Only the day of the month (1–31) is stored, so the rule repeats every month. |
| Notification Date | The day the reminder SMS is sent. Only the day of the month is stored, and it must be on or before the Expiration Date. |
| Send Automatically? | yes lets the daily scheduler send it; no keeps it as a manual reminder you trigger yourself. |
| Text Message | The SMS body, with the variable tokens below. |
Because only the day of the month is kept, a reminder set for expiration day 10 with notification day 7 fires on the 7th of every month for customers whose bill expires on the 10th.
Message Variables
Use these square-bracket tokens in the Text Message; each is replaced per customer at send time:
| Variable | Replaced with |
|---|---|
[AMOUNT] |
Outstanding bill amount |
[CURRENCY] |
Operator currency code |
[PAYMENT_DATE] |
The customer’s bill due date |
[PAYMENT_LINK] |
A personalised payment link |
[COMPANY_NAME] |
Your company name |
[HELPLINE] |
Your support helpline number |
Example message:
Dear customer, [AMOUNT] [CURRENCY] is due by [PAYMENT_DATE]. Pay here: [PAYMENT_LINK] — [COMPANY_NAME], helpline [HELPLINE].
Daily Processing
The scheduler runs the notifier once per day (at 11:15 server time). For each due reminder it collects the eligible customers and hands them off to background jobs for delivery:
- Recipients are dispatched in batches of up to 10 customers per job, so a large customer base is spread across many small jobs instead of one long run.
- Delivery is at-most-once — the queue is designed so a customer is not messaged twice for the same run, even if a job is retried.
- A reminder run stays valid for at most four hours; stale or delayed jobs are skipped rather than sent late.
You do not need to trigger the scheduler manually. To verify it is running, ask your server administrator to confirm the cron task that runs the scheduler is active.
Notes
- Only customers whose expiry matches the reminder’s Expiration Date receive a message on any given day. Others are unaffected.
- SMS credits are consumed for each message sent. Keep your SMS balance topped up to avoid missed reminders.
- The SMS gateway must be configured under Settings → SMS Gateway for delivery to work.
- Reminders are sent over SMS (via your configured SMS gateway).