Install and configure Openprovider module in WHMCS 8.X


The Openprovider module is compatible with WHMCS versions up to 8.6 and PHP 7.4.

Currently, the module is not actively maintained by Openprovider. Pull requests will be reviewed, and potentially merged. As this is an open-source project, users are encouraged to fork and develop the current module to meet their needs.


In this article, you will find everything you need to install and configure the Openprovider module in WHMCS 8.X, so that you can automatically register extensions that also allow additional fields, such as .es domains, without manipulation.


WHMCS Domain Module

The WHMCS module for Openprovider conveniently interacts with your Openprovider account, enabling you to simplify certain domain provisioning and management functions, such as enrollment, renewal, deletion, and contact information changes.

The module keeps the expiration dates of the domain and auto-renew settings aligned between the installation of your WHMCS and Openprovider account, meaning that the same domains are renewed every day.

In addition, the module allows you to search for domain availability using the Openprovider API, enhancing performance over the default domain availability check.


Install and configure the Openprovider Module
Download modules from :

Copy files into the module directories

  • Upload the contents of /modules/registrars/openprovider from this repository to <your WHMCS directory>/modules/registrars/openprovider
  • Upload the contents of /includes/hooks/ to <your WHMCS directory>/includes/hooks
  • If you do not have the file <your WHMCS directory>/resources/domains/additionalfields.php then add the example version from resources/domains/additionalfields.php
    • Otherwise, add the following lines to the top of your additionalfields.php file. :
if (function_exists('openprovider_additional_fields')) $additionaldomainfields = openprovider_additional_fields();
  • [Optional] Upload <Module directory>/modules/addons/openprovider to <WHMCS directory>/modules/addons

Basic Configurations

  • Navigate to Configuration >> System Settings >> Domain Registrars and activate Openprovider.


  1. Enter the credentials for an API user. Ensure API access is enabled in the Openprovider Control Panel for the credentials you are using
  2. Click Save
  3. Navigate to Configuration >> System Settings >> Domain Pricing and select Openprovider as registrar for the TLD that you want to sell via Openprovider Screenshot_20210203_180350

That's all you need to do to get started selling domains from Openprovider! Additional configurations can be found below.

Optional and Advanced configurations

Import prices

Lookup provider and domain name spinning

  • Click "change" to Choose Openprovider as the lookup provider Screenshot_20210203_180725 Screenshot_20210203_181056

  • Choose "configure" to select namespinning options

Enable premium domains

First Make sure that the currency that you are using to pay Openprovider is configured in
Configuration >> System Settings >> Currencies (prior to WHMCS 8.0, Setup >> Payments >> Currencies) 
 and click on Update Exchange Rate. Otherwise, WHMCS will not use the premium fee correctly, potentially meaning that your client will pay significantly less for the domain.




  1. Navigate to Configuration >> System Settings >> Domain Pricing
  2. Enable Support for premium domains
  3. Configure premium pricing and margins
  4. In the Advanced configuration file of the module (/modules/registrars/openprovider/configuration/advanced-module-configurations.php) find the parameter "OpenproviderPremium" and set it to true.


Allow additional DNS records

If you plan on allowing your end users to edit their own DNS records, and want them to be able to create all record types supported by Openprovider, you can make some modifications to the WHMCS templates as described here:

Allow end users to edit DNSSEC records

  • Upload the contents of <Module directory>/custom-pages to the top level of your WHMCS folder i.e. <your WHMCS directory>/
  • Create a directory named overrides within the <your WHMCS directory>/lang directory.
  • Copy the file lang/overrides/english.php to the overrides directory.
  • Navigate to the target client profile > Domains select the desired domain and under Management Tools activate "DNS Management".


  • The below option will appear in the domain details page of the chosen domain


Configure TLDs which don't allow locking (.nl, .be, .eu, .es)

Not all TLDs allow domain locking, but WHMCS assumes that this option is available for all domains. As a result, end users will see a warning "Domain Currently Unlocked!" when they visit the domain details page.

You can hide this option with the following changes to your template files.

  • Open clientareadomaindetails.tpl in the template you are using and replace
{if $lockstatus eq "unlocked"}


{$domainSplit = "."|explode:$domain}
{$domainTld = $domain|replace: $domainSplit.0 : ""}
{if $lockstatus eq "unlocked" && $domainTld != '.eu' && $domainTld != '.nl' && $domainTld != '.be'  && $domainTld != '.es'}

Configure tag management

Set up tag management to send custom emails to the end users of your resellers.

[DEPRECATED] Configure the Openprovider cron sync

This feature is deprecated since version 5.3 of the Openprovider domain module, and is not recommended for versions WHMCS 8+. We suggest that you use the WHMCS native domain sync and do not use the Openprovider custom sync for WHMCS 8 and higher.

Decide whether to use Openprovider Auto-renew

Various options exist for managing domain renewals. A detailed explanation of your options can be found here

Custom DNS Templates

  • Create a custom DNS template in the Openprovider control panel (DNS management > Manage DNS templates),
  • Put the name of it in the advanced configuration file and any domain created with the Openprovider nameservers will have a DNS zone automatically created on Openprovider nameservers according to your DNS template.


If there are any connectivity issues with Openprovider, or API commands are not working for some reason, the first troubleshooting step should be to look at the API logs.

  1. Go to the Module Log at Configuration > System Logs or, prior to WHMCS 8.0, Utilities > Logs.
  2. Set Module Logging to On.

 And you can find the raw API commands being sent and received by your WHMCS modules. The responses should contain some information about how the problem can be solved.



Common issues and solutions for them can be found here.

Was this article helpful?
Additional questions? Submit a request