ImportAssist
ImportAssist migrates data from external systems into a WHMCS installation. When you use ImportAssist, you can choose from either of the following import options:
- Database imports allow you to import data from another WHMCS system or from a supported third-party billing application.
- CSV file uploads allow you to import data from any system using a CSV import file.
- WHMCS does not include this addon module by default.
- For more information and current release information, see ImportAssist on the WHMCS Marketplace.
- For more information about moving existing data to WHMCS, see Migrate Data to WHMCS.
Activation
Before you can activate ImportAssist, you must download it from the WHMCS Marketplace.
To do this:
- Download the latest version of the addon module.
- Unzip the
.zipfile. - Upload the
import_assistdirectory to/modules/addonsin your WHMCS installation. - Log in to the WHMCS Admin Area.
- Go to Configuration () > System Settings > Addon Modules.
- Perform the displayed steps to complete activation.
- Select the admin role groups that will have access to this addon module.
- Click Save Changes.
Database Import
To import a database from another WHMCS installation or a supported third-party billing application:
- Go to Addons > ImportAssist for WHMCS.
- Click Select Database Import.
- Select the application from which you are importing data.For a list of ImportAssist-supported billing applications, see Supported Applications.
- Enter your database connection details.
- Click Continue.
- Follow the displayed steps to complete the import process.
Supported Applications
WHMCS ImportAssist supports importing data from the following applications and versions:
- WHMCS 6.2+
- Blesta 2.x, 3.x, 4.1, and 5.x
- ClientExec 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, and 6.x
- HostBill 2016 and later
.csv import file.You can import:
| Database | WHMCS 6.2–7.7 | WHMCS 7.8–7.10 | WHMCS 8.0+ | Blesta 2.x | Blesta 3.x, 4.1, 5.x | ClientExec | HostBill |
|---|---|---|---|---|---|---|---|
Addon | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Client | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ClientGroup | ✓ | ✓ | ✓ | ✓ | |||
ClientNotes | ✓ | ✓ | ✓ | ||||
ConfigOption | ✓ | ✓ | ✓ | ||||
ConfigOptionGroup | ✓ | ✓ | ✓ | ||||
ConfigOptionOption | ✓ | ✓ | ✓ | ||||
Contact | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Currency | ✓ | ✓ | ✓ | ✓ | ✓ | ||
CustomField | ✓ | ✓ | ✓ | ||||
CustomFieldValue | ✓ | ✓ | ✓ | ||||
Domain | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Invoice | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
InvoiceItem | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Pay Methods | ✓ | ✓ | |||||
Pricing | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Product | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ProductGroup | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Promotion | ✓ | ✓ | |||||
Server | ✓ | ✓ | ✓ | ||||
Service | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ServiceAddon | ✓ | ✓ | |||||
ServiceConfigOption | ✓ | ✓ | |||||
SupportDepartment | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Ticket | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
TicketLog | ✓ | ✓ | |||||
TicketNote | ✓ | ✓ | ✓ | ||||
TicketReply | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Transaction | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Users | ✓ |
CSV File Upload
To import data using a CSV import file:
- Go to Addons > ImportAssist for WHMCS.
- Click Select CSV Upload.
- Click Browse under Select a CSV File and select the
.csvfile that you want to upload.You must format import files correctly. For more information and a downloadable blank import file, see CSV Import File Format. - For Data Type, select the type of data that your import file contains. Currently, Data Type defaults to Client or Customer Data.
- Click Continue. The system will upload the selected import file and display the first 100 rows of the
.csvfile. - Review the file validation results.
- If any validation errors occurred, you will see a list of validation errors. Correct the listed errors in your
.csvfile, and then click Go Back and reattempt the import. - If no validation errors occurred, you will see a success message and a preview of the first 100 rows from the import file.
- Click Continue to proceed with the import process. The system will import your data. When the import process is complete, a success message will display.
Manual File Upload
You can also upload CSV import files directly to the /modules/addons/import_assist/data-imports/csv/ directory in your WHMCS installation.
.client.csv files that use the CSV import file format.The system will automatically import the file’s data the next time that the system cron runs, as part of the ImportAssist task.
CSV Import File Format
CSV import files must use the following format:
| Field | Required | Description | Example |
|---|---|---|---|
id | The client ID. If you omit this value, the system will automatically add unique incremented values for each imported client. If an identical ID already appears for an existing client in your WHMCS installation, the system will merge the new client’s data into the existing client. For more information, see Data Duplication. | 1 | |
uuid | The client’s unique identifier, in UUIDv4 format. If you omit this value, the system will automatically generate a UUID for each imported client. | 99faaefe-611f-4e55-b22f-29bdfe3a2d2c | |
first_name | ✔ | The client’s first name. | Cassidy |
last_name | ✔ | The client’s last name. | Walker |
company_name | The client’s company name. This value defaults to an empty string. | Example Hosting Co. | |
email | ✔ | The client’s email address. If an identical email address already appears for an existing client in your WHMCS installation, the system will merge the new client’s data into the existing client. For more information, see Data Duplication. | [email protected] |
address_1 | The client’s address. This value defaults to an empty string. | 1234 Street St | |
address_2 | The second line of the client’s address. This value defaults to an empty string. | Ste. 123 | |
city | The client’s city. This value defaults to an empty string. | Anytown | |
state | The client’s state or province. This value defaults to an empty string. | TX | |
postcode | The client’s ZIP or postal code. This value defaults to an empty string. | 12345 | |
country | The client’s two-letter ISO-3166 country code. This value defaults to an empty string. | US | |
phone | The client’s phone number. This value defaults to an empty string. | 555-123-4567 | |
currency_id | The currency code or numeric currency ID for the client’s currency. This value defaults to 1 (the default system currency in WHMCS). | EUR | |
default_payment_method | The internal system name for the client’s default payment method.
| tco | |
credit_balance | The client’s current credit balance. This value defaults to 0.00. | 7.30 | |
tax_exempt | The client’s Exempt from Tax setting.
0. | 1 | |
late_fee_override | The client’s Apply Late Fees setting.
0. | 1 | |
override_due_notices | The client’s Send Overdue Reminders setting.
0. | 1 | |
separate_invoices | The client’s Separate Invoices setting.
0. | 0 | |
disable_auto_cc | The client’s Disable CC Processing setting.
0. | 1 | |
client_group_id | The client’s client group ID or group name. This value defaults to 0 (no client group). | 0 | |
language | The client’s locale. This value defaults to the client’s default language. | english | |
notes | Additional notes about the client. This value defaults to a blank value. | Imported from file | |
status | The client’s status. For example, Active, Inactive, or Closed.This value defaults to Active. | Inactive | |
password_hash | The client’s password, as a hashed value. This value defaults to an empty string. | $2y$10$oTRoIuHQcG/23sIQ0cCDy | |
email_opt_out | Whether the client has opted in or out of receiving marketing emails. This value defaults to 0. | 0 | |
override_auto_close | The client’s Status Update setting.
0. | 1 | |
date_created | The client’s account creation date, in one of the following formats:
| 2026-01-12 |
Example
For example, your CSV import file might resemble the following example:
id,uuid,first_name,last_name,company_name,email,address_1,address_2,city,state,postcode,country,phone,currency_id,default_payment_method,credit_balance,tax_exempt,late_fee_override,override_due_notices,separate_invoices,disable_auto_cc,client_group_id,language,notes,status,password_hash,email_opt_out,override_auto_close,date_created
1,99faaefe-611f-4e55-b22f-29bdfe3a2d2c,Cassidy,Walker,"Example Hosting Co.",[email protected],"1234 Street St",,Anytown,TX,12345,US,555-123-4567,1,,7.30,0,0,0,0,2,0,english,"Imported from file",Inactive,$2y$10$oTRoIuHQcG/23sIQ0cCDy.Jk1qswUQVzwsCvHb2cT8W/fkoYqXasq,0,2,2025-09-15
2,ac22b046-46ef-4b8c-990d-c5e2b2a7a111,Ivy,Smith,"Example Websites, Inc.",[email protected],"5678 Avenue Ave",,Cityville,CA,54321,US,555-543-2198,1,,12.50,0,0,0,1,1,1,french,"Imported from file",Active,$2y$10$abc123XYZ4h1aMqWV3q9tseSqHg9M87Z1kXJLDUEOUK9umeyCYfR1y,0,1,2025-10-22
3,7bdc7e0d-2bfb-49c7-ae2e-8768b5adf347,Jeremiah,Robertson,"Example Enterprises",[email protected],"9101 Road Rd",,Townsville,IL,12345,US,555-123-4578,1,,0.00,0,0,0,0,1,2,spanish,"Imported from file",Closed,$2y$10$3wJXIhuwwq2p5F1zOfdS5Ozzrv5JmsLJnHqsDlDUji7zyxPVKMd7y,0,0,2025-09-08
4,c1a59b6a-3a34-4b81-9d73-b1a3a3f17a28,Aria,Nguyen,"Example Services",[email protected],"1112 Boulevard Blvd",Suite 12,Sample City,NY,54321,US,555-543-1234,2,,5.75,0,1,0,1,2,0,german,"Imported from file",Inactive,$2y$10$Yk4TlCgAx7liumvF0Osp3.RKpzGQJYoTV4/CC7goGk3OGrF42b21y,0,1,2025-11-03
5,8dc3d8d7-9c6b-4cd7-a8e7-6d3d2c52a1c4,Blake,Ramirez,"Example Solutions",[email protected],"1314 Lane Ln",Apt 3B,Demo Town,WA,12345,US,555-321-4567,3,,2.20,0,0,0,0,0,2,english,"Imported from file",Closed,$2y$10$OdxkhtVX8/uaB2qguzrif.tkGXnaq9JAaiRAbLw6M78ahDHMCgY0q,0,2,2025-11-12
Data Duplication
When you import client data, the system automatically prevents duplicates. If an email address already exists on your WHMCS installation, the system will not import the new client.
Instead, the system will perform the following actions:
- The system returns the existing client’s ID.
- The system merges the client currency, status, client group, and any new client invoices, services, transactions, support tickets, or other items into the existing client record.
Troubleshooting
You may encounter the following common issues while using this addon module:
| Error or Issue | Cause | Next Steps |
Client import failed | The import file format was invalid, or the file contained invalid data. | Client Import Failed Errors |
Import batch completed for client: Processed: 25, Failed Validation: 1, Duplicated: 0. | The data for a client was invalid in the import file. | Import Validation Failures |
Unable to connect to the database | ImportAssist cannot establish a connection to the source database to import data. | ImportAssist Unable to Connect |
Imported clients are missing or you see duplicated items in logged import results: Import batch completed for client: Processed: 25, Failed Validation: 0, Duplicated: 1. | The system does not import duplicate data. | Missing Imported Clients |
Last modified: 2025 December 16