Jump to content
X2Community Forums

Recommended Posts

Is there any way to migrate Accounts and the sub-records (notes, emails) from SugarCRM into X2?


Surely someone has asked this before... but I did a search in the forums on "sugar" and got nothing.


Since X2 is created by some ex-Sugar engineers I thought they might have built in some kind of an import engine specifically for Sugar.


I notice there are only Contacts and Accounts. No Leads? Anyway, I'm tired of the upgrade problems with Sugar and am thinking of moving off that platform after being on it for 5 years. But what about all me past data?






Link to post
Share on other sites



There isn't a way of specifically importing from sugar at the moment. If you generate an export from X2, you should see the column headings and how it is formatted to allow you to import your data. You will need to edit whatever CSV was exported to make sure the column headings match, however. If you need any assistance in figuring out how to format data or which column headers matter, let me know.


As for the Leads, no there is no Leads module. It was a design choice we made early on to have most of the functionality be a part of the Contact record.



Link to post
Share on other sites



There isn't a way of specifically importing from sugar at the moment. If you generate an export from X2, you should see the column headings and how it is formatted to allow you to import your data.


I tried to do an export from the demo:

PHP warning


include(Charts.php): failed to open stream: No such file or directory




406 {

407 foreach(self::$_includePaths as $path)

408 {

409 $classFile=$path.DIRECTORY_SEPARATOR.$className.'.php';

410 if(is_file($classFile))

411 {

412 include($classFile);

413 break;

414 }

415 }

416 }

417 else

418 include($className.'.php');

419 }

420 else // class name with namespace in PHP 5.3

421 {

422 $namespace=str_replace('\\','.',ltrim($className,'\\'));

423 if(($path=self::getPathOfAlias($namespace))!==false)

424 include($path.'.php');

425 else

426 return false;

427 }

428 return class_exists($className,false) || interface_exists($className,false);

429 }

430 return true;


Stack Trace



+ /home/demo/public_html/framework/YiiBase.php(418): YiiBase::autoload() #1

unknown(0): YiiBase::autoload("Charts") #2


+ /home/demo/public_html/framework/db/ar/CActiveRecord.php(378): spl_autoload_call("Charts") #3


– /home/demo/public_html/protected/controllers/AdminController.php(2026): CActiveRecord::model("Charts")


2021 if($model=="products")

2022 $model="product";

2023 if($model=='marketing')

2024 $model="campaign";

2025 if($model!='dashboard' && $model!='calendar' && is_null(Docs::model()->findByAttributes(array('title'=>$model))))

2026 $tempArr[ucfirst($model)]=CActiveRecord::model(ucfirst($model))->findAll();

2027 }


2029 $tempArr['Profile']=ProfileChild::model()->findAll();

2030 $labels=array();

2031 foreach($tempArr as $model=>$data){



– /home/demo/public_html/protected/controllers/AdminController.php(2001): AdminController->globalExport()


1996 }

1997 }



2000 public function actionExport() {

2001 $this->globalExport();

2002 $this->render('export',array(

2003 ));

2004 }


