Automation Settings
Oct 15, 2026
Settings > Automation Settings controls the daily automation. It only works when the cron job runs.
At the top of the page you find the exact cron command for your server and a checklist that says, honestly, whether the scheduler has ever run, whether it runs often enough and whether the daily task ran today.
What the daily automation does
Once a day, at the Daily Run Time you choose (default 08:00), WHBMP:
- suspends services whose invoice is overdue past the grace period,
- terminates suspended services that are overdue past the termination limit, and services whose cancellation was requested,
- sends payment reminders and up to three overdue notices,
- adds late fees to overdue invoices,
- sends domain renewal reminders,
- sends monthly affiliate reports,
- closes answered tickets after a period of client inactivity and removes old ticket attachments,
- updates client statuses and can delete inactive clients, if you switched those on.
Each item is a real switch: when a setting is off or 0, the matching task does nothing. Reminders are sent once per invoice and stage, so running the automation twice never sends twice.
The settings
| Setting | What it does |
|---|---|
| Daily Run Time | When the daily automation runs. |
| Reminder Before Due Date (days) | When the "invoice due soon" reminder is sent. |
| Overdue Notice #1, #2, #3 (days after due) | When each overdue notice goes out. At most one stage is sent per invoice per run. |
| Apply Late Fee After (days overdue) | When the late fee from General Settings is added. It is added once per invoice, on the price before tax, and taxed. |
| Grace Period Before Suspending (days) | How long an unpaid service keeps running before it is suspended. |
| Days Overdue Before Terminating | When a suspended service is terminated. |
| Status Check Interval (hours) | How often service status is checked. |
| Transfer Check Interval (hours) | How often domain transfers are checked. |
| Auto-Close After Inactivity (hours) | Closes answered tickets the client did not reply to. |
| Attachment Retention | How long ticket attachments are kept. |
| Currency Sync switches | Update exchange rates from a free live source and optionally product prices daily. Choose the Rate Source here. See Currencies. |
Renewal invoices
When Create Renewal Invoices Automatically is on (under Invoicing & Reminders), the daily run creates the renewal invoice of each active service Generate Invoices This Many Days Ahead before its billing period starts, and of each active domain with Auto Renew on that many days before it expires, and emails it to the client. It runs before the reminders and late fees, so they see the new invoices the same day. Set the days to 0 to stop it. It is off until you turn it on.
With One Invoice Per Month on (Settings > General Settings > Invoices), a client's renewals that fall due in the same month are put on one invoice instead of one invoice each (see Renewals).
Renewals can also be made by the client with Renew now during the renewal period (set per billing cycle), or by you from the client's page. See Renewals.
Per-client switches
On a client's profile you can turn Late Fees and Overdue Notices off for that client. The automation respects them. A service can also be exempted from automatic suspension until a date you choose.
Running the automation by hand
php artisan automation:run
The System > Automation Report page shows what the last runs did: click a card to see the records it handled on a day. See System health and logs.
Other scheduled tasks
The same scheduler also handles license checks, update checks, log clean-up, server account sync, affiliate commissions and the queue. They have no settings here. See Setting up the cron job.