Importing from WHMCS
Easily move from WHMCS into Upmind. We go through our step by step importer and show you what is needed.
What is WHMCS?
WHMCS is a self-hosted billing platform designed for hosting businesses. You can easily move from WHMCS into Upmind. Note that WHMCS can have many adjustments to databases or custom modules added. We do not import all of this data - we just get the core information we need in order to be able to effectively move your billing and client management to Upmind.
What can be imported?
Most core information from WHMCS can be imported into Upmind. This includes:
- Staff users
- Products
- Promotions
- Clients
- Support tickets
- Invoices
- Payment methods
- Affiliate accounts
- Tickets
We automatically attempt to map data (e.g. servers, domains) where possible. If we cannot automatically map data then we will prompt you to create mappings in the interface.
Before you import
There are a few things to set up before you import from WHMCS.
Setting | Description |
---|---|
Brand Settings | Set up your brand name and basic address settings. |
Tax Settings | Configure your tax settings if applicable |
Web Servers and Domain Providers | Add your shared web servers and domain providers, if applicable, under Settings > Provision Configurations . |
Payment Gateways | Add your payment gateways under Settings > Payment Providers |
Setting up WHMCS Access
Create WHMCS API Credentials
Our WHMCS importer uses the WHMCS API credentials to get data.

First, click API credentials under the settings menu.

Click the API Roles tab and then click Create API Role
You now need to create an API role that has all permissions. If you like, you can tick all of the check boxes under all of the menu items on the left. Alternatively you can search for any allow only the following API commands:
API Command |
---|
GetTicketUsers |
GetClients |
GetClientsDetails |
GetAffiliates |
GetAdminUsers (see note below) |
GetTickets |
GetInvoices |
GetCurrencies |
GetProducts |
GetOrders |
GetTLDPricing |
GetClientsDomains |
GetClientsProducts |
GetInvoice |
GetTicket |
GetPayMethods |
GetClientGroups |
GetSupportDepartments |
GetConfigurationValue |
Once done, hit 'Save'.

Give the API user all permissions.
GetAdminUsers API Functionality
We need access to the API call 'GetAdminUsers' which sometimes does not appear in the list above. If you get an error saying that this is not enabled, you need to associate it manually. Go into your database and the table tblapiroles
and add getadminusers
to the array.

Now go back to the first API Credentials tab and click 'Create New API Credential'

Click 'Create New API Credential'

Select the API role you created and an admin user, then hit 'Generate'.
Make a copy of your Service Identifier and Secret.
Whitelist our API IPs
You also need to whitelist the IP addresses shown in step 3 below in your WHMCS settings.
This is done through Settings -> General Settings. Then click the 'Security' tab. You need to enter our IP addresses under 'API IP Access Restriction'.
IP Addresses to add |
---|
54.246.211.116 |
52.48.214.19 |
34.250.219.217 |

Click 'Add IP' to allow the Upmind IPs.
If you use Cloudflare or another proxy for your WHMCS
If your website is behind a proxy server (for instance Cloudflare) or behing a load balancer, then you need to make sure you have followed the below setup.
https://docs.whmcs.com/Trusted_Proxy_Settings
Setting up the Upmind Import from WHMCS
In Upmind, navigate to Settings, then Import

Now click 'Create New Import' and choose 'WHMCS'. Hit 'Add New Credentials'.

Enter your WHMCS API credentials into Upmind like so.
Once you hit Save, your credentials will be tested. If the credentials are invalid, you will see an error and you can correct your data.
Once the data is added you can click 'Create Import'

Running through the import
Note
You can leave the import running and return to the screen at any point. No data will be lost and the import will not be interrupted.
You will now see a screen that looks as follows. Click 'Start Import;

The import will start in progress and we will begin the data export behind the scenes. As you can see we import data in order.
Products
Upmind treats domains and products all as a type of products. We do however only store one record of each TLD -- so if you already have a TLD (e.g. 'com') added then it won't be reimported - we'll just map any records to that existing product.
Once the first import set is done you will see the following happen. You will see an orange notification with the label 'Mappings required'

You will see 'mappings required'

Expanding this allows you to see the groups that need mapping.
This is category mapping. If you have set up Upmind categories under Settings
> Products and Service
you can map that here. This is entirely optional.

Choose a category you wish to map your imported category to.

One mapped it will show like this.
Once done you can click 'Confirm mapping(s) and continue'

Once done you can click 'Confirm' to move to the next step.
The products will now import

You can see progress in the progress bar.
Once imported the data will show in a list and you can click to view a the imported data. You cannot edit the staged data but you can preview it.

A list of all imported products

A preview of a staged imported product
This process continues for the remainder of the import sections.
Users
We automatically map users with the same email address on the system.
The mappings required map levels of permissions which you can set up under User Roles.
Clients
This exports your client database and imports it to Upmind. This may take some time. You can leave it to run in the background.
You will be given the option to map custom fields. You can create upmind custom fields in the settings panel.

Mapping options for custom fields on the client import.
Once clients records are imported you can go to a client profile and view their staged information.

Viewing staged imported data
Affiliate Accounts
This imports activated affiliate accounts. Note that we take affiliate activations and balances, but we do not export any affiliate links or ongoing referrals. These will need to be added manually.
Client Payment Details
You will need to map payment providers with ones you have added in the system.
Contracts
This is the current subscription and client product data. You will need to map provision configurations (servers, suppliers, domain registrars)
Tickets
This imports WHMCS support tickets. You can optionally map support ticket departments.
Previewing Data
Once data has been mapped, you can preview it. You cannot modify data in preview mode, and the clients cannot log in. This preview mode allows you to test the imported data and ensure it is correct before committing.
If you see any errors you can cancel the import at this point.
Committing data
You can commit data once you are happy with the staged import.
Best practices for import
Obviously, you want to avoid data being out of sync during an import, so we recommend the following process:
Prior to the import, add any servers, domain providers, and payment gateways into Upmind in advance.
- Back up your WHMCS install before any import. We only use GET requests but this is always good practice!
- Turn off any WHMCS crons and put WHMCS into maintenance mode.
- Run the import
- Once happy, you can take your WHMCS offline.
Troubleshooting
Q. My username and password are not correct.
A. You need to use the service identifier and secret under WHMCS API settings.
Q. The import fails with a malformed character issue ("Malformed UTF-8 characters, possibly incorrectly encoded")
A. This is often due to bad characters in the hosting account password. After taking a backup you could wipe the passwords from the hosting accounts - Upmind does not need them or store them. You can either do this through the interface or in the database.

Updated 6 days ago