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. |
Often times WHMCS has mixed database collations and this can cause issues during import. For this reason we recommend:
|
Blesta uses an int(10) column for ticket codes. If you have any non-numeric characters in your ticket system in WHMCS, you can update them to match the internal ID to prevent any errors during import. Do this to a cloned copy of your WHMCS database, not your production copy.
|
If you prefer, you can create a copy of your WHMCS database and import from that instead of your live system. |
The following data is imported from WHMCS to Blesta:
Import Type | Description |
---|---|
Payment Accounts | Credit / Debit cards saved in WHMCS. |
Admin (Staff) | Staff who log into your WHMCS. |
Affiliates | |
Calendar | Calendar events. |
Domains | Domain Names |
Emails | Emails sent to clients. |
Invoices | Invoices generated to your clients. |
Support Departments | Support departments made on WHMCS. |
Taxes | |
Clients (Active / Inactive) | Clients on your WHMCS installation. |
Configuration | WHMCS settings. |
Contacts (Client's contacts) | Contacts on your clients account. |
Currencies | Currencies on your WHMCS installation. |
Products (Packages) | Packages on your WHMCS. |
Services | Services created on your customers. |
Support Tickets | Support tickets created on WHMCS. |
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. |
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"); |
To:
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? |
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. Note that normally the IPN URL for each client is unique, and look something like /callback/gw/1/paypal_payments_standard/?client_id=12345 where 12345 is the internal ID for the client. If this is ID is missing, Blesta attempts to match the transaction to a client based on the client's email address. If there is no match on the client's email address, the transaction will not be recorded.
Return to complete the Final Steps.
Error:
Array ( [email] => Array ( [format] => Please enter a valid email address. ) ) |
Solution:
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.