Automation Settings

WHMCS’s automation settings allow you to configure all of WHMCS’s automated processes. This includes suspensions, unsuspensions, terminations, how far in advance the system generates invoices, and when the system sends overdue notices.

The system cron performs these tasks. You must correctly configure it to run at least every 5 minutes for automation to function successfully.

You can access this feature at Configuration () > System Settings > Automation Settings.

Scheduling

The Scheduling section determines the schedule on which the system runs daily automation tasks.

The Scheduling section in Automation Settings

You can configure the following settings:

SettingDescription
Time of DaySelect the hour in which you’d like WHMCS to perform all daily automation tasks. To function properly, this setting depends on configuring your cron job to run at least once every hour. We recommend setting it to run every 5 minutes to allow other system processes, such as checking for updates, to occur.
By default, WHMCS runs invoicing and other automated tasks at 9:00am local server time.

Automatic Module Functions

The settings in the Automatic Module Functions section determine how WHMCS handles nonpayment for your customers’ services.

The Automatic Module Functions section in Automation Settings

You can configure the following settings:

SettingDescription
Enable SuspensionSelect this to enable automatic suspensions when payments for services are overdue. The setting below (Suspend Days) controls the amount of time between your customer becoming overdue and when the system suspends them.
Suspend DaysIf you enabled Enable Suspension (above), enter the desired number of days between a customer’s service becoming overdue and the system suspending them.
Enable UnsuspensionSelect this to enable automatic unsuspensions. When customers pay the overdue invoice for services that the system previously suspended due to nonpayment, the system will automatically unsuspend them.
If you suspended services manually and assigned a custom reason for suspension, then an automatic reactivation will not occur. For example, the system would not automatically unsuspend a service that you manually suspended with a reason of Broken Terms of Service or Awaiting ID Verification.
Enable TerminationSelect this to terminate the client’s service (remove it from the server) according to the setting below (Termination Days).
Termination DaysIf you enabled Enable Termination (above), enter the desired number of days between a customer’s service becoming overdue and the system terminating the service.

Billing Settings

The settings in the Billing Settings section determine how the system generates invoices and sends payment reminders to your customers.

