Difference between revisions of "Automation Settings"
m (→Data Retention Settings) |
m (→Change Invoice Status) |
||
(47 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | The '''Automation Settings''' | + | 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'''. | |
− | [[File:Videotutorial.png|center|link= | + | 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. |
+ | |||
+ | [[File:Videotutorial.png|center|link=https://www.youtube.com/watch?v=Yk3-Ud0jITc&list=PLfpgUwyOgC7C4wwPhB7jEqSp_esXB31Jb&index=5&t=0s|Watch Video Tutorial]] | ||
==Scheduling== | ==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. | + | [[File:Time of Day.png|thumb|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 | + | [[File:Automatic Module Functions.png|thumb|Automatic Module Functions]] |
+ | These settings pertain to your customer’s products or services and how the system handles non-payment. | ||
===Enable Suspension=== | ===Enable Suspension=== | ||
− | Selecting this option will enable automatic | + | 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=== | ===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=== | ===Enable Unsuspension=== | ||
− | When | + | 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 Termination=== | ||
− | + | Enable this option to terminate the client's service (remove it from the server) according to the setting below (Termination Days). | |
===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== | ||
− | + | [[File:Billing Settings.png|thumb|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 <tt>0</tt> will prevent the system from sending the related emails. | ||
===Invoice Generation=== | ===Invoice Generation=== | ||
− | This is the number of days before the due date invoices | + | This is the number of days before the system will generate due date invoices. For example, if this setting is <tt>7</tt>, 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 <tt>0</tt> or more. |
====Per Billing Cycle Settings==== | ====Per Billing Cycle Settings==== | ||
− | By clicking | + | 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==== | ====Domain Invoice Generation==== | ||
− | This | + | 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 all invoices | + | Leave this setting blank if you want the system to generate all invoices at the same time. |
===Payment Reminder Emails=== | ===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=== | ===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=== | === Overdue Reminders=== | ||
− | If an invoice | + | 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=== | ===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=== | ===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.<br /> | |
− | The second setting will still calculate the overage change on the last day of the month, but it will not 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=== | ===Change Invoice Status=== | ||
− | + | ||
+ | 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"> | ||
+ | WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing > [[Disputes]]'''. | ||
+ | </div> | ||
===Change Due Dates=== | ===Change Due Dates=== | ||
− | Part of the [[Payment_Reversals|Payment Reversals]] feature. | + | 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. |
+ | |||
+ | === 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 (<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> | ||
− | ==Credit Card Charging Settings= | + | ==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=== | ||
− | This | + | This specifies the number of days before the due date that you wish to capture. For example, setting this to <tt>1</tt> would attempt to charge the card for the first time one day before the invoice due date. |
=== Attempt Only Once=== | === Attempt Only Once=== | ||
− | By default, unpaid invoices | + | 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=== | ===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 <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=== | ||
− | This is the day of the month emails | + | 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 <tt>1</tt>, to give clients as much notice as possible to update their card details. For example: | ||
+ | |||
+ | '''Scenario'''<br/> | ||
+ | Card Expiry Date: March 2020<br/> | ||
+ | CC Expiry Noticed Date: 1 | ||
+ | |||
+ | '''Timeline of Events'''<br/> | ||
+ | Reminder email sent: 1st March 2020<br/> | ||
+ | Card removed from WHMCS: 1st April 2020 | ||
===Do Not Remove CC on Expiry=== | ===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== | ||
− | + | [[File:Currency Auto Update Settings.png|thumb|Currency Auto Update Settings]] | |
+ | Use these settings for the multi-currency system. | ||
===Exchange Rates=== | ===Exchange Rates=== | ||
− | When | + | 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 [[Currencies#Auto_Updating_Rates |supported currencies]]. |
===Product Prices=== | ===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== | ||
+ | |||
+ | [[File:Domain Reminder Settings.png|thumb|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: | ||
− | + | # 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. | ||
− | Domain | + | === Free Domain Reminders === |
− | For more information | + | 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== | ||
+ | |||
+ | [[File:Domain Sync Settings.png|thumb|Domain Sync Settings]] | ||
+ | |||
===Domain Sync Enabled=== | ===Domain Sync Enabled=== | ||
− | + | Enable this setting for the domain date and status synchronisation function. | |
+ | |||
+ | <div class="docs-alert-info"><i class="fa fa-question-circle"></i> For more information about the domain sync task, see [[Domain Synchronisation]].</div> | ||
===Sync Next Due Date=== | ===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=== | ===Domain Sync Notify Only=== | ||
− | If | + | 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=== | ===Domain Expiry Sync Frequency=== | ||
− | A value of 0 will check the domain expiration dates every | + | A value of <tt>0</tt> will check the domain expiration dates every four hours. Use this setting to set a different frequency. The lowest frequency setting, <tt>1</tt>, will check every hour. |
===Pending Transfer Sync Frequency=== | ===Pending Transfer Sync Frequency=== | ||
− | A value of 0 will check the domains in Pending Transfer status every | + | A value of <tt>0</tt> will check the domains in Pending Transfer status every four hours. Use this setting to set a different frequency. The lowest frequency setting, <tt>1</tt>, will check every hour. |
==Support Ticket Settings== | ==Support Ticket Settings== | ||
+ | [[File:Support Ticket Settings.png|thumb|Support Ticket Settings]] | ||
===Close Inactive Tickets=== | ===Close Inactive Tickets=== | ||
− | + | After this amount of time has passed, the system will close any tickets that meet both of the following criteria: | |
− | <div class="docs-alert-info">Ticket Statuses | + | * 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. | ||
+ | |||
+ | <div class="docs-alert-info">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 [https://docs.whmcs.com/Support_Ticket_Statuses#Status_Options Status Options documentation].</div> | ||
+ | |||
+ | ===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== | ||
− | + | [[File:Data Retention Settings.png|thumb|Data Retention Settings]] | |
+ | |||
===Automatically Delete Inactive Clients=== | ===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== | ||
+ | [[File:Miscellaneous.png|thumb|Miscellaneous]] | ||
===Cancellation Requests=== | ===Cancellation Requests=== | ||
− | When the [[Other_Tab#Show_Cancellation_Link|Show Cancellation Link]] option | + | 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=== | ||
− | Enabling this option will display disk | + | 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=== | ===Client Status Update=== | ||
− | WHMCS automatically sets clients with no active products | + | 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 [[Clients:Profile_Tab#Changing_a_Clients_Status|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''' | + | '''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 [[System_Logs#Module_Log|module log]] entries to retain. The system prunes the module log daily during the execution of the cron. |
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.
Contents
- 1 Scheduling
- 2 Automatic Module Functions
- 3 Billing Settings
- 4 Payment Capture Settings
- 5 Currency Auto Update Settings
- 6 Domain Reminder Settings
- 7 Domain Sync Settings
- 8 Support Ticket Settings
- 9 Data Retention Settings
- 10 Miscellaneous
Scheduling
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
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
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.
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.
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
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
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:
- Enter the number of days for that notice. If you set any field to 0 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 Enabled
Enable this setting for the domain date and status synchronisation function.
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
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.
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
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.
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
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.