Learn WHMCS

WHMCS is the top web host billing and support automation tool used by thousands of customers across the globe!

• Last Updated: 05/09/2024
• ( 20 minutes reading )

How to create automations in WHMCS

Introduction

Automations are a crucial part of the WHMCS application. They allow you to perform tasks like suspensions, terminations, and invoice generations automatically and in a specific rotation without worrying about running them yourself. To enable WHMCS to perform automated tasks, you must create cron jobs. Creating these cron jobs is part of the WHMCS installation process, which we have covered in our WHMCS installation section.

 

This tutorial will review the creation process for automated tasks in WHMCS. Let's dive into it!

Getting Started

To access the Automation Settings in WHMCS, please log inside your admin area. After logging in, please move your mouse cursor over the wrench icon on the top right side of the screen. Doing so will inveil a drop-down menu. Please select the "System Settings" option.

 

system-settings

 

After doing that, you will be redirected to the "System Settings" page, where you will see all the available WHMCS settings. After being redirected to the page, you will see the "Automation Settings" option in the middle of the screen. Please click on it.

 

automation-settings

 

Doing so will reveal all the available WHMCS Automation Settings. Please continue reading to learn more about each automation category.

 

Automation Settings Overview

 

On the top of the page, you will notice three status blocks. The first one (starting from left to right) will display the cron status. If cron jobs are correctly configured, the status block will be green. If that is not the case, feel free to contact our technical support team over our ticketing system to assist you. 

 

cron-status-bars

 

The second status block (the one in the middle) will show the last cron job invocation, and the last one (the one on the far right) will display the time of the subsequent daily cron job execution.

 

Scheduling 

 

Next up are the scheduling configurations for the WHMCS automation.

 

  • Time of Day - Please use the drop-down menu here to select which hour you would like WHMCS to perform the daily automation tasks. It is important to note that for this setting to function correctly, you must configure your cron jobs to run at least once per hour. We recommend setting your cron jobs to run once every 5 minutes.

 

Automatic Module Functions

 

The configurations under this category will enable you to set up how the system handles non-payments tasks and tasks related to your customer's products.

 

  • Enable Suspension - Please use this tickbox to enable suspensions when the customer's hosting products are overdue.
  • Suspend Days - Please use this number field to set the days after the due date you want the system to suspend the product.
  • Send Suspension Email - Please use this tickbox to enable the system to send emails once a product suspension occurs.
  • Enable Unsuspension - Please use this tickbox to enable automatic suspensions once payment for a product has been received.
  • Send Unsuspension Email - Please use this checkbox to allow WHMCS to send emails upon successful suspension.
  • Enable Termination - Please use this checkbox to enable account terminations after a product's due date based on the setting below.
  • Termination Days - Please use the number field to set the days after the due date you want the system to terminate the product.

 

automatic-module-functions

 

Billing Settings

 

The configurations under this category will define how WHMCS generates invoices and sends payment reminders to your clients. 

 

  • Invoice Generation - Please use this number field to set the number of days before a product due date in which the system will generate an invoice.
  • Payment Reminder Emails - Please use this tickbox to enable payment reminder emails.
  • Invoice Unpaid Reminder - Please use this number field to set the number of days before the product due date in which you want the system to send reminder emails. If you type in 0, this will disable this option.
  • First Overdue Reminder - Please use this number field to specify the number of days after the product's due date when you want the system to send the First Overdue Reminder. A good setting here would be one day after the due date. If you type in 0, this will disable this option.
  • Second Overdue Reminder - Please use this number field to specify the number of days after the product's due date when you want the system to send the Second Overdue Reminder. If you type in 0, this will disable this option.
  • Third Overdue Reminder -  Please use this number field to specify the number of days after the product's due date when you want the system to send the Third Overdue Reminder. If you type in 0, this will disable this option.
  • Add Late Fee Days - Please use this number field to set the number of days after the product's due date when you want the system to apply a late fee to the invoice.
  • Overage Billing Charges - Please use the radio button under this setting to determine how the system will bill customers overage (if this setting is enabled).
    • Please select the first option to enable the system to calculate and issue an invoice independently from the related product on the month's last day.
    • Please select the second option to enable the system to calculate the invoice but include it in next month's invoice for the product on the last day of the month. For example, if the customer has fees in March 2023, this setting will add these fees to April 2023's invoice.
  • Change Invoice Status - Please use this tickbox to enable payment reversals to change the invoice's status.
  • Change Due Dates - Please use this checkbox to enable payment reversals to change the invoice's next due date.

 

