Importing from WHMCS
Move from WHMCS to Upmind easily using our step-by-step importer
What is WHMCS?
WHMCS is a self-hosted billing and automation platform for hosting businesses. If you are planning to move your billing, client management, and support data from WHMCS to Upmind, this guide will walk you through the process.
Note that WHMCS installations often include customizations such as database adjustments or third-party modules, which may not be imported. Upmind focuses on importing core data necessary for client management and billing effectively.
What can be imported?
Upmind supports importing most core WHMCS data, including:
- Staff users
- Products and services
- Promotions
- Clients
- Support tickets
- Invoices
- Payment methods
- Affiliate accounts
- Domains and servers
If Upmind cannot automatically map certain data (e.g. servers, domains), you will be prompted to create manual mappings during import.
Preparing for the import
Before starting the import, verify and configure these settings in Upmind:
| Setting | Description |
|---|---|
| Brand Settings | Set your brand name and contact details. |
| Tax Settings | Configure tax rates relevant to your region. |
| Web Servers & Domain Providers | Add shared web servers, domain registrars under Settings > Provision Configurations. |
| Payment Gateways | Set up payment gateways under Settings > Payment Providers. |
Setting up WHMCS access for Upmind
Create API Credentials in WHMCS.
- In WHMCS admin, go to Setup > API Credentials.

Setup > API credentials
- Under
API Roles, create a new API Role.

Create API role
- Create an API role with full permissions by selecting all checkboxes or by allowing only specific API commands:
- GetTicketUsers
- GetClients
- GetClientsDetails
- GetAffiliates
- GetAdminUsers (special steps below)
- GetTickets
- GetInvoices
- GetCurrencies
- GetProducts
- GetOrders
- GetTLDPricing
- GetClientsDomains
- GetClientsProducts
- GetInvoice
- GetTicket
- GetPayMethods
- GetClientGroups
- GetSupportDepartments
- GetConfigurationValue
- Save the API Role.

Give the API user all permissions
GetAdminUsers API functionality
If the GetAdminUsers command does not appear or returns errors, manually add getadminusers to the tblapiroles table in your WHMCS database.

Add getadminusers
Creating API credentials
- Return to API Credentials.
- Click Generate New API Credential.

Generate new API credential
- Select the API Role created and assign an admin user.

Select API role
- Generate credentials and copy the Service Identifier and Secret.
Whitelist Upmind IP addresses in WHMCS
Add these IPs to Settings > General Settings > Security > API IP Access Restriction:
- 91.240.229.1
- 91.240.229.2
- 91.240.229.3
Proxy or Load Balancer configuration
If WHMCS is behind proxies like Cloudflare or load balancers, follow WHMCS’s trusted proxy setup at:
https://docs.whmcs.com/Trusted_Proxy_SettingsConfiguring the import in Upmind from WHMCS
- Go to Settings > Imports in Upmind.

Settings > Imports
- Click Create New Import and select WHMCS.

Create new import
- Click on Add New Credentials.

Add new credentials
- Add the URL, Username, Password, Admin Dashboard URL, and choose the Tax Setting collected from WHMCS.

Add details
- Save and test credentials. You can correct any errors.
- Once validated, click Create import.
Running the Import
You can leave the import running and return anytime. No data will be lost or interrupted.
You will now see a screen that looks as follows. Click Start Import.

Start import
The import starts immediately, running in the background, and imports data in order.
Products
Upmind treats both domains and products as types of products. However, it stores only one record for each top-level domain (TLD), like ".com." This means if a TLD such as "com" is already in the system, any new imports that include this TLD won't create a duplicate record.
Instead, the new data will be linked or mapped to the existing ".com" record. This approach keeps the system organized and avoids unnecessary duplicates while allowing all related data to connect properly under the existing TLD entry.
After the first import, you'll see an orange Mappings required notification.

Mappings required

Mappings required expanded
- Map categories if set up on
Store Cataloguefrom the dashboard or from under Settings > Products Catalogue. (optional)

Map categories
- Click Confirm mapping(s) and continue.

Product group

Confirm mapping(s) and continue
- Products will begin importing.

Importing in progress
- After import, view the data list, which you can preview but not edit staged data.

Staged data

Product info
- Repeat this process for the remaining import sections.
Users
Users with the same email are automatically mapped. Permission levels for these mappings are set up under User Roles.
Clients
Your client database will be exported to Upmind and may take time, but you can leave it running in the background.
You will be given the option to map custom fields. You can create upmind custom fields in the settings panel.

Client custom fields
Once the client's records are imported, you can go to a client profile and view their staged information.

Staged information
Affiliate accounts
Imports activate affiliate accounts, including activations and balances. Affiliate links and referrals must be added manually.
Client payment details
Requires mapping payment providers to those added in the system.
Contracts
Imports current subscriptions and client products. Map provision configurations like servers, suppliers, and domain registrars.
Tickets
Imports WHMCS support tickets. You can optionally map support ticket departments.
Previewing and committing data
After mapping data, you can preview it, but cannot edit or allow client login. Preview helps verify data before committing. If errors appear, cancel the import.
You can commit data once you are happy with the staged import.
Best practices
- Add servers, domain providers, and payment gateways in Upmind before importing to match your current setup and ensure smooth data mapping.
- Always back up your WHMCS database before importing to protect against data loss.
- Disable WHMCS cron jobs and enable maintenance mode during import to avoid conflicts or data changes.
- Keep WHMCS offline after import until you confirm all data is correct in Upmind.
Troubleshooting
Issue | Solution |
|---|---|
My username and password are not correct. | Use the WHMCS Service Identifier and Secret, not the admin password. |
Why does the import fail with "Malformed UTF-8 characters"? | This usually happens due to bad characters in the hosting account passwords. After backing up, you can remove passwords from the accounts. Upmind doesn't need or store them. This can be done via the interface or directly in the database. |

Username and password
Updated 8 days ago