2006 private function globalExport() {

Link to post
Share on other sites

Ah, yes that's a known issue that's been fixed for our upcoming 1.5.1 patch release. Due to the nature of the demo server refreshing itself every 15 minutes, I can't put up a patch that will stick.


What I can do is attach a CSV with an export of the dummy data from my internal build which has the fix on it. Go ahead and download this file to get an idea of the formatting.




Link to post
Share on other sites
  • 2 years later...

I posted this two years ago. I left X2 because at the time it was rather unstable. I went back to SugarCRM and then recently over to SuiteCRM which is a fork of Sugar.


It looks like X2 has ironed out a lot of the problems they had two years ago and I'd like to come back... but I have about 2 years of data on the Suite/Sugar platform. 


Since one of the founders of X2 came from Sugar, I was wondering if in the past two years there was an import module developed or if there is some methodology to get most of the data out of Sugar/Suite and into the X2? 

Link to post
Share on other sites

Hello al3x2,


Yes, there have been a number of improvements to the import/export features since the 4.0 release. The import and export has been generalized to handle all of the modules, not just Contacts. Also, the ability to import and export the actual import mappings has been added, so users will be able to create and share their own mappings to help others move their data into X2. Error reporting has been improved, so more descriptive errors will be given when you are processing your import, and the failedRecords.csv offered to download after import now contains a final column with the validation errors that caused importing of that record to fail.

Additionally, with the next 4.2 release, there will be a handful of preset import maps available, including Sugar. These will be presented to the user when they are given the option to upload a CSV, and optionally, a JSON formatted import mapping. Related preset import maps will be listed with radio buttons, so that the user can select one of these instead of uploading their own. If they need to customize the mapping, they will be able to edit it before starting the import. When importing Actions, now the Action's description will be imported/exported, and when importing actions with associations, the type will be validated, as well as a model lookup performed to ensure the association can be reconstructed.



Link to post
Share on other sites

Any idea when 4.2 will be out with the Sugar preset import? 


There is not 'leads' record in X2 so I could put those into contacts along with my accounts (since accounts does not have an address field for some reason in X2!) Do you think I'd be able to import the email for each contact? How about documents linked to the contact?)


(BTW,  the Bitnami install worked really well on my iMac with Mav)

Link to post
Share on other sites

Hello al3x2,


The 4.2 stable release is expected to be available in about a week.

There is a new leads module. It was recently added to allow larger corporations to more easily adjust their data to X2, so you could import your leads. Docs can be uploaded and then you can create a relationship from the contact to the new doc.


Also, I have replied to your original post about the address field on Accounts, please see http://x2community.com/topic/1817-no-address-on-account-record/



Link to post
Share on other sites

I just looked at the X2 online demo, and I see there is a Leads module. 


In the upcoming version did you add an address field?


Will we be able to convert it to an account?


I guess I'm looking for the workflow I've used for ten years in SugarCRM. (We don't really use Contacts. A Lead is a person or company who has not signed up with us. Once we get one penny from them, we convert them to an Account. Contacts are useless to us..

Link to post
Share on other sites

Ah I see. In X2, the Leads can be converted to Opportunities, this sounds analogous to your preferred workflow. Leads do not by default have address fields, but it is easy to add them with the Fields Manager in the admin panel.

However, with the platinum edition, X2Identity uses a AnonContact model to track users based on their browser fingerprint, and these records are similar to Contacts, except without names. Once a user associated with this AnonContact fills out the web lead form, their AnonContact can be converted into a Contact, and all of their past web activity Actions will be migrated over to this new contact record.

Link to post
Share on other sites

That will probably work but somehow the tried and true workflow of leads w/ contacts that can be converted to accounts w/ contacts has been used by countless entities for countless years. I don't see how X2 has improved upon it all that much. 


That said, it isn't that big a deal for us to have one file of 'everyone'... melding leads and accounts into one 'pile.' But it was convenient to separate them. 


I fail to see the logical or intuitive connection between leads and opportunities. A lead is a person or a company. An opportunity is a thing or a system or a project or a biz arrangement that is the child of the lead, not prospective parent. Converting leads to opportunities makes no logical sense to me.


I understood the original intent of X2 to keep it simple and not use leads. But now that you have them, why would you convert them to ops? 


From my initial testing today, X2 seems far more stable than it was two years ago when I first started with it... and had to abandon it to go back to Sugar. Someone has been hard at work!

Link to post
Share on other sites
  • 2 years later...

After about three years, I'm back... or at least I want to be. I've been using SuiteCRM the past three years but things are not going well over there and I thought that maybe X2 has all their issues solved. 


I have a fair amount of both leads and accounts from SuiteCRM that I'd want to migrate to X2. Is that possible? If so please point me to the docs on how to do it. I assume it would be from a mysqldump file, which is easy to create.



  • Like 1
Link to post
Share on other sites

Our import (40k elements) including history, companies, contacts etc. has been done perfectly.


The import is not done by database import, but by the native X2 API, so the guys can do almost anything you want, if it´s possible in the X2 API


The downside is: the price...

Link to post
Share on other sites

Do non-paying users of X2 have access to the API? I saw the docs. Maybe we can do our own import?  We only have a several hundred records in SuiteCRM. I'll continue to look for a new CRM that has an import facility of some kind, or an ability for us to create our own. It does not look like it will be X2. Thanks for your help.


I started this thread in 2012. You'd think that in five years the X2 people would have developed at least a framework for doing an import but I guess it was not a priority and still isn't. Back then I expected X2 to be HUGE and that it would take over from Sugar as the open-source CRM of choice. I guess it never happened. I left because it was so buggy back then. I came back because I thought may now the system was stable and had a mature import facility. I don't know about stability but obviously there is no simple way for use to move from the Sugar/Suite file format to that of X2. 


I'll keep looking. I'm about ready to abandon open-source and just pay a reasonable (i.e. low!) monthly fee for a system that makes it easy for us to migrate our small database to. Gotta be something out there!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...