Domains Management

From WHMCS Documentation

WHMCS allows the automated management of domains with a wide selection of built in registrars. From WHMCS, you can view, modify and request all of the common things you are likely to need when providing and supporting users with their domains.

If you are looking for information on configuring domain related settings inside WHMCS, see Domains Configuration.

Available Management Features

  • Domain Registration
  • Domain Transfers
  • Renewal/Extensions
  • View Nameservers
  • Change Nameservers
  • View WHOIS Information
  • Update WHOIS Information
  • Lock/Unlock Domains
  • ID Protection
  • EPP Code Retrieval
  • Register/Manage Private Nameservers
  • DNS Record Management
  • Email Forwarding Management

Most features are available for all, but some are only available on certain registrars. For more information, see the individual registrar's documentation documentation.

Where can I manage domains?


  • As an administrator, you can manage domains from the Domains tab inside a Clients Profile.
  • On this page, you can see nameservers and lock status in real time alongside the stored values from the database.
  • You'll also see a row labelled Registrar Commands with options such as Renew, Modify WHOIS, and Get EPP Code.
  • Clicking any of those buttons will perform the relevant option live with the domain registrar.

Domain Addons (DNS Management, ID Protection and Email Forwarding) can be enabled or disabled from this page. Selecting or deselecting the appropriate checkbox and clicking Save Changes will enable the feature and adjust the Recurring Amount accordingly.


  • Clients also receive full access to the management tools from the client area.
  • Like you, they have access to view and change the current nameservers, change the lock status of their domain*, change the auto renewal setting, view or edit WHOIS information, manage the DNS records*, configure email forwarding*, register nameservers*, request the EPP code* and order a renewal for their domain (*if the registrar supports it).

In Bulk

The following bulk actions are available to clients beneath the Domains list saving time when making the same changes to a number of domains. To use this, select the domains to modify and select one of the following options from the menu:

  • Manage Nameservers — Select Use default nameservers and WHMCS will automatically match the server to which you have assigned the hosting account for the same domain (if hosting exists), or using the system wide default for domain-only orders. Select Use custom nameservers to activate the fields to enter other nameservers.
  • Auto Renewal Status — Enable or Disable Auto-Renewal of all the selected domains.
  • Registrar Lock Status — Enable or Disable the registrar lock for all the selected domains.
  • Edit Contact Information — Select Use existing account contact and use the menu to use the details of one of the contacts or sub-accounts under this client's account. Select Specify custom information below to enter the contact details to apply to the selected domains.
  • Renew Domains — Renew the selected domains. On the next screen you will be able to choose how long to renew each domain for individually.

Handling New Domain Registrations & Transfers

To perform a new domain registration or initiate a transfer, someone must first place an order for it. A customer can do that from the client area or you can create one using the admin side order process. Once you have the order, the system can process the domain registration in several ways.

  1. If you have automatic registration on payment enabled, then you can navigate to the invoice for the domain registration order and mark it as paid, either by manually applying a payment, or by running a capture from a customers selected payment method. As soon as the invoice is successfully paid, the system will submit the domain order to the domain registrar.
  2. If you haven't enabled automatic registration, you have the option to attempt the registration when accepting the pending order by selecting the Send to Registrar checkbox and choosing the registrar to use in the Registrar menu in the order accept options.
  3. If you haven't enabled automatic registration and the order is already accepted, you can navigate to the domains record within the clients profile area, and from there select a domain registrar to use in the Registrar menu. Then, save before clicking on either of the required Register or Transfer buttons in the Registrar Commands options. These buttons allow you to initiate the remote API calls manually (this is the same process as reattempting a failed registration or transfer below).

Handling a Failed Domain Registration

If an automated domain registration (or transfer initiation) attempt fails, the system will notify administrators in the following ways:

  • An "WHMCS Automatic Domain Renewal Failed" email to administrator roles with the Account Emails permission.
  • An entry in Utilities > To-Do List.
  • And entry in Utilities > Module Queue.
    • The daily "WHMCS Cron Job Activity" email contains a summary of pending module actions in the queue at the bottom.

Once the error has been corrected, you can have WHMCS reattempt the registration or transfer. To do this, navigate to the domain record for the domain in question. Make sure the appropriate domain registrar is selected in the Registrar menu (saving changes if you need to make an adjustment). Then, click the Register or Transfer buttons from the Registrar Commands row of buttons. The system will prompt you to confirm you want to proceed before reattempting to submit the calls to the domain registrar's API. There is no need to place a new order if it fails.

Any errors that come back from the remote systems API will display on the screen immediately when performing a manual registration attempt in this way. For more information and common errors, see Domain Registrars. If that document doesn't help, you will need to get in touch with the registrar in question for advice.

Viewing/Editing Domain Nameservers

For any domain you have assigned to a registrar module in WHMCS, viewing and editing the nameservers the domain points to is a seamless integrated process. The nameserver fields will appear as part of the domain records fields when viewing a domains details via the Domains tab inside a Clients Profile. The system will communicate any changes you make to those fields and submit remotely to the selected domain registrar in the background by WHMCS, and update them automatically.

