Domain Renewals

From WHMCS Documentation

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 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 sent payment for domain renewals:

  • 2Checkout Inline Mode

For other subscriptions, WHMCS will not offer clients the option to create such subscriptions when paying for a domain renewal invoice:

  • PayPal Subscriptions
  • 2Checkout Standard Mode

Domain Auto Renewal

In WHMCS, auto-renewal refers to whether an invoice should be automatically generated for the renewal of a domain.

The reason it is called Auto Renew is that if a domain is invoiced for renewal and is set to a payment gateway that supports automatic captures, the invoice will be attempted for payment automatically on the due date.

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 within the admin area via the checkbox option "Do Not Renew". When checked, a domain will not be automatically invoiced for renewal and renewal must be initiated manually via the client area.

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 then that can be achieved using the Bulk Pricing Update Utility

Clients can order domain renewals within the client area on demand at any time. This enables a client to renew a domain early, well in advance of expiry, to extend their domains at any time they wish. This is done via the shopping cart by selecting the Domain Renewals category. Domain renewals ordered in this way use the current pricing as defined in 'Setup > Products/Services > Domain Pricing.

Domain Renewal Restrictions

WHMCS enforces domain renewal restrictions as follows:

  • A domains 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 within 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 impose restrictions on how far in advance of the expiry date a domain renewal can be ordered. The UK registry Nominet is one such example of this. In these cases, WHMCS will prevent renewal orders from being placed for domains using these extensions.
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 setting Auto Renew on Payment which can be found in Setup > General Settings > Domains.

Manually Renewing a Domain Name

To renew a domain manually, perform the following steps:

  1. Navigate to the domains tab in the client's profile for the desired domain
  2. Click the Renew button within the Registrar Commands row of buttons to immediately send a renewal request to the domain registrar
  3. 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:

  1. 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)
  2. Copy the line item and amount for the domain from the existing line to a new invoice line item
  3. Click Save Changes
  4. 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.