If importing from your live WHMCS installation, stop the cron job for WHMCS, put the installation into maintenance mode, and back up all files and the database.

When installing Blesta, you should choose a username that does not exist in your WHMCS installation, or it will result in an error when trying to import your WHMCS staff users.

If you prefer, you can create a copy of your WHMCS database and import from that instead of your live system.

Data which is imported

The following data is imported from WHMCS to Blesta:

Import TypeDescription
Payment AccountsCredit / Debit cards saved in WHMCS.
Admin (Staff)Staff who log into your WHMCS.
CalendarCalendar events.
EmailsEmails sent to clients.
InvoicesInvoices generated to your clients.
Support DepartmentsSupport departments made on WHMCS.
Clients (Active / Inactive)Clients on your WHMCS installation.
ConfigurationWHMCS settings.
Contacts (Client's contacts)Contacts on your clients account.
CurrenciesCurrencies on your WHMCS installation.
Products (Packages)Packages on your WHMCS.
ServicesServices created on your customers.
Support TicketsSupport tickets created on WHMCS.

Importing from WHMCS

Preparing WHMCS (If importing from your live WHMCS installation)

  1. Make sure you have completed the Initial Steps for Migrating to Blesta.
  2. Stop the cron job running for your WHMCS installation.
  3. Put WHMCS into maintenance mode to prevent client logins by visiting [Setup] > [General Settings] > [General].
  4. Back up your WHMCS files. You can do this via an FTP program, or via a shell by running: zip -r backup.zip /path/to/installation/*
  5. Back up your WHMCS database. You can do this through a database manager like PHPMyAdmin using the "Export" feature, or with the mysqldump shell command by running: mysqldump -u database_username -p database_name -r backup.sql and entering your database password when prompted.

Performing the Import

  1. Visit [Settings] > [Company] > [Plugins] > Installed and click "Manage" for the Import Manager.
  2. Click the "5.2" link next to the platform WHMCS.
  3. Fill out all of the requested fields
    1. Database Host: Enter your WHMCS database server name. If MySQL is running on the same server, use localhost
    2. Database Name: Enter the name of your WHMCS database.
    3. Database User: Enter the user name for your WHMCS database.
    4. Database Password: Enter the password associated with your WHMCS database user.
    5. CC Encryption Hash: Enter the CC Encryption Hash as found in your WHMCS configuration.php. This is required in order to decrypt encrypted data stored in your WHMCS installation.
  4. Double check that the data is all correct, and click the "Continue" button.
  5. You will be prompted to allow the importer to import your packages into Blesta, or match them up. It's recommended that you go with the default setting and import the packages, however, advanced users may wish to create their packages in Blesta first and match them up.
  6. Submit the form to start the import.

Importing your data can take several minutes or more, please be patient. When the importer has finished, it will display a green success message.

Because you are logged into a new staff account while performing the import, imported tickets will not appear to you by default. Go to Support > Staff, click the [+] button to add your staff user to all departments. Select Administrators for Staff Group, then your Staff Member, and assign yourself to all departments by moving them from Available Departments to Assigned Departments.

Enabling Legacy Passwords

In order for clients to log into Blesta after being imported, you must enable legacy passwords in Blesta. When a client logs in, their password will be converted automatically to a more secure hash.

To enable support for these passwords edit the /config/blesta.php configuration file within your Blesta installation and change

Configure::set("Blesta.auth_legacy_passwords", false);
Configure::set("Blesta.auth_legacy_passwords_algo", "md5");


Configure::set("Blesta.auth_legacy_passwords", true);
Configure::set("Blesta.auth_legacy_passwords_algo", "whmcs");

If your Blesta installation is less than version 4.9, use the following instead. Please note that importing modern bcrypt password hashes from WHMCS only works with Blesta 4.9 or greater.

Configure::set("Blesta.auth_legacy_passwords", true);
Configure::set("Blesta.auth_legacy_passwords_algo", "whmcs-md5");

Then save the file. After a sufficient amount of time has passed, you may change this setting back.

Do you have any active PayPal Subscriptions?

PayPal Subscriptions

If you have any active PayPal Subscriptions in WHMCS, they will not automatically work with Blesta. Beginning with Blesta 3.5, PayPal Subscriptions can be maintained by creating a redirect in your .htaccess file. At the beginning of the file, add the following:

Redirect 301 /modules/gateways/callback/paypal.php /callback/gw/1/paypal_payments_standard/

This redirect may need to be adjusted depending on your path to paypal.php in your WHMCS and your Blesta installation directory. Also, the 1 in /callback/gw/1/paypal_payments_standard/ references the company ID in Blesta. If you do not have any addon companies, then the company ID is 1.

Return to complete the Final Steps.

Common Errors


    [email] => Array
            [format] => Please enter a valid email address.



It's likely your WHMCS install is missing email address, or that the domain in some email addresses is invalid (No MX name resolution). To get around this, you can edit /vendors/minphp/input/src/Input.php and find the isEmail method. Replace the method with the following:

public static function isEmail($str, $check_record = true)
	return true;

This will stop Blesta from performing any input validation on email addresses. Be sure to revert the change after the import has completed.