Difference between revisions of "Domains Management"

From WHMCS Documentation

(Grouped Renewal Reminders)
(Deleting a Domain from a Client)
 
(30 intermediate revisions by 6 users not shown)
Line 1: Line 1:
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.
+
WHMCS allows the '''automated management''' of domains with a wide selection of built in registrars.  
  
If you are looking for information on configuring domain related settings inside WHMCS, please refer to the [[Domains Configuration]] page
+
In WHMCS, you can configure your settings and choose registrars to customize how you sell domains. After domain purchases, you can perform all of the common tasks you are likely to need when providing and supporting users with their domains.
  
===Available Management Features===
+
<div class="docs-alert-warning">
 +
<span class="title">Domain Management Features</span><br />
 +
The exact domain management features that are available depend on the domain registrar you choose. For a list of available features, see the [[Domain_Registrars|individual registrar's documentation]].
 +
</div>
  
*Domain Registration
+
== Domain Configuration ==
*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|Domain Registrars]] for specific information.
+
Before you can sell domains, you must configure domain registration and other important settings. You can configure the following domain-related settings:
  
===Where can I manage domains?===
+
=== System Domain Settings ===
  
====Admins====
+
You can configure the domain options you offer (registration, transfers, or using the client's own domain) and various payment and renewal settings in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''.
  
*As an administrator, you can manage domains from the '''Domains''' tab inside a '''Clients Profile'''
+
=== Registrar Configuration ===
*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.
+
You can configure domain registrars at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup > Products/Services > Domain Registrars'''.  
  
====Clients====
+
You can use the [[Email]] registrar module to sell TLDs that none of the supported registrar modules allow. This lets you use WHMCS to accept the order and invoice the client while you perform the domain registration, renewals, and updates manually.
  
*Clients also receive full access to the management tools from the client area
+
=== Domain Pricing ===
*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====
+
You can configure your own pricing for domain registrations at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup > Products/Services > Domain Pricing'''.
  
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:
+
You can also use automatic domain registration for many TLDs to ensure that WHMCS automatically submits renewal requests as soon as you receive payment.
  
*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.
+
=== Offering Free Domain Registration with Selected Packages ===
*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===
+
<div class="docs-alert-info">
 +
<span class="title">Note</span><br />
 +
In WHMCS 8.2 and higher:
 +
* Domains cannot be renewed individually through the Client Area if they are eligible for free renewal bundled with a product or service..
 +
* You can choose whether to send free domain renewal notices. For more information, see [[Domain Renewal Notices]].
 +
</div>
 +
 +
With WHMCS, you are able to offer free domains with your packages clients purchase them with certain payment terms. For example, you might want to offer a free domain when a client purchases an annual package.
  
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.
+
For more information, see [[Free Domains]].
  
#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.
+
== Domain Renewals ==
#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
 
#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====
+
You can configure whether domains renew before sales, or you can enable or disable auto renewals for a specific purchased domain from within the client profile.
  
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.
+
To disable automatic renewals for a specific domain if, for example, you do not want to generate an invoice and want the domain to expire, toggle '''Disable Auto Renew''' to '''YES''' in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab of the client's profile. Clients can do this by toggling the option in the Client Area domain details page.
  
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.
+
For specific information about domain renewals, renewal pricing, and auto-renewals in WHMCS, see [[Domain Renewals]].
 +
 +
=== Domain Renewal Notices ===
  
===Viewing/Editing Domain Nameservers===
+
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]
 +
 +
By default, the system sends at least two domain renewal notices prior to expiration and one following it.
  
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.
+
* You can change the timing, send reminders before and after a domain's expiration date, or disable it.
 +
* You can view information about past remimnders in the client's '''[[Clients:Emails/Notes/Logs_Tabs|Email]]''' tab or in the system logs in the [[Reports#Domain_Renewal_Reminder_Emails|Domain Renewal Reminder Emails]] report for ICANN compliance, if your module supports this.
 +
* You can change the interval at which WHMCS sends domain renewal reminder notices at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup > Automation Settings'''.
 +
