Difference between revisions of "Domains Management"

From WHMCS Documentation

(Domain Renew)
(Deleting a Domain from a Client)
 
(47 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==General Domain Settings==
+
WHMCS allows the '''automated management''' of domains with a wide selection of built in registrars.
  
*This is where you configure which registration options you offer, payment and renewal settings and various other domain related options
+
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.
*More info on this on a specific page here: http://wiki.whmcs.com/Domains_Tab
 
  
==Domain Management==
+
<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>
  
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.
+
== Domain Configuration ==
  
===Available Management Features===
+
Before you can sell domains, you must configure domain registration and other important settings. You can configure the following domain-related settings:
  
*Domain Registration
+
=== System Domain Settings ===
*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 @ http://wiki.whmcs.com/Domain_Registrars for specific information.
+
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'''.  
  
===Where can I manage domains?===
+
=== Registrar Configuration ===
  
====Admins====
+
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'''.
  
*As an administrator, you can manage domains from the '''Domains''' tab inside a '''Clients Profile'''
+
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.  
*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
 
  
====Clients====
+
=== Domain Pricing ===
  
*Clients also receive full access to the management tools from the client area
+
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'''.
*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)
 
  
===Moving a Domain to another Client===
+
You can also use automatic domain registration for many TLDs to ensure that WHMCS automatically submits renewal requests as soon as you receive payment.
  
#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
+
=== Offering Free Domain Registration with Selected Packages ===
#A popup box will appear (you will need popup blockers disabled to use this)
 
#In the popup, a dropdown will appear of clients for you to select the client to move it to
 
#After selecting the desired client, click the '''Transfer''' button
 
#The domain will then be transferred, the window will close, and the original window will refresh to show the domain under its new owner.
 
  
'''Note:'''' If you have the '''Clients Dropdown''' disabled in '''General Settings''' then instead of a dropdown or clients you will get a text input box to enter the Client ID you want to move the product to.
+
<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.  
  
==Deleting a Domain from a Client==
+
For more information, see [[Free Domains]].
  
#When viewing the domain you want to delete, scroll to the bottom of the page and click the red '''Delete''' link
+
== Domain Renewals ==
#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.
+
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.  
  
==Registrar Configuration==
+
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.
  
*Domain Registrars can be configured by going to '''Setup > Domain Registrars'''
+
For specific information about domain renewals, renewal pricing, and auto-renewals in WHMCS, see [[Domain Renewals]].
*Choose the registrar you want to configure from the dropdown of available registrars and then enter the relevant details for your account
+
*Each registrar supported by WHMCS has specific instructions & requirements @ http://wiki.whmcs.com/Domain_Registrars
+
=== Domain Renewal Notices ===
*Here you can also set the '''default nameservers''' that WHMCS will use for domain only registrations ordered through the system
 
*We have prepared a video tutorial for this section @ http://www.whmcs.com/tutorials.php?i=7
 
  
==Configuring Domain Pricing==
+
[[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.
  
*You can manage domain pricing in '''Setup > Domain Pricing'''
+
* You can change the timing, send reminders before and after a domain's expiration date, or disable it.
*You need to setup all the TLDs you want to offer, their features & pricing
+
* 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.
*We have prepared a video tutorial for this section @ http://www.whmcs.com/tutorials.php?i=6
+
* 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'''.
  
===Adding a New TLD===
+
For more information, see [[Domain Renewal Notices]].
  
#The empty last row in the TLDs table is where you add new TLDs to your list
+
== Customizations ==
#Begin by entering the TLD including the preceeding . for example ".com", ".net", etc...
 
#If DNS Management, Email Forwarding or ID Protection is available & should be offered for this TLD check the boxes
 
#If an EPP code is required for transfers, tick the EPP Code box
 
#And if you want automatic registration to occur on payment, choose the registrar which should be used in the dropdown (more about this furthur down)
 
#Then click '''Save Changes''' to add
 
#Once added, you can click the '''Open Pricing''' link on the new TLDs row to edit the pricing matrix for the years available on this TLD
 
  
===Re-ordering TLDs===
+
WHMCS allows you to customize certain aspects of domain sales and management:
  
*Reordering TLDs is simply a drag & drop process
+
=== WHOIS and Domain Field Customization Retentions ===
*Position your mouse over the up/down arrows on the row you want to move, click+hold and then drag up or down
 
*Once it is where you want it to be, let go of the mouse button to assign it.
 
  
===Addon Pricing===
+
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.
  
*Domain addons consist of DNS Management, Email Forwarding & ID Protection
+
For more information, see [[WHOIS Servers]] and [[Additional Domain Fields]].
*These prices can be configured below the TLDs list also in '''Setup > Domain Pricing'''
 
  
==Automatic Domain Registration==
+
<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>
  
*With Automatic Domain Registration, you can automate the submission of '''registration''' and '''transfer''' requests with the built in registrars
+
=== Domain Name Length Restrictions ===
*When enabled, WHMCS will automatically submit the request to the registrar as soon as the client '''pays you''' for it
 
*Domain registrations are '''never''' submitted by the system before you get paid
 
*You can automate some TLDs while not others, and can select which '''registrar''' to be used for each TLD you offer
 
*To enable automatic registration, in '''Setup > Domain Pricing''' choose a registrar in the automatic registrar dropdown on each TLD you want to automate
 
*To not enable automatic registration, leave the dropdown set to None
 
  
'''Note:''' With automatic domain registration disabled, the system will wait after a client has paid until an admin user '''manually reviews''' the order and authorizes it. At that point, the admin user can still initiate the automatic registration by '''accepting the order''' once they are happy the order is legitimate.
+
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:
  
==Automatic Renewal==
+
$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:
  
*Domain renewals can be enabled for auto submission to the domain registrar as soon as you receive payment for them
+
*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.
*This setting is independant of the auto registration and so you can enable this without enabling auto registration
+
*Auto Renewal Status — Enable or Disable Auto-Renewal of all the selected domains.
*To turn this on, go to '''General Settings > Domains''' and tick the '''Auto Renew on Payment''' checkbox
+
*Registrar Lock Status — Enable or Disable the registrar lock for all the selected domains.
*Automatic renewal should always be turned '''off''' at the registrar, as this would override WHMCS' behaviour and renew regardless of if you get paid or not
+
*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====
  
===Renewing a domain before payment is received===
+
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.
  
For some trusted customers you may wish to renew the domain before you have actually received their payment. To do this:
+
====Viewing/Editing Locking Status====
  
# Access the domains tab in the client's profile for the desired domain
+
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.
# Click the '''Renew''' Module Command button to immediately send a 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 renewal is already invoiced, when that invoice is paid another domain renewal request would get sent to the registrar unless you stop it. So to do that you need to also perform these steps:
+
====Viewing/Editing WHOIS Information====
  
# Locate the invoice for the domain renewal (click the '''View Invoices''' link on the domain page to jump straight to a list of invoices for just that domain)
+
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.
# 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
 
  
==Domain Renew==
+
====Moving a Domain to another Client====
  
*By default, all domains are set to auto-renew.
+
[[File:Transfer product.png|thumb|Transfer Domain Popup]]
*But this is not the same as what domain regstrars commonly mean by auto-renew.
 
*In this case, we mean that an invoice will generate x days (as per your settings) prior to the due date and once paid, the domain will renew.
 
*It won't ever renew without payment being made.
 
*It is possible however to set a domain's auto renewal setting to off so that no invoice will generate and it will be allowed to expire.
 
*This can be done by ticking the Do Not Renew checkbox on the domains management page in the admin area or by the client themselves through the toggling of the option in the client area.
 
*When the disable auto renew button is clicked, WHMCS checks for any outstanding invoices and if the domain is invoiced on it's own that invoice is cancelled, or if an invoice for multiple items just the line item for the domain in question is removed from it.
 
  
==Offering Free Domain Registration with Selected Packages==
+
To move a domain to a new client:
  
With WHMCS, you are able to offer free domains with your packages when purchased with certain payment terms - for example you might want to offer a free domain when a package is purchased annually. The following steps walk you through how to do this.
+
# 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.
  
#Begin by going to '''Setup > Products/Services'''
+
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.
#Next, click the edit icon next to the product or service that you want to offer a free domain with
 
#Now select the '''Free Domain''' tab from the tabs at the top of the page
 
#Choose the type of free domain you want to offer, either '''first year free''' and renew as normal or ''for the lifetime''' of the package
 
#Then select the '''payment terms''' (AKA billing cycles) that you want to offer the free domain with - press '''Ctrl when clicking''' the options to select more than one
 
#Now you need to select '''which TLDs''' the free domain offer applies to. This allows you to '''exclude high priced''' TLDs such as .tv  Again, use Ctrl when clicking the options to select more than one
 
#Now click the '''Save Changes''' button
 
  
This package will now not charge the user for the domain when ordered with the specified criteria.
+
<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>
  
As long as the payment method for the domain and the hosting account is the same, and the next due date is the same, when the time for the invoice to generate comes up (based on the settings in your Automation settings), WHMCS will invoice for the hosting and the domain on the same invoice. When this invoice is paid, WHMCS will (if your settings allow in General Settings > Domains) automatically renew your clients domain for a further period. The hosting account and domains
+
==== Deleting a Domain from a Client ====
next due date will automatically change to the next period.
 
  
==Domain Renewal Notices==
+
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.
  
Domain Renewal Notices by default are sent 60, 30, 15, 7 & 1 Day(s) prior to expiry. This can be changed and even disabled if you want to.
+
* 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.
  
===Changing the Intervals at which Renewal Notices are sent===
+
Deleting a domain from WHMCS will not perform any action at the domain registrar.
  
#Begin by going to '''Setup > Automation Settings'''
+
===Domain Renewals===
#Scroll to the '''Domain Reminder Settings''' section of the page
 
#You can then change the number of days before expiry that the 1st, 2nd, 3rd, 4th & 5th reminders are sent
 
#You can disable an option by entering 0
 
  
===Editing the Renewal Notice Email that gets sent===
+
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.
  
*To edit the email message sent to clients, go to '''Setup > Email Templates'''
+
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.
*The email template name used for these emails is '''Upcoming Domain Renewal Notice'''
 
*Refer to http://wiki.whmcs.com/Messages/Emails#Email_Templates for more info on editing
 
  
== Adding a Custom TLD==
+
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.
  
WHMCS supports a large number of TLDs, however it is possible that you wish to use one not supported by default. You can add any TLD you like by opening the includes/whoisservers.php file. On the bottom line add your entry in the format:
+
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]].
  