billing-settings

 

Payment Capture Settings

 

Use these configurations under this category to choose how your system charges your customer's payment methods when you use a merchant gateway to handle credit cards and other payments.

 

  • Process Days Before Due - Please use this number field to select the number of days before the due payment when you want the system to attempt to capture the payment for the product.
  • Attempt Only Once - Please use this checkbox only to attempt to capture the payment once. If this fails, the system will not try again.
  • Retry Every Week For - Please use this number field to set the number of weeks you want the system to retry to capture the payment for a specific product.
  • CC Expiry Notices Date - Please use this number field to select the day in a month (15 would mean the 15th of each month) on which you want to send notices to customers that their credit card is about to expire.
  • Do Not Remove CC on Expiry - Please use this tickbox to prevent the system from automatically removing card details from the customer's client area once the credit/debit card expires.

 

payment-capture-settings

 

Currency Auto Update Settings

 

The configurations under this category will allow you to configure your system for multi-currency payments.

 

  • Exchange Rates - Please use this checkbox to enable regular checks with the European Central Bank and sync your system with the latest exchange rates. This option will ensure you are billing your customers accurately. To check which currencies are supported by WHMCS, please check the following link.
  • Product Prices - Please use this tickbox to enable product pricing updates by the system using the current exchange rate on a daily basis.

 

currency-auto-update-settings

 

Domain Reminder Settings

 

Please use the settings under this category to allow WHMCS to send Domain Renewal Notices before and after the expiration period for a domain name. In WHMCS version 8.2, you may decide whether to send renewal notices for free domains combined with a product or service.

 

For details about this functionality, see Free Domains and Domain Renewal Notices.

 

  • First Renewal Notice - Please use the number field and drop-down menu to select the behavior of the first domain renewal notice. The number field will be the number of days, and the drop-down menu will determine whether this notice will occur before or after. Typing 0 in the number field will disable this option.
  • Second Renewal Notice - Please use the number field and drop-down menu to select the behavior of the second domain renewal notice. The number field will be the number of days, and the drop-down menu will determine whether this notice will occur before or after. Typing 0 in the number field will disable this option.
  • Third Renewal Notice - Please use the number field and drop-down menu to select the behavior of the third domain renewal notice. The number field will be the number of days, and the drop-down menu will determine whether this notice will occur before or after. Typing 0 in the number field will disable this option.
  • Fourth Renewal Notice - Please use the number field and drop-down menu to select the behavior of the fourth domain renewal notice. The number field will be the number of days, and the drop-down menu will determine whether this notice will occur before or after. Typing 0 in the number field will disable this option.
  • Fifth Renewal Notice - Please use the number field and drop-down menu to select the behavior of the fifth domain renewal notice. The number field will be the number of days, and the drop-down menu will determine whether this notice will occur before or after. Typing 0 in the number field will disable this option.
  • Free Domain Reminders - Please use this tickbox to enable renewal reminders for free domains linked to a paid product or service. This option is available in WHMCS version 8.2 and higher.

 

domain-reminder-settings

 

Domain Sync Settings

 