* You can customize renewal notice emails at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Email Templates]]''' or, prior to WHMCS 8.0, '''Setup > Email Templates'''.
 +
 
 +
For more information, see [[Domain Renewal Notices]].
 +
 
 +
== Customizations ==
 +
 
 +
WHMCS allows you to customize certain aspects of domain sales and management:
 +
 
 +
=== WHOIS and Domain Field Customization Retentions ===
 +
 
 +
WHMCS 7.0 introduced override capabilities to WHOIS servers and additional domain fields. These provide an easy way to maintain customisations during automatic updates. In addition, the location and format for some of these files changed.
 +
 
 +
For more information, see [[WHOIS Servers]] and [[Additional Domain Fields]].
 +
 
 +
<div class="docs-alert-warning">
 +
WHMCS will report the results from the Whois servers. Some Whois servers may not correctly report reserved or premium domains.
 +
</div>
 +
 
 +
=== Domain Name Length Restrictions ===
 +
 
 +
The major TLDs have length limits by default. You can specify your own for any others by adding lines like these to the WHMCS configuration.php file:
 +
 
 +
$DomainMinLengthRestrictions[".asia"] = 3;
 +
$DomainMaxLengthRestrictions[".asia"] = 64;
 +
$DomainMinLengthRestrictions[".ws"] = 4;
 +
$DomainMaxLengthRestrictions[".ws"] = 63;
 +
 
 +
=== Domain Renewal Restrictions ===
 +
 
 +
Many TLDs have restrictions on renewal before and after expiration (the grace period). For example, you can typically renew a .com 40 days after the expiry date, while you can renew .uk domains between 180 days prior to expiration up to 97 days afterwards (registrar dependent).
 +
 
 +
The major TLDs have grace periods by default. You can specify your own for any others by adding lines such as these to the configuration.php file:
 +
 
 +
$DomainRenewalGracePeriods[".com"] = "40";
 +
$DomainRenewalMinimums[".co.uk"] = "180";
 +
$DomainRenewalGracePeriods[".co.uk"] = "97";
 +
 
 +
You can also specify multiple grace periods and minimum advance renewal restrictions in a single entry:
 +
 
 +
$DomainRenewalGracePeriods = array(".com"=>"30",".net"=>"40",".uk"=>"97");
 +
$DomainRenewalMinimums = array(".com"=>"180",".com.au"=>"90");
 +
 
 +
There are defined default Domain Grace and Redemption Period values for over 800 of the most common TLDs and extensions. For more information, see [[Domain_Grace_and_Redemption_Grace_Periods#Domain_Grace_and_Redemption_Period_Defaults|Domain Grace and Redemption Period Defaults]].
 +
 +
The default Minimum Renewal Periods are:
 +
 
 +
.co.uk = 180,.org.uk = 180,.me.uk = 180,.com.au = 90,.net.au = 90,.org.au = 90
 +
 
 +
The default minimum length is three characters and the default maximum length is 63 characters for the following TLDs:
 +
 
 +
.com, net, .org, .info, biz, .mobi, .name, .asia, .tel,.in, .mn, .bz, .cc
 +
.tv, .us, .me, .co.uk, .me.uk, .org.uk, .net.uk, .ch, .li, .de, .jp
 +
 
 +
=== Domain Pricing Page Layout ===
 +
 
 +
The '''Client Area Domain Extension Pricing''' page is at <tt>cart.php?a=add&domain=register</tt>. It is designed to provide visitors and clients an intuitive overview of your extension pricing. The layout of this client area page should aid you in promoting your best extensions.
 +
 
 +
[[File:Tld_client_spotlight_logo.png|700px]]
 +
 
 +
For more information about domain spotlights, see [[Domain Pricing Matrix]].
 +
 
 +
=== Domain Categories ===
 +
 
 +
Domain Categories are used on <tt>cart.php?a=add&domain=register</tt> to group domain TLDs into categories such as '''Popular''', '''Shopping''', or '''Real Estate''' and makes it easier for clients to navigate and find their ideal domain extension.
 +
 
 +
For more information about customising the domain categories, see [[Domain Categories]].
 +
 
 +
== Managing Client Domains ==
 +
 
 +
=== Domain Registrations ===
 +
 
 +
Some scenarios may require you to work with domain registrations as they occur:
 +
 
 +
==== Handling New Domain Registrations and 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.
 +
 
 +
* 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.
 +
* 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.
 +
* 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]] or contact the registrar.
 +
 
 +
=== Domain Management for Clients ===
 +
 
 +
Clients receive full access to the management tools from the client area. If the associated registrar supports it, they can perform actions like:
 +
 
 +
* Changing or registering nameservers.
 +
* Changing the domain's lock status.
 +
* Changing the auto renewal setting or ordering renewals.
 +
* Viewing or editing WHOIS information.
 +
* Managing DNS records.
 +
* Configuring email forwarding.
 +
* Requesting EPP codes.
 +
 
 +
=== Domain Management for Admins ===
 +
 
 +
As an admin, you can manage individual domains from the '''[[Clients:Domains Tab|Domains]]''' tab in a client's profile.
 +
 
 +
* This displays current nameservers and lock status with the stored values from the database.
 +
* You can use this page to perform registrar commands (for example, '''Renew''', '''Modify WHOIS''', and '''Get EPP Code''').
 +
* You can enable or disable domain addons (for example, DNS management, ID protection and email forwarding).
 +
 
 +
==== Managing Domains In Bulk ====
 +
 
 +
The following bulk actions are available to clients beneath the Domains list in the client profile. They allow you to make 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.
 +
 
 +
====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 '''[[Clients:Domains Tab|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====
 
====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.
+
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====
  
===Viewing/Editing WHOIS Information===
+
To view and make changes to the WHOIS Contact Information for a domain inside WHMCS, from the '''[[Clients:Domains Tab|Domains]]''' tab within a Clients Profile, click '''Modify Domain Contact Details''' in '''Registrar Commands'''.  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.
  
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.
+
====Moving a Domain to another Client====
  
===Domain Renewals===
+
[[File:Transfer product.png|thumb|Transfer Domain Popup]]
  
====How it Works====
+
To move a domain to a new client:
  
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'''
+
# When viewing the domain you want to move in the '''[[Clients:Domains Tab|Domains]]''' tab, click '''Move Domain to Another Client''' at the top-right of the page.
 +
# In the window that appears, enter the ID of the new owner. If you don't know the client's ID, you can search by name, company, or email address. Click the client's name and the system will fill in the ID.
 +
# Click '''Transfer'''. The system will move the domain, the window will close, and the original window will refresh to show the domain under its new owner.
  
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.
+
This process won't change the WHOIS details on the domain. If you wish to update those, click '''Modify Contact Details''' in the '''[[Clients:Domains Tab|Domains]]''' tab.
  
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.
+
<div class="docs-alert-warning">
 +
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.
 +
</div>
  
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]]
+
==== Deleting a Domain from a Client ====
  
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.
+
When viewing the domain you want to delete, click '''More''' and then click '''Delete'''. After clicking this link, the system will prompt you to confirm whether you are sure you want to delete the domain.  
  
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.
+
* 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.
  
====Grouped Renewal Reminders====
+
Deleting a domain from WHMCS will not perform any action at the domain registrar.
With WHMCS v5.1 we introduced the functionality to group together domain notices.
 
  
Any domain reminder option that is set to 30 or more will send on the 11th of the month. This will group together any domains for a client that expire "in the next xx days".
+
===Domain Renewals===
  
Anything less than 30 would be sent exactly on the day that the reminder is defined. This will still group together the domains, but in the format of "the domains will expire in xx days", so only domains that have the same next due date will be grouped for these notices.
+
By default, domains will invoice automatically in advance of the renewal date. Your invoice generation settings in '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup > Automation Settings''' determine how far in advance renewal invoicing occurs.
  
Once a reminder is sent, this is defined against the client domain record so another notice is not sent for the same period.
+
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.
  
Notices are sent based on the next due date on the domain, not the expiry date. This is because the expiry date can be different to the next due date, if you wished to have your client renew the domain early for example.
+
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.
  
=====Email Syntax=====
+
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]].
The grouped renewal reminder feature provides advanced variables allowing for the customisation of the domain renewal emails sent to clients. Under normal operation the renewal reminder email template can be left as default, but '''advanced users''' interested in customising it, the available options are summarised here.
 
  
* '''$days_until_expiry''' - Set when sending the reminder notice for 30 days or more on the 11th of the month. This is set to the value defined in the reminder settings.
+
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. You can control this via the setting '''Auto Renew on Payment''' in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''. If '''Auto Renew on Payment''' is disabled, the system will not send a renewal command to the registrar. Instead, if '''Create To-Do List Entries''' is enabled, the system will add an entry at '''Utilities > [[To-Do List]]'''. If both '''Auto Renew on Payment''' and '''Create To-Do List Entries''' are disabled, the system will not perform any action.
* '''$expiring_domains''' - This is set when a reminder notice for 30 days or more is sent on the 11th of the month. This contains a list of the domains expiring "in the next" XX days. This is an array of information containing domainid, name, nextduedatem expirydate and days.
 
