Domains in WHMCS are recurring products that have a term of 1 to 10 years.
Domain Renewal Notices and Reminders
Domain Renewal Notices can be configured to be sent by WHMCS leading up to, and after a domain has expired. You can use these to remind and encourage your customers to renew their expiring domains with you.
For more information on this functionality, please refer to the dedicated Domain Renewal Notices documentation.
WHMCS invoices domains automatically in advance of their renewal date. How far in advance is determined by your global invoice generation settings in Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings.
Domains will auto invoice for renewal providing that they are in Active status, and the "Do Not Renew" option is not enabled.
Automatic Payment Subscriptions
Some payment gateways (such as PayPal and 2Checkout) offer the ability to automatically send payments of a fixed amount on a fixed schedule - called Subscriptions. Domains can have a different billing cycle from an associated service (ie. a monthly product but an annual domain) which increases the complexity required for a subscription. Where such functionality is supported by the gateway, a subscription is created to automatically send payments for domain renewals:
- 2Checkout Inline Mode
Note that the domain and service due dates, as well as the billing cycles, must match one another for PayPal to be able to create a subscription.
For other subscriptions, WHMCS will not offer clients the option to create such subscriptions when paying for a domain renewal invoice:
- PayPal Basic
- 2Checkout Standard Mode
By default, all domains are set to auto-renew, but this is not the same as what domain regstrars commonly mean by auto-renewal. In WHMCS, auto-renewal refers to whether an invoice should be automatically generated for the renewal of a domain.
For example, for domain auto-renewal, a domain could be invoiced for renewal and set to a payment gateway that supports automatic captures. The system will attempt payment for the invoice a number of days before the due date, in accordance with your settings at Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings. After you receive payment, the domain will renew. Paid domains never renew without payment.
In WHMCS 8.2 and higher, WHMCS prevents renewal of free domains in the Client Area unless bundled with a product or service.
Clients have the ability to change the Auto Renewal status for any of their domains within the client area on a per-domain basis. This setting is reflected in the Admin Area via the Do Not Renew option. When checked, a domain will not be automatically invoiced for renewal and renewal must be initiated manually via the client area.
In WHMCS 8.2 and later, WHMCS prevents customers from paying to renew domains that are eligible for free renewal with a paid product or service.
Domain Renewal Pricing
Automatic invoices for domain renewals generate using the Recurring Amount value that is set for the domain at the time of purchase. This means that if you change your domain prices, the price your existing customers pay does not change. If you would like to change existing customers pricing, use the Bulk Pricing Update Utility
Clients can order paid domain renewals within the Client Area on demand at any time. This enables a client to renew a domain early, before expiry, to extend their domains at any time they wish.
- Clients can do this in the shopping cart by selecting the Domain Renewals category.
- Domain renewals ordered in this way use the current pricing at Configuration () > System Settings > Domain Pricing or, prior to WHMCS 8.0, Setup > Products/Services > Domain Pricing.
In WHMCS 8.2 and later, WHMCS prevents renewal of free domains in the Client Area if they are not bundled with a product or service.
Domain Renewal Restrictions
WHMCS enforces domain renewal restrictions as follows:
- A domain's expiry date can never exceed 9 years 364 days from the current date. Therefore, the available renewal terms displayed to customers when ordering a domain renewal in the Client Area will be determined based both on the terms for which pricing is defined and on a domain's current expiry date and displayed accordingly.
- On order of a domain for a 10 year registration period, the maximum renewal term will be 9 years. WHMCS will automatically set the renewal term to the next highest available valid renewal period once the initial registration has been completed.
- Certain TLDs and registries (for example, Nominet) impose restrictions on how far in advance of the expiry date a domain renewal can be ordered. In these cases, WHMCS will prevent renewal orders from being placed for domains using these extensions.
- When configuring domain pricing, if the 10-year renewal price is set this will automatically be disabled and set to -1 upon saving.
- In WHMCS 8.2 and later, free domains cannot be renewed through the Client Area.
Domain renewal restrictions functionality was expanded in WHMCS 7.9 and some of the above may not apply to earlier versions.
Domain Renewal Automation
By default, when a domain renewal is paid for, a renewal command will be sent to the domain registrar's API to initiate a renewal for the domain.
This is controlled via the Auto Renew on Payment setting in the Domains tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.
Manually Renewing a Domain Name
To renew a domain manually, perform the following steps:
- Navigate to the Domains tab in the client's profile for the desired domain
- Click the Renew button within the Registrar Commands row of buttons to immediately send a renewal request to the domain registrar
- Upon success, the page will reload showing a confirmation message and the expiry date will be updated
WHMCS maintains both an expiry date and a next due date for domain names. If you do not want the domain to be invoiced, be sure to also updated the next due date to the desired next payment date.
Preventing an Automated Domain Renewal for a given invoice
In some rare circumstances, you may wish to prevent an invoice payment from triggering an automated renewal attempt. This is useful for scenarios in which the domain has been renewed manually or externally outside of WHMCS prior to payment having been made.
To do this, we recommend the following workaround:
- Locate the invoice for the domain (click the View Invoices link on the domain page to jump straight to a list of invoices for just that domain)
- Copy the line item and amount for the domain from the existing line to a new invoice line item
- Click Save Changes
- Delete the original line item from the invoice
By doing the above, you are removing the hidden link to the domain record and therefore on payment, no automation will be triggered. Note that neither the domain renewal automation, nor updating of the domains next due date will occur.