Cody Posted September 6, 2013 Report Share Posted September 6, 2013 (edited) Please note that the latest version of this migrator is included with the latest release of Blesta. Instructions BACK UP YOUR BLESTA DATABASE If you are not running import manager plugin version 1.0.3 download import_manager_1.0.3.zip and unzip to /plugins/ Unzip the contents of whmcs_migrator_b8.zip to /plugins/import_manager/components/migrators/ You should now have /plugins/import_manager/components/migrators/whmcs/ Go to [settings] > [Company] > [Plugins] and install the Import Manager Click the Manage button on the Import Manager and proceed through the steps The migration process may take a while. It imports A LOT of stuff. Data Imported Staff (including login passwords) Client Groups Clients (excluding login passwords) Credit Card Payment Accounts Custom Client Fields and Values Client Notes Contacts Tax Rules Currencies Invoices Recurring Invoices Transactions (partial refunds refund the original and create a new transaction for the difference) Client Credits Invoice Credits Support Departments Support Tickets (excluding attachments) Support Predefined Response Categories Support Predefined Responses Sent Emails The following Settings: Mail Delivery Type SMTP Host, User, Password, Port, and Security Type Invoice Days Before Renewal Invoice Reminder Settings Auto Debit Days Before Due Suspend Services After Due Calendar Events Products (become packages) Registrars (become modules/module rows) Servers (become modules/module rows) Services Domains (become services) Notes All custom pricing overrides will be imported as package pricing potentially creating multiple prices for the same term and currency WHMCS uses plain MD5 passwords for admin users. To enable support for these passwords update (/config/blesta.php) Configure::set("Blesta.auth_legacy_passwords", false); to Configure::set("Blesta.auth_legacy_passwords", true); What's new in b6 Added debugging option. Added check for gmp extension. Added support for refunds. Import refunded invoices as void. What's new in b7 Only sets quantity for package if stock conrtrol enabled Extracts all numberic values from ticket ID to better ensure ticket numbers come through What's new in b8 Introduced transactions for deferred commits (speed improvements) Now forces UTF-8 connection to WHMCS database to ensure special characters come through import_manager_1.0.3.zip whmcs_migrator_b3.zip whmcs_migrator_b4.zip whmcs_migrator_b5.zip whmcs_migrator_b6.zip whmcs_migrator_b7.zip whmcs_migrator_b8.zip Edited October 28, 2014 by Paul Updated migrator Ercan DAĞ, Amyamoxylea, FRH Dave and 1 other 4 Quote Link to comment Share on other sites More sharing options...
Paul Posted September 6, 2013 Report Share Posted September 6, 2013 It is best to start with a fresh install of Blesta 3.0.2, before doing an import. Biscuit1001 and Michael 2 Quote Link to comment Share on other sites More sharing options...
Michael Posted September 6, 2013 Report Share Posted September 6, 2013 I'm going to do this now for one of my clients I'll update you on the output guys. Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 I got this guys: Undefined index: recurring_invoices#0 /home/username/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(538): UnknownException::setErrorHandler(8, 'Undefined index...', '/home/username/...', 538, Array) #1 /home/username/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importInvoices() #2 /home/username/public_html/blesta/plugins/import_manager/models/import_manager_importer.php(113): WhmcsMigrator->import() #3 /home/username/public_html/blesta/plugins/import_manager/controllers/admin_manage_plugin.php(107): ImportManagerImporter->runMigrator('whmcs', '5.2', Array) #4 /home/username/public_html/blesta/app/controllers/admin_company_plugins.php(104): AdminManagePlugin->import() #5 /home/username/public_html/blesta/lib/dispatcher.php(111): AdminCompanyPlugins->manage() #6 /home/username/public_html/blesta/index.php(21): Dispatcher::dispatch('/blesta/admin/s...') #7 {main} Quote Link to comment Share on other sites More sharing options...
leisser Posted September 7, 2013 Report Share Posted September 7, 2013 Hello Just tried the import, it works!!! I was unable to map the products since they are different from what I had on WHMCS and the new ones for Blesta, at the end of the import there was some error but when I checked all clients are imported with phone numbers and addresses, so that's great! Don't forget to allow MySQL connection to connect from the new (blesta) host to the old one (whmcs), also, you will need to make sure that there are not users matching at both sides, the import didn't want to overwrite users from WHMCS to Blesta, so I had to rename the email field on Blesta side....beside that everything works fine. Thanks a lot! Quote Link to comment Share on other sites More sharing options...
leisser Posted September 7, 2013 Report Share Posted September 7, 2013 CubicWebs, You should be able to see the clients in there, also look under invoices, they should be there, not sure is the issue you have is related to recurring invoices, perhaps they will need to match the products assigned to clients....I believe you are not mapping products...right? Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 CubicWebs, You should be able to see the clients in there, also look under invoices, they should be there, not sure is the issue you have is related to recurring invoices, perhaps they will need to match the products assigned to clients....I believe you are not mapping products...right? I was matching them up to the Blesta ones? did you mate? Quote Link to comment Share on other sites More sharing options...
leisser Posted September 7, 2013 Report Share Posted September 7, 2013 Nope, I didnt, because Im just moving the clients, the plans are different from what I had on WHMCS. The cool thing here is that I have all invoices imported along with clients info and all that, Im just soft edditing some clients fields and grups in the way I want it, but overall Im very happy with the import....Paul and the guys there did a great job with this module! Michael 1 Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 Nope, I didnt, because Im just moving the clients, the plans are different from what I had on WHMCS. The cool thing here is that I have all invoices imported along with clients info and all that, Im just soft edditing some clients fields and grups in the way I want it, but overall Im very happy with the import....Paul and the guys there did a great job with this module! Must be because I went down that road :s Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 re-installed 3.0.2, then did a db backup, went to import -> no packages to import clicked continue -> error message. Video: http://screencast.com/t/JPSCV5S9t Quote Link to comment Share on other sites More sharing options...
Cody Posted September 7, 2013 Author Report Share Posted September 7, 2013 I got this guys: Undefined index: recurring_invoices#0 /home/username/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(538): Change line 536 of whmcs_migrator.php... from: to: if (!isset($this->mappings['recurring_invoices'])) return; Michael 1 Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 Change line 536 of whmcs_migrator.php... from: to: if (!isset($this->mappings['recurring_invoices'])) return; Going to try this now mate thank you Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 Yes it still hates me on this bit I got in the video: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'amount' cannot be null#0 /home/ctriotol/public_html/blesta/lib/model.php(124): PDOStatement->execute(Array) #1 /home/ctriotol/public_html/blesta/components/record/record.php(215): Model->query('INSERT INTO `tr...', Array) #2 /home/ctriotol/public_html/blesta/app/models/transactions.php(53): Record->insert('transactions', Array, Array) #3 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/migrator.php(218): Transactions->add(Array) #4 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(615): Migrator->addTransaction(Array, '85') #5 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importTransactions() #6 /home/ctriotol/public_html/blesta/plugins/import_manager/models/import_manager_importer.php(113): WhmcsMigrator->import() #7 /home/ctriotol/public_html/blesta/plugins/import_manager/controllers/admin_manage_plugin.php(107): ImportManagerImporter->runMigrator('whmcs', '5.2', Array) #8 /home/ctriotol/public_html/blesta/app/controllers/admin_company_plugins.php(104): AdminManagePlugin->import() #9 /home/ctriotol/public_html/blesta/lib/dispatcher.php(111): AdminCompanyPlugins->manage() #10 /home/ctriotol/public_html/blesta/index.php(21): Dispatcher::dispatch('/blesta/admin/s...') #11 {main} Quote Link to comment Share on other sites More sharing options...
Cody Posted September 7, 2013 Author Report Share Posted September 7, 2013 Yes it still hates me on this bit I got in the video: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'amount' cannot be null#0 /home/ctriotol/public_html/blesta/lib/model.php(124): PDOStatement->execute(Array) #1 /home/ctriotol/public_html/blesta/components/record/record.php(215): Model->query('INSERT INTO `tr...', Array) #2 /home/ctriotol/public_html/blesta/app/models/transactions.php(53): Record->insert('transactions', Array, Array) #3 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/migrator.php(218): Transactions->add(Array) #4 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(615): Migrator->addTransaction(Array, '85') #5 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importTransactions() Try changing line 609, or there abouts, of whmcs_migrator.php: from: 'amount' => $transaction->credit, to: 'amount' => $credit->credit, Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 Try changing line 609, or there abouts, of whmcs_migrator.php: from: 'amount' => $transaction->credit, to: 'amount' => $credit->credit, I get this error now mate, is this something on the server side I can fix or aren't these server issues? because they seem to start with the same beginning SQLSTATE[Number] SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'staff_id' cannot be null#0 /home/ctriotol/public_html/blesta/lib/model.php(124): PDOStatement->execute(Array) #1 /home/ctriotol/public_html/blesta/components/record/record.php(215): Model->query('INSERT INTO `su...', Array) #2 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(679): Record->insert('support_staff_d...', Array) #3 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importSupportDepartments() #4 /home/ctriotol/public_html/blesta/plugins/import_manager/models/import_manager_importer.php(113): WhmcsMigrator->import() #5 /home/ctriotol/public_html/blesta/plugins/import_manager/controllers/admin_manage_plugin.php(107): ImportManagerImporter->runMigrator('whmcs', '5.2', Array) #6 /home/ctriotol/public_html/blesta/app/controllers/admin_company_plugins.php(104): AdminManagePlugin->import() #7 /home/ctriotol/public_html/blesta/lib/dispatcher.php(111): AdminCompanyPlugins->manage() #8 /home/ctriotol/public_html/blesta/index.php(21): Dispatcher::dispatch('/blesta/admin/s...') #9 {main} Quote Link to comment Share on other sites More sharing options...
Tyson Posted September 7, 2013 Report Share Posted September 7, 2013 I get this error now mate, is this something on the server side I can fix or aren't these server issues? because they seem to start with the same beginning SQLSTATE[Number] These look like importer issues--some insert/update is trying to set a null value for a field that cannot be null. It's good you're finding these so the importer can be made more robust. Michael 1 Quote Link to comment Share on other sites More sharing options...
Michael Posted September 7, 2013 Report Share Posted September 7, 2013 These look like importer issues--some insert/update is trying to set a null value for a field that cannot be null. It's good you're finding these so the importer can be made more robust. Haha glad it's coming in helpful mate. I thought it might be my side. Quote Link to comment Share on other sites More sharing options...
Cody Posted September 8, 2013 Author Report Share Posted September 8, 2013 Haha glad it's coming in helpful mate. I thought it might be my side. Well, technically it is your side, since your data isn't formatted exactly as our test data. Michael 1 Quote Link to comment Share on other sites More sharing options...
ryguy222 Posted September 8, 2013 Report Share Posted September 8, 2013 Gave it a test last night and everything imported with no issues. Good work so far guys! Kangaroo and Michael 2 Quote Link to comment Share on other sites More sharing options...
Michael Posted September 8, 2013 Report Share Posted September 8, 2013 Well, technically it is your side, since your data isn't formatted exactly as our test data. thought something was on my side glad his getting off that rubbish software lols Ken 1 Quote Link to comment Share on other sites More sharing options...
philpem Posted September 9, 2013 Report Share Posted September 9, 2013 Doesn't seem to be working for me... I've got a fresh Blesta 3.0.2 install, no packages or config done. Ran the importer and got a warning about having to create packages before I could map them. I clicked Continue and got this: Oh noes!Undefined index: remote_packages on line 107 in /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/components/migrators/whmcs/5.2/whmcs5_2.php teefrircuniot 1 Quote Link to comment Share on other sites More sharing options...
Michael Posted September 9, 2013 Report Share Posted September 9, 2013 Have you tried it without mapping mate? Quote Link to comment Share on other sites More sharing options...
Cody Posted September 9, 2013 Author Report Share Posted September 9, 2013 We'll be releasing an update soon, with additional features a fixes. Didn't have time to build it today. Michael and FRH Dave 2 Quote Link to comment Share on other sites More sharing options...
FRH Dave Posted September 10, 2013 Report Share Posted September 10, 2013 Will you be adding the ability to import packages? If so, I'd love to see it import the recurring price as well. The discounts in WHMCS generally apply to the entire package, so if I have an $85 VPS + $20 cPanel + 20% coupon code, that's 20% off $105 = $84. Because our setup in Blesta is going to be a little different, and because we're grandfathering old prices, I was planning on creating a custom package for each imported package that contains a discount. Needless to say this is going to be a little time consuming, so having Blesta do it automatically would be great. Quote Link to comment Share on other sites More sharing options...
Michael Posted September 10, 2013 Report Share Posted September 10, 2013 Will you be adding the ability to import packages? If so, I'd love to see it import the recurring price as well. The discounts in WHMCS generally apply to the entire package, so if I have an $85 VPS + $20 cPanel + 20% coupon code, that's 20% off $105 = $84. Because our setup in Blesta is going to be a little different, and because we're grandfathering old prices, I was planning on creating a custom package for each imported package that contains a discount. Needless to say this is going to be a little time consuming, so having Blesta do it automatically would be great. I believe that's going in the final one mate as they are adding more features. You should be able to match packages too. So if you make custom packages you can match them to the new one. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.