The Billing Settings section in Automation Settings](

Setting a reminder email setting to 0 will prevent the system from sending the related emails.

You can configure the following settings:

SettingDescription
Invoice GenerationEnter the number of days before the system will generate due date invoices. For example, if this setting is 7, the system will generate an invoice seven days before the due date for services, addons, and domains. By default, the system generates invoices 14 days before the Next Due Date value.
Advanced SettingsClick Advanced Settings next to Invoice Generation to view additional settings:
Advanced Settings for Invoice Generation in Automation Settings
You can specify the following additional invoice generation settings:
  • For Per Billing Cycle Settings, enter a different setting for each billing cycle. For example, you may want the system to generate invoices for monthly services seven days in advance and generate invoices for annual services 14 days in advance.
  • For Domain Settings, enter the number of days in advance to generate domain renewal invoices. You can use this if you want to give a longer time between invoice generation and the due date for domain invoices. This is particularly useful when you don’t accept payments online and more time might be necessary to avoid domain expiration.
    Leave this setting blank if you want the system to generate all invoices at the same time.
Payment Reminder EmailsSelect this to send email reminders to customers in advance of an unpaid invoice’s due date. Then, set the number of days in advance in Invoice Unpaid Reminder (below).
This setting does not apply to overdue reminders.
Invoice Unpaid ReminderEnter the number of days before the due date to send unpaid invoice reminder emails.
Overdue ReminderEnter the number of days after the due date on which to send invoice reminder emails for overdue invoices. You can set up to three of these emails.
Add Late Fee DaysIf a customer hasn’t paid an invoice that is this number of days overdue, the system will charge your customer late fees (according to your choices in the Invoices tab at Configuration () > System Settings > General Settings.
Overage Billing ChargesSelect the method to use to bill clients for overage (if you enabled this). You can choose to use either of the following methods:
  • Calculate the bandwidth overage costs on the last day of each month and create an invoice that is due immediately. This will create a separate invoice.
  • Calculate the overage change on the last day of the month, but do not create a separate invoice. Instead, the system will add it to the client’s next invoice.
Change Invoice StatusSelect this to use the Collections invoice status to denote invoices that are bad debts (payment reversals). You can use this to track invoices that have received payment disputes or chargebacks.
WHMCS 8.3 and higher includes support for disputes for Stripe credit card transactions and some PayPal® transactions at Billing > Disputes.
Change Due DatesSelect this to revert incrementation on service Next Due Date values when a payment reversal occurs. The system considers them as due again, and, if the Next Due Date value is in the past, overdue, which will trigger an automated suspension until payment.
Enable Auto CancellationSelect this to enable automatic cancellation of overdue invoices after a specific number of days. This setting automates cancellation of old, overdue invoices in the Unpaid status each time that the system cron runs the daily tasks.
  • This setting will not cancel any overdue invoices that have partial payment or applied credit, regardless of the invoice’s age.
  • Invoice cancellation does not explicitly trigger additional actions. However, depending on your automation settings, additional automation may occur due to cancelled invoices.
  • When the system cron cancels the applicable invoices, it will add a note to the invoice to indicate closure due to automatic cancellation.
You can view the overdue unpaid invoices that the system cancelled during the last daily task run under Overdue Invoice Cancellations at Configuration () > System Settings > [Automation Status](/system/automation/automation-status.
We added this setting in WHMCS 8.10.
Days OverdueIf you enabled Enable Auto Cancellation, enter the number of days an invoice can remain overdue before the system cron job cancels it.
We added this setting in WHMCS 8.10.

Payment Capture Settings

The settings in the Payment Capture Settings section determine how the system charges your customers’ pay methods when using a merchant gateway.

The Payment Capture Settings section in Automation Settings

Prior to WHMCS 8.2, these settings were under Credit Card Charging Settings.

You can configure the following settings:

SettingDescription
Process Days Before DueEnter the number of days before the due date that you wish to capture. For example, setting this to 1 would attempt to charge the card for the first time one day before the invoice due date.
Attempt Only OnceSelect this to only attempt to charge a customer’s card once and then stop, regardless of success or failure. By default, the system will attempt to capture payment for unpaid invoices daily until it succeeds.
Retry Every Week ForEnable this setting and enter a number of weeks. WHMS will attempt to charge declined cards once every seven days for the entered number of weeks.

For example, if an invoice’s Next Due Date value is on the 14th, you set this setting to 2, and you set Process Days Before Due to 1, the system will attempt the first payment capture on the 13th. Then, it will retry payment on the 20th and 27th if the invoice status is not Paid.

Set this to 0 to disable these additional attempts, causing the system to attempt to charge the card every day until the invoice status changes to Paid or Cancelled.
CC Expiry Notices DateEnter the day of the month on which the system will send reminder emails to active clients with cards that will expire by the end of the month. On the 1st of the month, WHMCS will remove any credit cards with an expiration date before that day’s date.
We recommend a low value (for example, 1) to give clients as much notice as possible to update their card details.
For example, if you enter 1 for this setting and a card’s expiry date is in March 2020, the customer will receive a reminder email on March 1st, 2020 and the system will remove the card on April 1st, 2020.
Do Not Remove CC on ExpirySelect this to stop WHMCS from deleting expired cards. When you disable this, the system will remove the credit card details using the setting that you specified for CC Expiry Notices Date (above).

Currency Auto Update Settings

The settings in the Currency Auto Update Settings section determine how WHMCS handles the multi-currency system.

The Currency Auto Update Settings section in Automation Settings

You can configure the following settings:

SettingDescription
Exchange RatesEnable this to ensure that WHMCS obtains the latest currency exchange rates by connecting with the European Central Bank. This will ensure that your currency conversion functions are always using an accurate rate.
Product PricesEnable this to automatically update your prices according to the exchange rates. For example, if you have a product that costs $1 in your default base currency (USD) and the exchange rate is 0.6 for a second currency (GBP), the product’s price would automatically update to £0.6. Tomorrow, if the exchange rate changed to 0.7, a $1 product would change to £0.7.

Domain Reminder Settings

The settings in the Domain Reminder Settings section determine when the system sends domain renewal notices.

The Domain Reminder Settings section in Automation Settings

You can configure the following settings:

SettingDescription
Renewal NoticesEnter the number of days before or after the renewal date to send a renewal notice, and then select before or after to correctly configure up to five reminders.
Free Domain RemindersIn WHMCS 8.2 and later, select this to send renewal reminders for free domains that are associated with a paid service. This setting defaults to disabled for existing installations upgrading to WHMCS 8.2 and to enabled for new installations of WHMCS 8.2 and higher.
For more information, see Domain Renewal Notices and Free Domains.

Domain Sync Settings

The settings in the Domain Sync Settings section determine whether and how to sync domains with their associated registrars.

The Domain Sync Settings section in Automation Settings

You can configure the following settings:

SettingDescription
Domain Sync EnabledSelect this to enable synchronization for domain expiry dates and statuses.
Sync Next Due DateSelect this to set the domain’s Next Due Date value based on the expiry date. Then, enter the number of days before expiration to set the Next Due Date value.
Domain Sync Notify OnlySelect this to stop the domain sync task from taking any actions when it runs. Instead, it will only send an email listing the changes that it would have made. This is useful for debugging.
Domain Expiry Sync FrequencyEnter the frequency with which to sync domain expiry dates. 0 causes the system to sync every four hours, while 1 causes it to check every hour.
Pending Transfer Sync FrequencyEnter the frequency with which to sync the status of pending domain transfers. 0 causes the system to sync every four hours, while 1 causes it to check every hour.
For more information, see Domain Sync Task and Domain Registrars.

Support Ticket Settings

The settings in the Support Ticket Settings section determine how the system closes inactive support tickets and prunes ticket attachments.

The Support Ticket Settings section in Automation Settings

You can configure the following settings:

SettingDescription
Close Inactive TicketsEnter a number of days. After this amount of time has passed, the system will close any tickets that meet both of the following criteria:
  • The ticket’s status is either answered or customer reply.
  • There have been no new replies from staff or the customer.
The system will also send an email to the customer.
Tickets in On Hold and In Progress status are exempt from automatic closure. Closure occurs when the daily cron job runs.
You must also configure ticket statuses to automatically close.
Prune Ticket AttachmentsSelect the length of time to wait before deleting the attachments from a closed support ticket. You can choose a length of time that is between one and 24 months.

Data Retention Settings

The settings in the Data Retention Settings section determine when the system automatically deletes inactive clients and users.

The Data Retention Settings section in Automation Settings

You can configure the following settings:

SettingDescription
Automatically Delete Inactive ClientsChoose whether to run the Data Retention Pruning task each day to automatically delete inactive clients. This task runs as part of the system cron.
If you enable this feature, WHMCS will immediately delete clients who are in the Inactive or Closed statuses and have no invoice or transaction history.
If you enable deletion of inactive clients, you can enter a number of months to wait after the client’s last paid invoice or transaction activity before deleting records. You can also choose whether to delete users who are only associated with the inactive client.
  • The laws and regulations of your local jurisdiction determine the length of time you must retain data.
  • Most jurisdictions agree that you should only keep personal data for as long as is necessary.
For more information, see Delete Inactive Clients.

Miscellaneous

The settings in the Miscellaneous section determine how the system handles cancellations, usage statistics, status updates, and other tasks.

The Miscellaneous section in Automation Settings

You can configure the following settings:

SettingDescription
Cancellation RequestsSelect this to automatically terminate accounts for clients that have requested terminations.
For more information, see Cancellations.
Update Usage StatisticsSelect this to automatically update disk space and bandwidth usage statistics when the daily automation tasks run.
Client Status UpdateSelect whether to change a client’s status automatically. By default, WHMCS automatically sets clients that are older than 2 days and do not have any active services to the Inactive status. You can choose from the following settings:
  • Disabled — The system won’t change the status of a client automatically.
  • Change client status based on active/inactive products — If a client is at least two days old and has no active or suspended services, domains, addons, or billable items, the system will automatically set their account to the Inactive status the next time that the cron job runs.
  • Change client status based on active/inactive products and not logged in for longer than 3 months — In addition to the above option, the system will only set a client’s account to inactive when their last login date was over 3 months ago.
Module Log PruningEnable this option to choose the number of days of module log entries to retain. The system prunes the module log daily during the execution of the cron.

Last modified: June 14, 2024