The following are the steps to configure Module Registrar :
- Extract addons.zip file. There are two directories in this file, namely domainid and templates.
- Copy the directory domainid to [WHMCSROOT]/modules/addons. Make sure the location of domainid.php, hooks.php, and trigger.php is located in [WHMCSROOT]/modules/addons/domainid/.
- Copy the directory templates to [WHMCSROOT]/templates/. Make sure .tpl file location is in directory that another WHMCS templates is located.
- Copy contactdomain.php into directory [WHMCSROOT]/.
- Copy domainiddns.php into directory [WHMCSROOT]/.
- Especially for portal template users, open file portal_update_style.css that provided in domainid.zip packet. Copy the content of this file into file [WHMCSROOT]/templates/portal/style.css.
- Login to WHMCS admin panel, go to Setup – Addon Modules menu. In this addons configuration, if previous steps did successfully, you will see module SRS-X Domain .ID Addons. Then, click Activate button.

- Click Configure button to configure the addons, input your reseller Username, Password, and URL.

- Now, configure the domain that will use Auto Provisioning by giving a tick in this provided checkbox.

- If you would adding email when processing .ID domain order, you can create email template in WHMCS, then options will be shown as dropdown automatically.

- After finishing the configuration, click Save Change button.
- Modify template clientareadomaindetails.tpl in template that you will used. For example, you would use default template, the location of the file is in [WHMCSROOT]/templates/default/clientareadomaindetails.tpl. Do the following modification :
Add a Tab for Uploading Document in Client panel
<div id="tabs">
<ul>
<li id="tab1nav"><a href="#tab1">{$LANG.information}</a></li>
<li id="tab2nav"><a href="#tab2">{$LANG.domainsautorenew}</a></li>
<!-- lines added -->
{if $tld eq "co.id" || $tld eq "or.id" || $tld eq "ac.id" || $tld eq "my.id" || $tld eq "biz.id" || $tld eq "sch.id" || $tld eq "web.id" }
{if $hook_domainid_status}<li><a id="hookaddonsdomainid" href="#domainid">Status Domain .ID</a></li>{/if}
{/if}
<!-- lines added -->
{if $rawstatus == "active"}<li id="tab3nav"><a href="#tab3">{$LANG.domainnameservers}</a></li>{/if}
{if $lockstatus}{if $tld neq "co.uk" && $tld neq "org.uk" && $tld neq "ltd.uk" && $tld neq "plc.uk" && $tld neq "me.uk"}<li id="tab4nav"><a href="#tab4">{$LANG.domainregistrarlock}</a></li>{/if}{/if}
{if $releasedomain}<li id="tab5nav"><a href="#tab5">{$LANG.domainrelease}</a></li>{/if}
{if $addonscount}<li id="tab6nav"><a href="#tab6">{$LANG.clientareahostingaddons}</a></li>{/if}
{if $managecontacts || $registerns || $dnsmanagement || $emailforwarding || $getepp}
<li><a data-toggle="dropdown" href="#">{$LANG.domainmanagementtools} <b></b></a>
<ul>
{if $managecontacts}<li><a href="clientarea.php?action=domaincontacts&domainid={$domainid}">{$LANG.domaincontactinfo}</a></li>{/if}
{if $registerns}<li><a href="clientarea.php?action=domainregisterns&domainid={$domainid}">{$LANG.domainregisterns}</a></li>{/if}
{if $dnsmanagement}<li><a href="clientarea.php?action=domaindns&domainid={$domainid}">{$LANG.clientareadomainmanagedns}</a></li>{/if}
{if $emailforwarding}<li><a href="clientarea.php?action=domainemailforwarding&domainid={$domainid}">{$LANG.clientareadomainmanageemailfwds}</a></li>{/if}
{if $getepp}<li></li>
<li><a href="clientarea.php?action=domaingetepp&domainid={$domainid}">{$LANG.domaingeteppcode}</a></li>{/if}
{if $registrarcustombuttons}<li></li>
{foreach from=$registrarcustombuttons key=label item=command}
<li><a href="clientarea.php?action=domaindetails&id={$domainid}&modop=custom&a={$command}">{$label}</a></li>
{/foreach}{/if}
</ul>
</li>
{/if}
</ul>
</div>
Fill Upload Document Tab
<br />
<br />
<br />
<br />
</div>
</div>
</div>
</div>
<!-- lines added -->
<div id="domainid">
{$hook_domainid_content}
</div>
<!-- lines added -->
<div data-toggle="tab" id="tab3">
<div>
<div>
<div>
<div><h2>{$LANG.domainnameservers}</h2></div>
<p>{$LANG.domainnsexp}</p>
</div>
</div>
<div>
<div>
<form method="post" action="{$smarty.server.PHP_SELF}?action=domaindetails">
<input type="hidden" name="id" value="{$domainid}" />
<input type="hidden" name="sub" value="savens" />
<p>
<label><input type="radio" name="nschoice" value="default" onclick="disableFields('domnsinputs',true)"{if $defaultns} checked{/if} /> {$LANG.nschoicedefault}</label>
<label><input type="radio" name="nschoice" value="custom" onclick="disableFields('domnsinputs','')"{if !$defaultns} checked{/if} /> {$LANG.nschoicecustom}</label>
</p>
<br />
Contact Management Menu
<div id="tabs">
<ul>
<li id="tab1nav"><a href="#tab1">{$LANG.information}</a></li>
<li id="tab2nav"><a href="#tab2">{$LANG.domainsautorenew}</a></li>
{if $rawstatus == "active"}<li id="tab3nav"><a href="#tab3">{$LANG.domainnameservers}</a></li>{/if}
{if $lockstatus}{if $tld neq "co.uk" && $tld neq "org.uk" && $tld neq "ltd.uk" && $tld neq "plc.uk" && $tld neq "me.uk"}<li id="tab4nav"><a href="#tab4">{$LANG.domainregistrarlock}</a></li>{/if}{/if}
{if $releasedomain}<li id="tab5nav"><a href="#tab5">{$LANG.domainrelease}</a></li>{/if}
{if $addonscount}<li id="tab6nav"><a href="#tab6">{$LANG.clientareahostingaddons}</a></li>{/if}
{if $managecontacts || $registerns || $dnsmanagement || $emailforwarding || $getepp}
<li><a data-toggle="dropdown" href="#">{$LANG.domainmanagementtools} <b></b></a>
<ul>
<!-- lines added -->
{if $tld eq "co.id" || $tld eq "or.id" || $tld eq "ac.id" || $tld eq "my.id" || $tld eq "biz.id" || $tld eq "sch.id" || $tld eq "web.id" }
{if $managecontacts}<li><a href="contactdomain.php?action=domaincontacts&domainid={$domainid}">{$LANG.domaincontactinfo}</a></li>{/if}
{else}
{if $managecontacts}<li><a href="clientarea.php?action=domaincontacts&domainid={$domainid}">{$LANG.domaincontactinfo}</a></li>{/if}
{/if}
<!-- lines added -->
{if $registerns}<li><a href="clientarea.php?action=domainregisterns&domainid={$domainid}">{$LANG.domainregisterns}</a></li>{/if}
{if $dnsmanagement}<li><a href="clientarea.php?action=domaindns&domainid={$domainid}">{$LANG.clientareadomainmanagedns}</a></li>{/if}
{if $emailforwarding}<li><a href="clientarea.php?action=domainemailforwarding&domainid={$domainid}">{$LANG.clientareadomainmanageemailfwds}</a></li>{/if}
{if $getepp}<li></li>
<li><a href="clientarea.php?action=domaingetepp&domainid={$domainid}">{$LANG.domaingeteppcode}</a></li>{/if}
{if $registrarcustombuttons}<li></li>
{foreach from=$registrarcustombuttons key=label item=command}
<li><a href="clientarea.php?action=domaindetails&id={$domainid}&modop=custom&a={$command}">{$label}</a></li>
{/foreach}{/if}
</ul>
</li>
{/if}
</ul>
</div>
ATTENTION : If you currently using another addons to make document management (especially for TLD domain), set the link for this following code to contact management addons that you use.
{if $managecontacts}<li><a href="clientarea.php?action=domaincontacts&domainid={$domainid}">{$LANG.domaincontactinfo}</a></li>{/if}
DNS Management Menu (Portal Template)
Open file [WHMCSROOT]/templates/portal/header.tpl, add this following line of code just before “</head>” tag :
<script type="text/javascript" src="templates/{$template}/js/domainiddns.js"></script>
Open file [WHMCSROOT]/templates/portal/clientareadomaindetails.tpl, then update it by insert this following lines of code :
{if $dnsmanagement}
<td>
<!-- lines added -->
{if $tld eq "co.id" || $tld eq "or.id" || $tld eq "ac.id" || $tld eq "my.id" || $tld eq "biz.id" || $tld eq "sch.id" || $tld eq "web.id" }
<form method="post" action="domainiddns.php?action=managednszone&domain={$domain}&domainid={$domainid}">
{else}
<form method="post" action="{$smarty.server.PHP_SELF}?action=domaindns">
{/if}
<!-- lines added -->
<input type="hidden" name="domainid" value="{$domainid}">
<p align="center">
<input type="submit" value="{$LANG.domaindnsmanagement}">
</p>
</form>
</td>
{/if}
DNS Management Menu (Default Template)
Open file [WHMCSROOT]/templates/default/header.tpl, add this following line of code just before “</head>” tag :
<script type="text/javascript" src="templates/{$template}/js/domainiddns.js"></script>
Open file [WHMCSROOT]/templates/default/clientareadomaindetails.tpl, then update it by insert this following lines of code :
{if $dnsmanagement}
<!-- lines added -->
{if $tld eq "co.id" || $tld eq "or.id" || $tld eq "ac.id" || $tld eq "my.id" || $tld eq "biz.id" || $tld eq "sch.id" || $tld eq "web.id" }
<li>
<a href="domainiddns.php?action=managednszone&domain={$domain}&domainid={$domainid}">{$LANG.clientareadomainmanagedns}</a>
</li>
{else}
<!-- lines added -->
<li>
<a href="clientarea.php?action=domaindns&domainid={$domainid}">{$LANG.clientareadomainmanagedns}</a>
</li>
<!-- lines added -->
{/if}
<!-- lines added -->
{/if}