WHMCS Cron Job Not Working? How to Fix Automation Issues
If your WHMCS cron job is not working, important automation tasks may stop running. This can affect invoices, payment reminders, overdue notices, service suspensions, domain renewals, support notifications, and other scheduled actions.
For hosting companies, IPTV resellers, SaaS platforms, and digital service providers, WHMCS cron automation is very important. If the cron is misconfigured or failing silently, your business may experience missed invoices, delayed renewals, and more manual admin work.
In this guide, we’ll explain how to troubleshoot and fix WHMCS cron job issues step by step.
What Does the WHMCS Cron Job Do?
The WHMCS cron job is responsible for running scheduled automation tasks in the background. It allows WHMCS to perform routine actions without requiring an admin to trigger them manually.
Common WHMCS cron tasks include:
Generating invoices
Sending invoice reminders
Sending overdue notices
Processing service suspensions
Processing service terminations
Sending domain renewal reminders
Running module automation tasks
Updating system activity reports
Sending automation summary emails
If the cron job stops working, these tasks may not run on time.
Common Signs Your WHMCS Cron Is Not Working
WHMCS cron problems are not always obvious immediately. In many cases, you notice the issue only after invoices or reminders are missing.
Common signs include:
Invoices are not generating automatically
Overdue reminders are not being sent
Services are not suspending after non-payment
Automation summary emails are missing
WHMCS admin shows cron warning messages
Domain reminders are not being sent
Module automation tasks are not running
Email notifications are delayed or missing
1. Check the WHMCS Cron Command
The first step is to confirm that the cron command is correct. WHMCS usually provides the recommended cron command inside the admin area.
In WHMCS, check the automation or system health area for the correct command. It usually points to a cron PHP file inside your WHMCS installation.
A typical cron command may look similar to:
Your command may be different depending on your server path, WHMCS directory, PHP path, and hosting control panel.
2. Use the Correct PHP Path
One common reason WHMCS cron jobs fail is an incorrect PHP path. The cron may be trying to use a PHP binary that does not exist or uses the wrong PHP version.
Common PHP paths include:
/usr/bin/php
/usr/local/bin/php
/opt/cpanel/ea-php82/root/usr/bin/php
/opt/plesk/php/8.2/bin/php
If you are unsure, ask your hosting provider or server admin for the correct PHP CLI path.
3. Confirm the Cron File Path
The cron command must point to the correct WHMCS cron file. If WHMCS was moved to another folder, migrated to a new server, or restored from backup, the file path may have changed.
Check that the path points to the correct file location, such as:
/home/username/public_html/billing/crons/cron.php
If the file path is wrong, the cron will not run even if the schedule itself is correct.
4. Check Cron Schedule Frequency
WHMCS recommends running the cron frequently so scheduled tasks can run reliably. Many setups use every 5 minutes.
Example:
If the cron runs too rarely, tasks may be delayed. If it does not run at all, automation will fail completely.
5. Check File Permissions
Incorrect file permissions can stop the cron from running. The server user running the cron must be able to access the WHMCS files and execute PHP.
Check that:
The cron file exists
The file is readable by the cron user
Parent folders are accessible
WHMCS files have correct ownership
Server security rules are not blocking execution
Do not use unsafe permissions like 777 unless a trusted server admin specifically confirms it is required, which is rarely the right solution.
6. Run the Cron Manually for Testing
To identify errors, you can run the cron command manually from SSH. This helps show whether the command works or returns an error.
Example:
/usr/bin/php -q /path/to/whmcs/crons/cron.php
If the command fails, the terminal output may show useful details such as missing files, wrong PHP version, permission issues, or PHP extension problems.
7. Check WHMCS Automation Status
WHMCS usually shows automation status inside the admin area. Check whether the last cron run time is recent.
If WHMCS says the cron has not run recently, the server cron may be missing, disabled, or pointing to the wrong command.
Also check whether daily automation tasks are completing successfully or stopping halfway through.
8. Review Cron Output and Server Logs
Server logs can help identify why a cron job is failing. Depending on your hosting environment, cron errors may be sent by email, stored in system logs, or visible inside the hosting control panel.
Check:
cPanel cron job email output
Server cron logs
PHP error logs
WHMCS activity logs
Hosting control panel logs
If cron output is being emailed, review those messages for errors.
9. Check PHP Version and Extensions
If the command uses the wrong PHP version, WHMCS automation may fail. This often happens after server upgrades or migrations.
Check that the PHP CLI version used by cron is compatible with your WHMCS version and installed modules.
Also confirm important PHP extensions are enabled, such as:
cURL
ionCube Loader
OpenSSL
PDO/MySQL
mbstring
zip
If a required extension is missing from PHP CLI, the website may work in the browser while the cron fails in the background.
10. Check WHMCS Automation Settings
Even if cron is running, automation behavior depends on your WHMCS settings. Review your automation configuration to make sure tasks are enabled and scheduled correctly.
Check settings for:
Invoice generation
Payment reminders
Overdue notices
Service suspension
Service termination
Domain renewal reminders
Automation summary emails
If a specific task is not running, the issue may be the automation setting rather than the cron itself.
11. Check Module-Specific Cron Jobs
Some WHMCS modules use their own cron files in addition to the main WHMCS cron. For example, AI automation, notification modules, sync tools, and some provisioning modules may require separate scheduled tasks.
Check the module documentation or dashboard for custom cron commands.
You can explore automation tools in our WHMCS addon modules and WHMCS OTT modules categories.
12. Confirm Emails Are Working
Cron tasks often trigger emails such as invoices, reminders, and automation reports. If cron runs successfully but emails are not received, your issue may be email delivery rather than cron execution.
Check SMTP settings, email templates, mail logs, SPF, DKIM, and DMARC records if scheduled emails are missing.
For more details, read our guide on email not sending in WHMCS.
Quick Checklist to Fix WHMCS Cron Job Not Working
Check the cron command from WHMCS admin
Confirm the correct PHP CLI path
Confirm the correct cron file path
Set the cron schedule correctly
Check file permissions and ownership
Run the cron manually via SSH
Check WHMCS last cron run status
Review cron output and server logs
Confirm PHP CLI version and extensions
Review WHMCS automation settings
Check module-specific cron jobs
Confirm email delivery is working
Final Thoughts
When the WHMCS cron job is not working, billing and automation can quickly become unreliable. Invoices may not generate, reminders may not send, and service lifecycle actions may stop running.
Start by checking the cron command, PHP path, file path, schedule, permissions, and server logs. Then review WHMCS automation settings and any module-specific cron requirements.
If you need help with WHMCS cron setup, automation troubleshooting, or module configuration, visit our WHMCS services page for professional support.