Difference between revisions of "Automation Settings"

From WHMCS Documentation

m (Change Invoice Status)
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
The '''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. It's the one central place that controls everything that the daily automation tasks do.
 
The '''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. It's the one central place that controls everything that the daily automation tasks do.
 +
 +
You can access this feature at  '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Automation Settings''' or, prior to WHMCS 8.0, '''Setup > Automation Settings'''.
  
 
To trigger the daily automation tasks, you must configure a [[Crons|Cron Job]] at a recommended frequency of every 5 minutes. This is usually part of the initial installation of WHMCS.
 
To trigger the daily automation tasks, you must configure a [[Crons|Cron Job]] at a recommended frequency of every 5 minutes. This is usually part of the initial installation of WHMCS.
Line 62: Line 64:
  
 
===Change Invoice Status===
 
===Change Invoice Status===
Part of the [[Payment_Reversals|Payment Reversals]] feature. Set Invoice to Collections Status. WHMCS uses the collections status for invoices to denote invoices that are bad debts. You can use this to track invoices that have received payment disputes or chargebacks.
+
 
+
Select this to use the ''Collections'' invoice status to denote invoices that are bad debts ([[Payment_Reversals|payment reversals]]). You can use this to track invoices that have received payment disputes or chargebacks.
 +
 
<div class="docs-alert-info">
 