* '''$domains''' - Set for reminders of less than 30 days where more than one domain has the same next due date on the client account. This is populated with the domain information - domainid, name, nextduedate, expirydate.
 
  
====Manually Registering/Renewing a Domain====
+
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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup > Products/Services > Domain Pricing''' for the renewals.
  
For some trusted customers, or indeed for your own domains, you may wish to register or renew a domain without payment. To do this:
+
==== Subscriptions and Renewals ====
  
# Navigate to the domains tab in the client's profile for the desired domain
+
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:
# Click the '''Renew''' button in the '''Registrar Commands''' row of buttons to immediately send a renewal request to the domain registrar
 
# 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:
+
* 2Checkout Inline Mode
  
# 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)
+
For other subscriptions, WHMCS will not offer clients the option to create subscriptions when paying for a domain renewal invoice:
# Copy the line item and amount for the domain from the existing line to a new invoice line item and save
 
# 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===
+
* PayPal Subscriptions
[[File:Transfer product.png|thumb|Transfer Domain Popup]]
+
* 2Checkout Standard Mode
#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
 
#A popup box will appear (you will need popup blockers disabled to use this)
 
#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.
 
#After selecting the desired client, click the '''Transfer''' button
 
#The domain will then be moved, the window will close, and the original window will refresh to show the domain under its new owner.
 
#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===
+
==== Domain Renewal Notices ====
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===
+
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.
  
#When viewing the domain you want to delete, scroll to the bottom of the page and click the red '''Delete''' link
+
For more information on this functionality, see the [[Domain Renewal Notices]] documentation.
#After clicking this link, you will be asked to confirm if you are sure you want to delete the domain
 
#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.
+
=== Manually Registering or 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:
 +
==== Manually Registering a Domain ====
 +
To manually register a domain:
 +
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile.
 +
# Click '''Register''' in the '''Registrar Commands''' section to immediately send a registration request to the domain registrar. If the request succeeds, the expiry date will update.
 +
==== Manually Renewing a Domain ====
 +
To manually renew a domain:
 +
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile.
 +
# Click '''Renew''' in the '''Registrar Commands''' section to immediately send a renewal request to the domain registrar. If the request succeeds, the expiry date will update.
 +
# You should also increment the next due date if you are manually handling payment according to the steps 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:
 +
# Locate the invoice for the domain. To do this, click '''View Invoices''' on the domain page to see 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 and save.
 +
# Delete the original line item from the invoice. You are removing the actual link to the domain so no further renewal will occur.

Latest revision as of 13:05, 7 March 2023

WHMCS allows the automated management of domains with a wide selection of built in registrars.

In WHMCS, you can configure your settings and choose registrars to customize how you sell domains. After domain purchases, you can perform all of the common tasks you are likely to need when providing and supporting users with their domains.

Domain Management Features
The exact domain management features that are available depend on the domain registrar you choose. For a list of available features, see the individual registrar's documentation.

Domain Configuration

Before you can sell domains, you must configure domain registration and other important settings. You can configure the following domain-related settings:

System Domain Settings

You can configure the domain options you offer (registration, transfers, or using the client's own domain) and various payment and renewal settings in the Domains tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.

Registrar Configuration

You can configure domain registrars at Configuration () > System Settings > Domain Registrars or, prior to WHMCS 8.0, Setup > Products/Services > Domain Registrars.

You can use the Email registrar module to sell TLDs that none of the supported registrar modules allow. This lets you use WHMCS to accept the order and invoice the client while you perform the domain registration, renewals, and updates manually.

Domain Pricing

You can configure your own pricing for domain registrations at Configuration () > System Settings > Domain Pricing or, prior to WHMCS 8.0, Setup > Products/Services > Domain Pricing.

You can also use automatic domain registration for many TLDs to ensure that WHMCS automatically submits renewal requests as soon as you receive payment.

Offering Free Domain Registration with Selected Packages

Note
In WHMCS 8.2 and higher:

  • Domains cannot be renewed individually through the Client Area if they are eligible for free renewal bundled with a product or service..
  • You can choose whether to send free domain renewal notices. For more information, see Domain Renewal Notices.

With WHMCS, you are able to offer free domains with your packages clients purchase them with certain payment terms. For example, you might want to offer a free domain when a client purchases an annual package.

For more information, see Free Domains.

Domain Renewals

You can configure whether domains renew before sales, or you can enable or disable auto renewals for a specific purchased domain from within the client profile.

To disable automatic renewals for a specific domain if, for example, you do not want to generate an invoice and want the domain to expire, toggle Disable Auto Renew to YES in the Products/Services tab of the client's profile. Clients can do this by toggling the option in the Client Area domain details page.

For specific information about domain renewals, renewal pricing, and auto-renewals in WHMCS, see Domain Renewals.

Domain Renewal Notices

Domain Reminder Settings

By default, the system sends at least two domain renewal notices prior to expiration and one following it.

  • You can change the timing, send reminders before and after a domain's expiration date, or disable it.
  • You can view information about past remimnders in the client's Email tab or in the system logs in the Domain Renewal Reminder Emails report for ICANN compliance, if your module supports this.
  • You can change the interval at which WHMCS sends domain renewal reminder notices at Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings.
  • You can customize renewal notice emails at Configuration () > System Settings > Email Templates or, prior to WHMCS 8.0, Setup > Email Templates.

For more information, see Domain Renewal Notices.

Customizations

WHMCS allows you to customize certain aspects of domain sales and management:

WHOIS and Domain Field Customization Retentions

WHMCS 7.0 introduced override capabilities to WHOIS servers and additional domain fields. These provide an easy way to maintain customisations during automatic updates. In addition, the location and format for some of these files changed.

For more information, see WHOIS Servers and Additional Domain Fields.

WHMCS will report the results from the Whois servers. Some Whois servers may not correctly report reserved or premium domains.

Domain Name Length Restrictions

The major TLDs have length limits by default. You can specify your own for any others by adding lines like these to the WHMCS configuration.php file:

$DomainMinLengthRestrictions[".asia"] = 3;
$DomainMaxLengthRestrictions[".asia"] = 64;
$DomainMinLengthRestrictions[".ws"] = 4;
$DomainMaxLengthRestrictions[".ws"] = 63;

Domain Renewal Restrictions

Many TLDs have restrictions on renewal before and after expiration (the grace period). For example, you can typically renew a .com 40 days after the expiry date, while you can renew .uk domains between 180 days prior to expiration up to 97 days afterwards (registrar dependent).

The major TLDs have grace periods by default. You can specify your own for any others by adding lines such as these to the configuration.php file:

$DomainRenewalGracePeriods[".com"] = "40";
$DomainRenewalMinimums[".co.uk"] = "180";
$DomainRenewalGracePeriods[".co.uk"] = "97"; 

You can also specify multiple grace periods and minimum advance renewal restrictions in a single entry:

$DomainRenewalGracePeriods = array(".com"=>"30",".net"=>"40",".uk"=>"97");
$DomainRenewalMinimums = array(".com"=>"180",".com.au"=>"90");

There are defined default Domain Grace and Redemption Period values for over 800 of the most common TLDs and extensions. For more information, see Domain Grace and Redemption Period Defaults.

The default Minimum Renewal Periods are:

.co.uk = 180,.org.uk = 180,.me.uk = 180,.com.au = 90,.net.au = 90,.org.au = 90

The default minimum length is three characters and the default maximum length is 63 characters for the following TLDs:

.com, net, .org, .info, biz, .mobi, .name, .asia, .tel,.in, .mn, .bz, .cc
.tv, .us, .me, .co.uk, .me.uk, .org.uk, .net.uk, .ch, .li, .de, .jp

Domain Pricing Page Layout

The Client Area Domain Extension Pricing page is at cart.php?a=add&domain=register. It is designed to provide visitors and clients an intuitive overview of your extension pricing. The layout of this client area page should aid you in promoting your best extensions.

Tld client spotlight logo.png

For more information about domain spotlights, see Domain Pricing Matrix.

Domain Categories

Domain Categories are used on cart.php?a=add&domain=register to group domain TLDs into categories such as Popular, Shopping, or Real Estate and makes it easier for clients to navigate and find their ideal domain extension.

For more information about customising the domain categories, see Domain Categories.

Managing Client Domains

Domain Registrations

Some scenarios may require you to work with domain registrations as they occur:

Handling New Domain Registrations and 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.

  • 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.
  • 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.
  • 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 or contact the registrar.

Domain Management for Clients

Clients receive full access to the management tools from the client area. If the associated registrar supports it, they can perform actions like:

  • Changing or registering nameservers.
  • Changing the domain's lock status.
  • Changing the auto renewal setting or ordering renewals.
  • Viewing or editing WHOIS information.
  • Managing DNS records.
  • Configuring email forwarding.
  • Requesting EPP codes.

Domain Management for Admins

As an admin, you can manage individual domains from the Domains tab in a client's profile.

  • This displays current nameservers and lock status with the stored values from the database.
  • You can use this page to perform registrar commands (for example, Renew, Modify WHOIS, and Get EPP Code).
  • You can enable or disable domain addons (for example, DNS management, ID protection and email forwarding).

Managing Domains In Bulk

The following bulk actions are available to clients beneath the Domains list in the client profile. They allow you to make 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.

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 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 tab within a Clients Profile, click Modify Domain Contact Details in Registrar Commands. 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.

Moving a Domain to another Client

Transfer Domain Popup

To move a domain to a new client:

  1. When viewing the domain you want to move in the Domains tab, click Move Domain to Another Client at the top-right of the page.
  2. In the window that appears, enter the ID of the new owner. If you don't know the client's ID, you can search by name, company, or email address. Click the client's name and the system will fill in the ID.
  3. Click Transfer. The system will move the domain, the window will close, and the original window will refresh to show the domain under its new owner.

This process won't change the WHOIS details on the domain. If you wish to update those, click Modify Contact Details in the 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

When viewing the domain you want to delete, click More and then click Delete. After clicking this link, the system will prompt you to confirm whether you are sure you want to delete the domain.

  • 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.

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

Domain Renewals

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 renewal invoicing occurs.

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. You can control this via the setting Auto Renew on Payment in the Domains tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings. If Auto Renew on Payment is disabled, the system will not send a renewal command to the registrar. Instead, if Create To-Do List Entries is enabled, the system will add an entry at Utilities > To-Do List. If both Auto Renew on Payment and Create To-Do List Entries are disabled, the system will not perform any action.

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.

Subscriptions and 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 or 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:

Manually Registering a Domain

To manually register a domain:

  1. Navigate to the desired domain in the Domains tab in the client's profile.
  2. Click Register in the Registrar Commands section to immediately send a registration request to the domain registrar. If the request succeeds, the expiry date will update.

Manually Renewing a Domain

To manually renew a domain:

  1. Navigate to the desired domain in the Domains tab in the client's profile.
  2. Click Renew in the Registrar Commands section to immediately send a renewal request to the domain registrar. If the request succeeds, the expiry date will update.
  3. You should also increment the next due date if you are manually handling payment according to the steps 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 View Invoices 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.