WHMCS MODULES

WHMCS Cron job not working
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:
*/5 * * * * /usr/bin/php -q /home/username/public_html/billing/crons/cron.php
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:
*/5 * * * * /usr/bin/php -q /path/to/whmcs/crons/cron.php
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.