<div class="docs-alert-info">
<i class="fa fa-question-circle"></i>
+
WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing > [[Disputes]]'''.  
WHMCS 8.3 and higher includes support for disputes for Stripe and PayPal® transactions at '''Billing > [[Disputes]]'''.
 
 
</div>
 
</div>
  
Line 72: Line 74:
 
Part of the [[Payment_Reversals|Payment Reversals]] feature. This reverts Next Due Date Increments for the products and services in an invoice. The system considers them as due again, and, in cases where the date is in the past, overdue, which will trigger an automated suspension until repayment is made.
 
Part of the [[Payment_Reversals|Payment Reversals]] feature. This reverts Next Due Date Increments for the products and services in an invoice. The system considers them as due again, and, in cases where the date is in the past, overdue, which will trigger an automated suspension until repayment is made.
  
==Credit Card Charging Settings==
+
=== Enable Auto Cancellation ===
[[File:Credit Card Charging Settings.png|thumb|Credit Card Charging Settings]]
+
Select 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.
Use these settings to determine how to charge your customer's cards when you use a merchant gateway to handle credit card payments.
+
 
 +
* 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 Cancellation''' at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Automation Status]]'''.
 +
 
 +
<div class="docs-alert-success">We added this setting in WHMCS 8.10.</div>
 +
 
 +
=== Days Overdue ===
 +
If you enabled '''Enable Auto Cancellation''', enter the number of days an invoice can remain overdue before the system cron job cancels it.
 +
 +
<div class="docs-alert-success">We added this setting in WHMCS 8.10.</div>
 +
 
 +
==Payment Capture Settings==
 +
[[File:Credit Card Charging Settings.png|thumb|Payment Capture Settings]]
 +
<div class="docs-alert-info">
 +
Prior to WHMCS 8.2, these settings were under '''Credit Card Charging Settings'''.
 +
</div>
 +
Use these settings to determine how to charge your customer's pay method when you use a merchant gateway to handle credit card and other payments.
  
 
===Process Days Before Due===
 
===Process Days Before Due===
Line 83: Line 104:
  
 
===Retry Every Week For===
 
===Retry Every Week For===
If a credit card is declined and you have enabled this setting, WHMCS will attempt the card once a week for this number of weeks. For example, if you set this to <tt>2</tt>, the system would attempt to charge the card two additional timesSet this to <tt>0</tt> to disable this, causing the system to attempt to change the card every day.
+
When you enable this, WHMCS will attempt to charge the card every Seven days from the expected capture attempt date for this number of weeks.  
 +
For example, if an invoice's '''Next Due Date''' value is on the 14th and you set this setting to <tt>2</tt> and '''Process Days Before Due''' to <tt>1</tt>, 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''.  
 +
   
 +
You can also set this setting to <tt>0</tt> to disable the weekly retries, causing the system to attempt to charge the card every day until it succeeds or the invoice status changes to ''Cancelled''
  
 
===CC Expiry Notices Date===
 
===CC Expiry Notices Date===
Line 115: Line 139:
 
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]
 
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]
 
   
 
   
These settings determine when and how many emails the system sends to your customers to remind them to renew their domain names. You can send a maximum of five reminders. If you set any field to <tt>0</tt> it will disable that email.
+
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired and, in WHMCS 8.2, choose whether to send renewal notices for free domains bundled with a product or service.
+
 
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired and, in WHMCS 8.2, choose whether to send renewal notices for free domains bundled with a product or service. For more information on this functionality, see [[Domain Renewal Notices]] and [[Free Domains]].
+
For more information on this functionality, see [[Domain Renewal Notices]] and [[Free Domains]].
 +
 
 +
=== Renewal Notices ===
 +
 
 +
You can send a maximum of five reminders.
 +
 
 +
To configure these settings, for each renewal notice:
 +
 
 +
# Enter the number of days for that notice. If you set any field to <tt>0</tt> it will disable that email.
 +
# Select whether to send the reminder that many days before or after the renewal date.
 +
 
 +
=== Free Domain Reminders ===
 +
 
 +
In WHMCS 8.2 and later, choose whether to send renewal reminders for free domains associated with a paid product or 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 [[Free Domains]].
  
 
==Domain Sync Settings==
 
==Domain Sync Settings==
Line 161: Line 200:
 
==Data Retention Settings==
 
==Data Retention Settings==
 
[[File:Data Retention Settings.png|thumb|Data Retention Settings]]
 
[[File:Data Retention Settings.png|thumb|Data Retention Settings]]
{{:Data_Retention_Policy_Automation}}
 
  
For more information, see the [[Data_Retention_Policy_Automation|Data Retention Policy Automation page]].
+
===Automatically Delete Inactive Clients===
 +
 
 +
<div class="docs-alert-info">
 +
<span class="title">Automatically Delete Inactive Clients</span><br />
 +
* We added this setting in WHMCS 7.5.
 +
* In WHMCS 8.3 and earlier, this was the '''After no invoice or transaction activity has occurred for the following number of months''' setting.
 +
</div>
 +
 
 +
This setting allows you to configure client records to be automatically deleted after a given number of months with no invoice or transaction history. The length of time you must retain data is often governed by the laws and regulations of your local jurisdiction. Most jurisdictions agree that you should only keep personal data for as long as is necessary.
 +
 
 +
To enable this setting, select '''After no invoice payment has occurred for the inactive or closed client in the following number of months''' and specify a number of months that is greater than <tt>0</tt>.
 +
 
 +
This setting is disabled by default.
 +
 
 +
<div class="docs-alert-danger">
 +
<span class="title">Paid Invoices and Transactions</span><br />
 +
The presence of paid invoices or transactions within the specified period determines whether WHMCS retains client records. 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.
 +
</div>
 +
 
 +
This setting causes the system to perform the '''Data Retention Pruning''' task each day. This will delete client records that meet the following criteria:
 +
 
 +
* A status of [[Automation_Settings#Client_Status_Update|'''Inactive''' or '''Closed''']].
 +
* No paid invoices within the specified number of months.
 +
* No entered or applied transactions within the specified number of months.
 +
* If the client is an affiliate, a commission balance of <tt>0</tt> or no referrals within the specified retention period.
 +
 
 +
<div class="docs-alert-info">The system can automatically change the client status. Use the '''[[Automation_Settings#Client_Status_Update|Client Status Update]]''' setting to control this.</div>
 +
 
 +
=== Delete associated users if the user(s) are not associated with any other client account===
 +
 
 +
Optionally, you can set this to '''YES''' to cause the '''Data Retention Pruning''' task to also delete users who are only associated with this client.
  
 
==Miscellaneous==
 
==Miscellaneous==
Line 169: Line 237:
 
===Cancellation Requests===
 
===Cancellation Requests===
 
When you enable the [[Other_Tab#Show_Cancellation_Link|Show Cancellation Link]] option, enabling this setting will automatically terminate the client’s package on the termination date.
 
When you enable the [[Other_Tab#Show_Cancellation_Link|Show Cancellation Link]] option, enabling this setting will automatically terminate the client’s package on the termination date.
 +
 +
For more information, see [[Cancellation Requests]].
  
 
===Update Usage Statistics===
 
===Update Usage Statistics===
Line 182: Line 252:
 
'''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.
 
'''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.
  
===Automatically Delete Inactive Clients===
+
===Module Log Pruning===
 
+
Enabling this option allows you to choose the number of days of [[System_Logs#Module_Log|module log]] entries to retain. The system prunes the module log daily during the execution of the cron.
This setting allows you to configure client records to be automatically deleted after a given number of months with no invoice or transaction history. This setting defaults to off.
 
 
 
To enable this, you must select the radio option for removing clients automatically and specify a number of months that is greater than 0.
 
 
 
When you enable it, the system performs the Data Retention Pruning task daily and will remove clients that meet the following conditions:
 
 
 
* Are in a status of [[Automation_Settings#Client_Status_Update|Inactive or Closed]].
 
* Have no invoices that have been marked paid within the given number of months you specify.
 
* Have no transactions that have been entered or applied within the given number of months you specify.
 
* Is an affiliate with a balance greater than 0 or has made a referral within the specified retention period.
 
 
 
<div class="docs-alert-warning">'''Important Note:''' It is the presence of paid invoices or transactions within the given timeframe that defines client records which are kept. Enabling this feature with clients in an Inactive or Closed status, that have no invoice or transaction history, will result in those clients being deleted immediately.</div>
 
 
 
The client status can be changed automatically by the system. This is controlled by '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Automation Settings > [[Automation_Settings#Client_Status_Update|Client Status Update''']].</onlyinclude>
 

Latest revision as of 16:56, 17 May 2024

The 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. It's the one central place that controls everything that the daily automation tasks do.

You can access this feature at Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings.

To trigger the daily automation tasks, you must configure a Cron Job at a recommended frequency of every 5 minutes. This is usually part of the initial installation of WHMCS.

Watch Video Tutorial

Scheduling

Time of Day

Time of Day

This setting allows you to select 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 take place.

Automatic Module Functions

Automatic Module Functions

These settings pertain to your customer’s products or services and how the system handles non-payment.

Enable Suspension

Selecting this option will enable automatic suspensions when payments for products or 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 Days

If you enabled Enable Suspension, this configures the amount of time between a customer's product or service becoming overdue and the system suspending them.

Enable Unsuspension

When you enable this setting, services that the system suspended due to "Overdue on Payment" will automatically become unsuspended when they pay the unpaid invoice for the item. However, if you suspended products or services manually, and assigned a custom reason for suspension, then an automatic reactivation will not occur. For example, you may have manually suspended an item with a reason of "Broken Terms of Service" or "Awaiting ID Verification".

Enable Termination

Enable this option to terminate the client's service (remove it from the server) according to the setting below (Termination Days).

Termination Days

If you selected Enable Termination, this determines the number of days between a product or service becoming overdue and the system terminating that product or service.

Billing Settings

Billing Settings

Use these settings to determine how the system generates invoices and sends payment reminders to your customers. Setting the Unpaid and Overdue Reminder settings to 0 will prevent the system from sending the related emails.

Invoice Generation

This is 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 products, services, addons, and domains. The number of days should be an integer of 0 or more.

Per Billing Cycle Settings

By clicking Advanced Settings, you can specify a different invoice generation 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.

Domain Invoice Generation

This optional setting allows you to specify how far 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 Emails

If you enable this, the system will remind your customers by email in advance of an unpaid invoice's due date. It does this using the Invoice Unpaid Reminder setting (below). This setting does not apply to Overdue Reminders.

Invoice Unpaid Reminder

The system sends this email before the due date if the invoice remains unpaid, to remind a customer that the invoice will be due soon.

Overdue Reminders

If a customer hasn't paid an invoice in a certain number of days after the due date, the system will email the customer with a reminder.

Add Late Fee Days

If a customer hasn't paid an invoice that is this number of days overdue, your customer will be charged late fees (according to your choices in General Settings).

Overage Billing Charges

Use this to determine how to bill clients for overage (if you enabled this). The first setting will 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.
The second setting will still calculate the overage change on the last day of the month, but it will not create a separate invoice. Instead, the system will add it to the client's next invoice.

Change Invoice Status

Select 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 only) and some PayPal® transactions at Billing > Disputes.

Change Due Dates

Part of the Payment Reversals feature. This reverts Next Due Date Increments for the products and services in an invoice. The system considers them as due again, and, in cases where the date is in the past, overdue, which will trigger an automated suspension until repayment is made.

Enable Auto Cancellation

Select 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.

  • 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 Cancellation at Configuration () > System Settings > Automation Status.

We added this setting in WHMCS 8.10.

Days Overdue

If 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

Payment Capture Settings

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

Use these settings to determine how to charge your customer's pay method when you use a merchant gateway to handle credit card and other payments.

Process Days Before Due

This specifies 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 Once

By default, the system will attempt to capture payment for unpaid invoices daily until it succeeds. When you enable this option, WHMCS will only attempt to charge the customer’s card once. If it fails, it will not try again until the client or an admin makes a manual payment attempt.

Retry Every Week For

When you enable this, WHMCS will attempt to charge the card every Seven days from the expected capture attempt date for this number of weeks. For example, if an invoice's Next Due Date value is on the 14th and you set this setting to 2 and 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.

You can also set this setting to 0 to disable the weekly retries, causing the system to attempt to charge the card every day until it succeeds or the invoice status changes to Cancelled

CC Expiry Notices Date

This is the day of the month on which the system will send reminder emails to active clients with cards that expire by the end of the month, asking them to update their records. 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, such as 1, to give clients as much notice as possible to update their card details. For example:

Scenario
Card Expiry Date: March 2020
CC Expiry Noticed Date: 1

Timeline of Events
Reminder email sent: 1st March 2020
Card removed from WHMCS: 1st April 2020

Do Not Remove CC on Expiry

When you enable this option, the client's credit card information will remain on file after its expiration date. When you disable this, the system will remove the credit card details using the setting you specified for CC Expiry Notices Date.

Currency Auto Update Settings

Currency Auto Update Settings

Use these settings for the multi-currency system.

Exchange Rates

When you enable this setting, WHMCS will connect with the European Central Bank and obtain the latest exchange rates. This will ensure your currency conversion functions are always using an accurate rate. For more information, see the list of supported currencies.

Product Prices

When you enable this setting, the system will 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

Domain Reminder Settings

You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired and, in WHMCS 8.2, choose whether to send renewal notices for free domains bundled with a product or service.

For more information on this functionality, see Domain Renewal Notices and Free Domains.

Renewal Notices

You can send a maximum of five reminders.

To configure these settings, for each renewal notice:

  1. Enter the number of days for that notice. If you set any field to 0 it will disable that email.
  2. Select whether to send the reminder that many days before or after the renewal date.

Free Domain Reminders

In WHMCS 8.2 and later, choose whether to send renewal reminders for free domains associated with a paid product or 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 Free Domains.

Domain Sync Settings

Domain Sync Settings

Domain Sync Enabled

Enable this setting for the domain date and status synchronisation function.

For more information about the domain sync task, see Domain Synchronisation.

Sync Next Due Date

Use this setting to choose whether to sync the Next Due Date to the Expiry Date, and, if you wish, how many days in advance of it.

Domain Sync Notify Only

If you enable this, the domain sync script won't make any changes. It will only notify admins of the changes it would have made. This is useful for debugging.

Domain Expiry Sync Frequency

A value of 0 will check the domain expiration dates every four hours. Use this setting to set a different frequency. The lowest frequency setting, 1, will check every hour.

Pending Transfer Sync Frequency

A value of 0 will check the domains in Pending Transfer status every four hours. Use this setting to set a different frequency. The lowest frequency setting, 1, will check every hour.

Support Ticket Settings

Support Ticket Settings

Close Inactive Tickets

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 auto-closure. Closure takes place when the daily cron job runs.

You must configure Ticket Statuses to "Auto-Close" for this setting to take effect. You can learn more about Ticket Statuses and the Auto-Close functionality in our Status Options documentation.

Prune Ticket Attachments

When this setting is enabled, ticket attachments will be automatically deleted after the selected amount of time of inactivity following the closure of a ticket. This can be set between 1 and 24 months.

For more information on this functionality, see the Ticket Attachment Pruning documentation.

Data Retention Settings

Data Retention Settings

Automatically Delete Inactive Clients

Automatically Delete Inactive Clients

  • We added this setting in WHMCS 7.5.
  • In WHMCS 8.3 and earlier, this was the After no invoice or transaction activity has occurred for the following number of months setting.

This setting allows you to configure client records to be automatically deleted after a given number of months with no invoice or transaction history. The length of time you must retain data is often governed by the laws and regulations of your local jurisdiction. Most jurisdictions agree that you should only keep personal data for as long as is necessary.

To enable this setting, select After no invoice payment has occurred for the inactive or closed client in the following number of months and specify a number of months that is greater than 0.

This setting is disabled by default.

Paid Invoices and Transactions
The presence of paid invoices or transactions within the specified period determines whether WHMCS retains client records. 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.

This setting causes the system to perform the Data Retention Pruning task each day. This will delete client records that meet the following criteria:

  • A status of Inactive or Closed.
  • No paid invoices within the specified number of months.
  • No entered or applied transactions within the specified number of months.
  • If the client is an affiliate, a commission balance of 0 or no referrals within the specified retention period.
The system can automatically change the client status. Use the Client Status Update setting to control this.

Delete associated users if the user(s) are not associated with any other client account

Optionally, you can set this to YES to cause the Data Retention Pruning task to also delete users who are only associated with this client.

Miscellaneous

Miscellaneous

Cancellation Requests

When you enable the Show Cancellation Link option, enabling this setting will automatically terminate the client’s package on the termination date.

For more information, see Cancellation Requests.

Update Usage Statistics

Enabling this option will display disk and bandwidth usage statistics from the hosting control panel (if it is supported) inside the WHMCS admin and client areas. It will update them on a daily basis.

Client Status Update

The following applies to the client status dropdown found in the client account Profile tab. WHMCS automatically sets clients older than 2 days, with no active products or services to Inactive status. This helps you to distinguish and filter clients effectively. However, you can stop WHMCS from doing this by changing this setting. More information on this feature is available in Client Management.

Disabled — The system won't change the status of a client automatically.

Change client status based on active/inactive products — If a client was created more than 2 days ago, has no active or suspended services, domains, addons, or billable items, the system will automatically set their account to 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 Pruning

Enabling this option allows you 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.