Please use the settings under this category to automatically synchronize domain names registered by clients with the domain registrar. This feature helps to reduce the time and effort required to manage domain names and ensures that the domain information in WHMCS is always up to date.

 

  • Domain Sync Enabled - Please use this tickbox to enable the domain sync functionality in WHMCS. This allows it to sync the domain statuses with supported registrars via cron.
  • Sync Next Due Date - Please use this tickbox and the available numbers field to enable/disable WHMCS's synchronization option for the domain's next due date and define how many days in advance it should perform it.
  • Domain Sync Notify Only - Please use this tickbox to enable WHMCS to only notify the administrators about the changes WHMCS would have performed without doing them. This option is useful when troubleshooting an issue related to the domain sync process.
  • Domain Expiry Sync Frequency - Please use this numbers field to set the domain sync frequency. The default 0 value will enable the cron to check once every 4 hours. Specifying 3, for example, will make the cron run once every 3 hours. The lowest available frequency is one hour; you can define it by typing in 1.
  • Pending Transfer Sync Frequency - Please use this numbers field to set the domain transfer sync frequency. The default 0 value will enable the cron to check once every 4 hours. Specifying 2, for example, will make the cron run once every 2 hours. The lowest available frequency is one hour; you can define it by typing in 1.

 

domain-sync-settings

 

Support Ticket Settings

 

Please use the settings under this category to configure the WHMCS automation settings for support tickets. These settings help you simplify your support ticket management process and improve the customer experience. 

 

  • Close Inactive Tickets - Please use this numbers field to set the time (in hours) after which a ticket is closed due to inactivity. A good value here would be 48 to 72 hours, which is a reasonable time before a customer can respond to a ticket. After which, the ticket can be closed due to inactivity. 
  • Prune Ticket Attachments - Please use this drop-down menu to set a period WHMCS will delete ticket attachments after a ticket has been inactive. This setting can be completely disabled, or you can define a period between 1 and 24 months.

 

support-ticket-settings

 

Data Retention Settings

 

Please use the settings under this category to specify the period for which WHMCS will keep different types of data in the system before it automatically deletes them. 

 

  • Automatically Delete Inactive Clients - Please use this radio button to define WHMCS's behavior towards inactive clients. This setting is disabled by default. However, you can use the available numbers field to set the time (in months). WHMCS will delete customer data if there isn't any transaction or invoice history within the defined period. 

 

WARNING: Enabling this and saving the setting will immediately delete all customers who have Inactive or Closed statuses and have no invoice or transaction history. The process will irreversibly wipe all client data.

 

data-retention-settings

 

Miscellaneous

 

Please use the settings under this category section to enable features that can help you automate various aspects of your web hosting business's operations, such as account termination based on their status and log pruning.

 

  • Cancellation Requests - Please use this tickbox to enable WHMCS to terminate accounts whose cancellation requests are due.
  • Update Usage Statistics - Please use this tickbox to enable automatic usage statistics updates for users in the WHMCS backend.
  • Client Status Update - Please use the radio button to select when WHMCS changes the status of a Client Area to Inactive based on the time in which the customer has not submitted a product or had any transaction/invoice history. 
    • Disabled - Please select this option with the radio button to prevent WHMCS from automatically changing the Client Area status.
    • Change client status based on active/inactive products - Please select this option with the radio button to enable WHMCS to change the status automatically if the Client Area has not been used for more than 2 days and has no products or transaction/invoice history.
    • Change client status based on active/inactive products and not logged in for longer than 3 months - Please use this option with the radio button to enable WHMCS to change status automatically if the customer has not logged in to the account for more than 3 months, in addition to the above requirements.
  • Module Log Pruning - Please use the available radio button to set how WHMCS prunes log. The first option is to disable log pruning completely. The second option is to enable log pruning for logs older than the specified period. You can set this by using the numbers field corresponding to this setting. 

 

miscellaneous

 

Once you configure the automation settings based on your preferences, please click the "Save Changes" button at the bottom of the page to save them.

Conclusion

This warps up our overview of the Automation Settings in WHMCS. We hope that the provided information was helpful and you were able to pick the optimal settings based on your needs. If you liked this tutorial, make sure to also check the other tutorials in our WHMCS section!

...
Nikola Zgurev
Technical Support Captain

Nikola is an accomplished tech-savvy extraordinaire with over six years of experience in the web hosting field. He started as a customer care representative and quickly rose the ranks to become a support supervisor and, eventually - the head of the technical department in HostArmada. His deep understanding of the client's needs, combined with his technical knowledge, makes him the perfect man to create the ideal harmony between client satisfaction and professional problem-solving. You will often find him creating helpful tutorials, articles, and blog posts that help existing customers get around.