Viewing/Editing Locking Status

Similarly, if the domain's registrar module supports domain locking and unlocking, a Registrar Lock field will appear along with the nameserver fields on the domains management page. Checking or unchecking the box and saving will submit that change to the domain registrar as well.

Viewing/Editing WHOIS Information

To view and make changes to the WHOIS Contact Information for a domain inside WHMCS, from the domains details page or tab within a Clients Profile, click on the Modify Domain Contact Details button in the Registrar Commands row of buttons. A screen will appear listing the current contact information, which allows you to make changes to it and submit them. The system doesn't store WHOIS Information locally in WHMCS, so it always queries it in real-time from the selected domain registrar so any updates you make will take immediate effect.

Domain Renewals

How it Works

By default, domains will invoice automatically in advance of the renewal date. Your invoice generation settings in Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings determine how far in advance this happens.

Domains will auto invoice for renewal if they are in Active status and the "Do Not Renew" option is deselected in the domains profile. Clients also have the ability to both enable and disable the Do Not Renew option via the Auto Renew settings for a domain in the client area. This can be enabled or disabled on a per domain basis.

For Auto Renew, if a domain is invoiced for renewal, and you use a merchant payment gateway, and your client has chosen to pay via that method, and they have a credit card on file, then, on the due date, the system will automatically attempt that invoice for capture.

Automatic invoices for renewal generate using the Recurring Amount value that you set for the domain at the time of purchase. This means that if you increase your domain prices, it will not affect existing clients' prices. If you would like to change existing customers pricing then that can be achieved using the Bulk Pricing Update Utility

Whenever the system marks an invoice for a domain renewal as paid, either automatically as above or manually due to an admin applying payment to it from the admin area, if you assigned the domain to a registrar module in WHMCS, then the system will send a renewal command to that domain registrar's API to process the renewal. Control this via the setting Auto Renew on Payment in Configuration () > System Settings > General Settings > Domains or, prior to WHMCS 8.0, Setup > General Settings > Domains.

Clients can also order renewals 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 that clients order in this way use the current pricing in Configuration () > System Settings > Domain Pricing or, prior to WHMCS 8.0, Setup > Products/Services > Domain Pricing for the renewals.


Certain payment gateways (such as PayPal® and 2Checkout) offer Subscriptions: the ability to automatically send payments of a fixed amount on a fixed schedule. Domains can have a different billing cycle from an associated service (for example, a monthly product but an annual domain) which increases the complexity for a subscription. When the gateway supports such functionality, the system creates a subscription to automatically send payment for domain renewals:

  • 2Checkout Inline Mode

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

  • PayPal Subscriptions
  • 2Checkout Standard Mode

Domain Renewal Notices

You can configure WHMCS to send Domain Renewal Notices before 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, see the Domain Renewal Notices documentation.

Manually Registering/Renewing a Domain

For some trusted customers, or your own domains, you may wish to register or renew a domain without payment. To do this:

  1. Navigate to the domains tab in the client's profile for the desired domain.
  2. Click the Renew button in the Registrar Commands row of buttons to immediately send a renewal request to the domain registrar.
  3. If successful, the expiry date will update. You should also increment the next due date if you are manually handling payment as below.

If the domain is already invoiced, and automatic renewal on payment is enabled, when that invoice is paid under normal circumstances, the system sends another domain renewal request to the registrar. If you need to stop this, perform these steps:

  1. Locate the invoice for the domain. To do this, click the View Invoices link on the domain page to see 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 and save.
  3. Delete the original line item from the invoice. You are removing the actual link to the domain so no further renewal will occur.

Moving a Domain to another Client

Transfer Domain Popup
  1. When viewing the Domains tab of the domain you want to move, click Move Domain to Another Client at the top-right of the page.
  2. A popup box will appear. (You will need to disable popup blockers to use this.)
  3. In the popup box, enter the ID of the new owner. If you don't know the client's ID, you can use the Search field to search by name, company or email address. Click the client's name and the system will fill in the ID.
  4. Click the Transfer button.
  5. The system will move the domain, the window will close, and the original window will refresh to show the domain under its new owner.
  6. This process won't change the WHOIS details on the domain, so if you wish to update those you'll need to click the "Modify Contact Details" module Command button on the client's Domains tab.


You can't move invoices between clients. Because of this, when moving a domain, any invoices will remain under the old owner. We recommend that you check the old owner's Invoices tab for any unpaid invoices for this domain and cancel them. If you wish to invoice the new owner for the domain, move the Next Due Date forward or back by one day and the system will generate a new invoice when the cron next runs.

Deleting a Domain from a Client

  1. When viewing the domain you want to delete, scroll to the bottom of the page and click the red Delete link.
  2. After clicking this link, the system will prompt you to confirm whether you are sure you want to delete the domain.
  3. If you click No, you will return to the page. If you click Yes, the system will delete the item and you will view the next domain under that client.

Note: Deleting a domain from WHMCS will not perform any action at the domain registrar.