Importing from WHMCS

Within few mouse clicks you can import following data from your WHMCS installation:

  • Clients
  • Contacts
  • Servers / App Connections
  • Products
  • Addons
  • Orders
  • Accounts
  • Domains
  • Invoices
  • Transactions
  • Affiliate data
  • Knowledgebase articles
  • Ticket Departments
  • Support Tickets
  • Email history

Use at your own risk

This page describes Unmanaged/automated migration using provided import tool.
The migration tool is built to be as universal as possible so it comes with few shortcomings & no guarantee – especially if you use some third party whmcs modules.

To perform managed migration contact us for quote.

Before starting the import:

  1. Enable domain, hosting and payment modules that you want use for import. For example if you plan to import cPanel accounts you should enable related module in hostbill. You can also setup app connection for those modules and use it when importing. Otherwise import will create new apps that you will need to setup later.
  2. Setup currencies that you want to import (General settings > Currency & Tax Settings > Additional Currencies).
  3. Enable Multibrand if you plan to use it, and configure brands that you want to use for import.
  4. Disable HostBill cron (in crontab) and sending emails from HostBill
  5. Backup your HostBill database. If something goes wrong or you wish to re-do your  import you can revert backup and start over


Importing data:

  1. Contact support to receive latest copy of WHMCS import module. Unzip import module in your hostbill installation directory. Activate it trough module management page, from there you can access its configuration.


  2. Connect to your WHMCS database, select "WHMCS uses different database" and enter database details in the form that shows up.
    Enter your WHMCS DB:
    • Hostname
    • Port
    • Name
    • Username
    • Password

      Ensure that HostBill server is allowed to connect your whmcs db using provided credentials
  3. Optionally enter WHMCS Encryption Hash - it will be used to decrypt client credit cards. 
    $cc_encryption_hash can be found in configuration.php file of your whmcs install.

  4. Optionally enter WHMCS API details  - those will be used only if local card decryption using encryption hash fails. 
    Make sure HostBill IP is whitelisted to use Admin API + that API Credentials entered are allowed to use GetPayMethods call

  5. Select which data sets you want to import.
  6. Setup your currency, servers, registrars and payment modules mapping.
    1. Multibrand
      Select which brand will be used when importing clients.
    2. WHMCS Currency
      If you want to recalculate whmcs currency to another one, select it from the list and provide the rate that will be applied for the calculation.
    3. Server / Module Mapping & Registrars
      This allows you to map whmcs servers/registrars to hostbill apps, you can use existing servers or let import create them, if you select "Import as new App" make sure that you select correct module as this cannot be changed later. Please note that import is not able to retrieve passwords and non-standard details, you will need to update those apps after import and provide any missing details.
    4. Payment module
      This is used to map whmcs payment methods to those available in hostbill, it affects payment information on imported transactions, accounts and invoices.
  7. Setup product mapping.

    1. Domain Category
      Select existing domain order page or "Create new category". Domains will be imported using product from selected category, if product for specific TLD is missing import will create a new product for it.
    2. WHMCS Package
      This step allows you to select which product to import from whmcs, if you already created/imported some product in hostbill you can use it here to map whmcs packages to exiting hostbill products. You can also select to import whmcs packages as new products in hostbill.

      If you map whmcs packages to exiting product, import may update those product with from components that are required for whmcs accounts.
  8. Last step in import configuration will present you with command to execute using SSH on your HostBill server.

    If you want to import credit card details you will also need to add additional parameter '--hash' with the value of security hash found in whmcs configuration file, ie.:

    It is also advised to use nohup if your executing this command remotely:

    /usr/bin/nohup /usr/bin/php /home/.../whmcsimport/start.php \
    --host='whmcs.database.host' \
    --user='whmcs_db_username' \
    --password='whmcs_db_password' \
    --hash='whmcs_cc_encryption_hash' \
    'whmcs_db_name'

    After that you can track import progress with:

    tail -f nohup.out
  9. By default importer does not attempt to import service (accounts) passwords as its time-consuming process. You can attempt to import passwords after finishing above import process by running separate command (same as above with new argument → --action='getpwd')

    /usr/bin/php /home/.../whmcsimport/start.php \
    --host='whmcs.database.host' \
    --user='whmcs_db_username' \
    --password='whmcs_db_password' \
    --hash='whmcs_cc_encryption_hash' \
    --action='getpwd' \
    'whmcs_db_name'