ImportAssist

This information only applies to self-hosted WHMCS installations. WHMCS Cloud does not currently support this module.
We strongly recommend backing up your WHMCS database before performing any import. This will allow you to revert your changes in case of problems.

ImportAssist migrates data from external systems into a WHMCS installation. When you use ImportAssist, you can choose from either of the following import options:

Activation

Before you can activate ImportAssist, you must download it from the WHMCS Marketplace.

To do this:

  1. Download the latest version of the addon module.
  2. Unzip the .zip file.
  3. Upload the import_assist directory to /modules/addons in your WHMCS installation.
  4. Log in to the WHMCS Admin Area.
  5. Go to Configuration () > System Settings > Addon Modules.
  6. Perform the displayed steps to complete activation.
  7. Select the admin role groups that will have access to this addon module.
  8. Click Save Changes.

Database Import

To import a database from another WHMCS installation or a supported third-party billing application:

  1. Go to Addons > ImportAssist for WHMCS.
  2. Click Select Database Import.
  3. Select the application from which you are importing data.
    For a list of ImportAssist-supported billing applications, see Supported Applications.
  4. Enter your database connection details.
  5. Click Continue.
  6. 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
Importing from other software versions may be possible, but we do not support them. Instead, we recommend importing data from these systems using a .csv import file.

You can import:

DatabaseWHMCS 6.2–7.7WHMCS 7.8–7.10WHMCS 8.0+Blesta 2.xBlesta 3.x, 4.1, 5.xClientExecHostBill
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:

  1. Go to Addons > ImportAssist for WHMCS.
  2. Click Select CSV Upload.
  3. Click Browse under Select a CSV File and select the .csv file 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.
  4. For Data Type, select the type of data that your import file contains. Currently, Data Type defaults to Client or Customer Data.
  5. Click Continue. The system will upload the selected import file and display the first 100 rows of the .csv file.
  6. Review the file validation results.
  • If any validation errors occurred, you will see a list of validation errors. Correct the listed errors in your .csv file, 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.
  1. 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.

Uploaded import files must be .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:

FieldRequiredDescriptionExample
idThe 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
uuidThe 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_nameThe client’s first name.Cassidy
last_nameThe client’s last name.Walker
company_nameThe client’s company name.

This value defaults to an empty string.
Example Hosting Co.
emailThe 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_1The client’s address.

This value defaults to an empty string.
1234 Street St
address_2The second line of the client’s address.

This value defaults to an empty string.
Ste. 123
cityThe client’s city.

This value defaults to an empty string.
Anytown
stateThe client’s state or province.

This value defaults to an empty string.
TX
postcodeThe client’s ZIP or postal code.

This value defaults to an empty string.
12345
countryThe client’s two-letter ISO-3166 country code.

This value defaults to an empty string.
US
phoneThe client’s phone number.

This value defaults to an empty string.
555-123-4567
currency_idThe 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_methodThe internal system name for the client’s default payment method.
  • To find the internal system name, locate that payment gateway module’s folder within the /whmcs/modules/gateways/ folder in your WHMCS installation. The module folder name is the internal system name (for example, tco for 2CheckOut).
  • This value defaults to the first payment gateway in the system database.
tco
credit_balanceThe client’s current credit balance.

This value defaults to 0.00.
7.30
tax_exemptThe client’s Exempt from Tax setting.
  • 1, true, yes, or on — Set Exempt from Tax to Yes.
  • 0, false, no, off, or blank — Set Exempt from Tax to No.
This value defaults to 0.
1
late_fee_overrideThe client’s Apply Late Fees setting.
  • 1, true, yes, or on — Set Apply Late Fees to Yes.
  • 0, false, no, off, or blank — Set Apply Late Fees to No.
This value defaults to 0.
1
override_due_noticesThe client’s Send Overdue Reminders setting.
  • 1, true, yes, or on — Set Send Overdue Reminders to Yes.
  • 0, false, no, off, or blank — Set Send Overdue Reminders to No.
This value defaults to 0.
1
separate_invoicesThe client’s Separate Invoices setting.
  • 1, true, yes, or on — Set Separate Invoices to Yes.
  • 0, false, no, off, or blank — Set Separate Invoices to No.
This value defaults to 0.
0
disable_auto_ccThe client’s Disable CC Processing setting.
  • 1, true, yes, or on — Set Disable CC Processing to Yes.
  • 0, false, no, off, or blank — Set Disable CC Processing to No.
This value defaults to 0.
1
client_group_idThe client’s client group ID or group name.

This value defaults to 0 (no client group).
0
languageThe client’s locale.

This value defaults to the client’s default language.
english
notesAdditional notes about the client.

This value defaults to a blank value.
Imported from file
statusThe client’s status. For example, Active, Inactive, or Closed.

This value defaults to Active.
Inactive
password_hashThe client’s password, as a hashed value.

This value defaults to an empty string.
$2y$10$oTRoIuHQcG/23sIQ0cCDy
email_opt_outWhether the client has opted in or out of receiving marketing emails.

This value defaults to 0.
0
override_auto_closeThe client’s Status Update setting.
  • 1, true, yes, or on — Set Status Update to Yes.
  • 0, false, no, off, or blank — Set Status Update to No.
This value defaults to 0.
1
date_createdThe client’s account creation date, in one of the following formats:
  • YYYY-MM-DD
  • DD-MM-YYYY
  • MM-DD-YYYY
This value defaults to the current date.
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:

  1. The system returns the existing client’s ID.
  2. 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

For more information on troubleshooting addon module issues, see Troubleshooting Addon Modules.

You may encounter the following common issues while using this addon module:


Error or IssueCauseNext Steps
Client import failedThe 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 databaseImportAssist 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