Domains Management

From WHMCS Documentation

Revision as of 10:32, 17 July 2019 by AlexN (talk | contribs) (Subscriptions)

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, please refer to the Domains Configuration page

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. Refer to individual registrar's documentation @ Domain Registrars for specific information.

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 realtime alongside the stored values from the database
  • You'll also see a row labelled Registrar Commands with options such as Renew, Modify WHOIS, Get EPP Code, etc...
  • 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/disabled from this page. Ticking/unticking 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/edit WHOIS information, manage the dns records*, configure email forwarding*, register nameservers*, request the epp code* and order a renewal for their domain (*if supported by the registrar)

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 simply tick the domains to be modified and select one of the following options from the dropdown menu:

  • Manage Nameservers - Select Use default nameservers and WHMCS will automatically match the server the hosting account of the same domain is assigned to (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/Disable Auto-Renewal of all the selected domains.
  • Registrar Lock Status - Enable/Disable the registrar lock for all the selected domains.
  • Edit Contact Information - Select Use existing account contact and choose from the dropdown 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 be applied 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, first an order must be placed 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 domain registration can then be processed in a number of ways.

  1. Firstly if you have automatic registration on payment enabled, then you can simply navigate to the invoice for the domain registration order and mark it paid, either by manually applying a payment, or by running a capture from a customers selected payment method, and as soon as the invoice is successfully marked as paid, the domain order will get submitted to the domain registrar.
  2. Alternatively, if automatic registration is not enabled, then you have the option to attempt the registration when accepting the pending order by ticking the Send to Registrar checkbox and choosing the registrar to use in the Registrar dropdown menu in the order accept options
  3. Or finally, if automatic registration is not enabled and the order has already been 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 dropdown menu, and then save, before clicking on either the Register or Transfer buttons in the Registrar Commands options that appear as required. These buttons allow you to initiate the remote API calls manually (this is the same process as is used for re-attempting a failed registration or transfer described in more detail below)

Handling a Failed Domain Registration

If an automated domain registration (or transfer initiation) attempt fails, then once the error has been corrected, you can have WHMCS re-attempt the registration or transfer. To do this you simply navigate to the domain record for the domain in question, and ensuring the appropriate domain registrar is selected in the Registrar dropdown menu (saving changes if you need to make an adjustment), simply click the Register or Transfer buttons from the Registrar Commands row of buttons as required. This will then ask you to confirm you want to proceed before re-attempting submitting the calls to the domain registrar's API. So there is no need to place a new order should it fail.

Any errors that come back from the remote systems API will be displayed on screen immediately when performing a manual registration attempt in this way. Common errors are addressed in the specific individual domain registrar pages of our docs so please refer to the Domain Registrars section for help and advice on those, and if unable to find an answer there you will need to get in touch with the registrar in question for advice.

Viewing/Editing Domain Nameservers

For any domain that is 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. And any changes you make to those fields and submit will be communicated remotely to the selected domain registrar in the background by WHMCS and updated automatically.

Viewing/Editing Locking Status

Similarly, if the registrar module a domain is assigned to supports domain locking/unlocking then a Registrar Lock field will appear along with the nameserver fields on the domains management page and 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 assigned to a domain inside WHMCS, from the domains details page/tab within a Clients Profile, click on the Modify Domain Contact Details button in the Registrar Commands row of buttons. You will then be taken to a screen listing the current contact information and which allows you to make changes to it and submit them. WHOIS Information is not stored locally in WHMCS and so is always queried 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. How far in advance is determined by your 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 checked 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/disabled on a per domain basis.

The reason it is called Auto Renew is that 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 has a credit card stored on file, then on the due date that invoice will be automatically attempted for capture.

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

Any time an invoice for a domain renewal is successfully marked paid, be it either automatically as above, or manually due to an admin applying payment to it from the admin area, and if the domain is assigned to a registrar module in WHMCS, then a renewal command will be sent to that domain registrar's API to process the renewal. This is controlled via the setting Auto Renew on Payment in Setup > General Settings > Domains and so can be turned off if desired.

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 ordered in this way use the current pricing as defined in Setup > Products/Services > Domain Pricing for the renewals.


Certain 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 Renewal Notices

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 Domain Renewal Notices documentation.

Manually Registering/Renewing a Domain

For some trusted customers, or indeed for 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.

Now if the domain is already invoiced, and automatic renewal on payment is enabled, when that invoice is paid under normal circumstances, another domain renewal request would get sent to the registrar. That is unless you stop it. So to do that you need to also perform these steps:

  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 and save
  3. Then delete the original line item from the invoice and by doing that you are removing the actual link to the domain when paid 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 located at the top-right of the page
  2. A popup box will appear (you will need popup blockers disabled to use this)
  3. In the popup enter the ID of the new owner. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.
  4. After selecting the desired client, click the Transfer button
  5. The domain will then be moved, 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.


Invoices cannot be moved between clients, therefore when moving a domain any invoices will remain under the old owner. Therefore it would be advisable to 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/back by one day and a new invoice will be generated 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, you will be asked to confirm if you are sure you want to delete the domain
  3. If you click No you will be returned to the page, if you click Yes, the item will be deleted and you will be taken to the next domain under that client

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