* .extension|whois server|match string
+
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.
  
Where .extension is the TLD, whois server is the WHOIS server, and the match string is the message returned by the whois server when a domain is available for registration. An extensive list of whois servers can be found at [http://www.dnaz.net/whois.html DNAz.Net], if it not listed you will need to contact the registry to find out the appropriate information.
+
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.
  
==Domain Name Length==
+
==== Subscriptions and Renewals ====
  
The major TLDs have length limits included by default and you can specify your own for any others by adding lines such as these to the configuration.php file:
+
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:
  
$DomainMinLengthRestrictions[".asia"] = 3;
+
* 2Checkout Inline Mode
$DomainMaxLengthRestrictions[".asia"] = 64;
 
$DomainMinLengthRestrictions[".ws"] = 4;
 
$DomainMaxLengthRestrictions[".ws"] = 63;
 
  
==Domain Renewal Restrictions==
+
For other subscriptions, WHMCS will not offer clients the option to create subscriptions when paying for a domain renewal invoice:
  
Many TLDs have restrictions surrounding when they can be renewed after expiry, this is often referred to as the grace period. For example a .com can be renewed 40 days after the expiry date while .uk domains can be renewed up to 97 days after expiry.
+
* PayPal Subscriptions
 +
* 2Checkout Standard Mode
  
The major TLDs have grace periods included by default and you can specify your own for any others by adding lines such as these to the configuration.php file:
+
==== Domain Renewal Notices ====
  
  $DomainRenewalGracePeriods = array(".com"=>"30");
+
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.
  
You can also specify multiple grace periods in a single entry:
+
For more information on this functionality, see the [[Domain Renewal Notices]] documentation.
  
$DomainRenewalGracePeriods = array(".com"=>"30",".net"=>"40",".uk"=>"97");
+
=== 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.