This question has been flagged

Hi ,

I've a very large database in a CRM (SugarCRM), I'm thinking of migrating that database to Odoo? How can I do that. What I can see is SugarCRM and Odoo have completely different database schemas, so I can't think of directly migrating database from SugarCRM to Odoo. I will have to manually import entries in Odoo. Or is there any possibility of programmatically importing the database in Odoo?

Thanks,
Abdul

Avatar
Discard
Best Answer

Can you export your data to Excel or CVS? If so, you could just import it via standard import functionality, without much programming..

What kind of data do you have? 

  • Customer data (adres, name, etc..)
  • Prospect/opportunity/lead data?

What more would you like to export?

Avatar
Discard
Author

Thanks dear Mathias, I've exported to CSV and tried to import in Odoo, but the problem is SugarCRM and Odoo have completely different DB schemas. So now I've come across the solution (either using ETL or writing a custom script to migrate the data). Thanks

Best Answer

I've recently been importing data from zoho to odoo using the standard import feature of odoo it worked perfectly using the External ID feature for Contacts/Partners/Oppurtunity/Country.

This slideshare was a great help:
http://fr.slideshare.net/Audaxis/opendays-import-csv-2013v5

Only problem, I wasn't abble to import the several "notes" or "messages" attached to each contacts or opportunity.

 

Avatar
Discard
Author

Thanks Ric. Have you been able to define relationships among various tables as well?

Yes I have. Here is what I did for the contact table: - Export contact data of zoho to CSV - Import data into google spreadsheet in order to clean the data like merging First and Last Name. In the process make sure there is a unique identifier for each contact and that the unique identifier of the company appears for each contact. It is also usefull the change the field name in order to help odoo retrieve automaticaly each field and suppress unecessary fields. and also don't forget to set a field "is_company" as "false" for all the contacts - Export data from google speadsheet to .csv format. - Import .csv file to odoo, if odoo hasn't retrieve automaticaly the name of the field you'll have to pick the correct odoo field for each field or your file (that's why it is better to rename the title of your field before exporting the data from google spreadsheet) for the unique identifier of the company set the name this field to "related company / external ID" and off you go you can import the data. If you have over 500 contacts to import I advise you to do some testing first with less than 3 contacts. Don't worry if you try to import the same contact many times since you have previously set a unique identifier for each contact and that you named the field "External ID" odoo will automaticaly detect that this contact has already been imported and only new fields linked to this contact will be added to your odoo contact. It took me a full day to import 1500 contacts 1000 companies and 200 opportunities.

Thanks Ric, It's great! The question remains the same. When you've exported data to Google spreadsheets and the imported .csv into Odoo, how did you manage relationships b/w tables like Contacts and opportunities?


On Tue, Aug 26, 2014 at 11:35 AM, Ric <af2@mail.odoo.com> wrote:

Yes I have. Here is what I did for the contact table: - Export contact data of zoho to CSV - Import data into google spreadsheet in order to clean the data like merging First and Last Name. In the process make sure there is a unique identifier for each contact and that the unique identifier of the company appears for each contact. It is also usefull the change the field name in order to help odoo retrieve automaticaly each field and suppress unecessary fields. and also don't forget to set a field "is_company" as "false" for all the contacts - Export data from google speadsheet to .csv format. - Import .csv file to odoo, if odoo hasn't retrieve automaticaly the name of the field you'll have to pick the correct odoo field for each field or your file (that's why it is better to rename the title of your field before exporting the data from google spreadsheet) for the unique identifier of the company set the name this field to "related company / external ID" and off you go you can import the data. If you have over 500 contacts to import I advise you to do some testing first with less than 3 contacts. Don't worry if you try to import the same contact many times since you have previously set a unique identifier for each contact and that you named the field "External ID" odoo will automaticaly detect that this contact has already been imported and only new fields linked to this contact will be added to your odoo contact. It took me a full day to import 1500 contacts 1000 companies and 200 opportunities.

--
Ric Sent by Odoo Inc. using Odoo. about Forum Post False

Let's say you have two tables: one for "contact" and one for "companies" your "companies" table need to have a "unique identifier" field that you will name "external ID" it is this field that will allow you to relate the "company" to your "contact" Your "contact" table will have a field called "External ID" but also a field named "related company / external ID" which stands for the "External ID" of the company you've just imported.

Thank you so much Ric. Great! It's quite helpful. One last problem. I've about 300,000 contacts, and when I import them even in chunks of 50,000, the Odoo server times-out or memory leak occurs, and it crashes. What do you recommend please.


On Tue, Aug 26, 2014 at 11:52 AM, Ric <af2@mail.odoo.com> wrote:

Let's say you have two tables: one for "contact" and one for "companies" your "companies" table need to have a "unique identifier" field that you will name "external ID" it is this field that will allow you to relate the "company" to your "contact" Your "contact" table will have a field called "External ID" but also a field named "related company / external ID" which stands for the "External ID" of the company you've just imported.

--
Ric Sent by Odoo Inc. using Odoo. about Forum Post False

300 000 !! no other choice than asking odoo for some help or load it by pieces of 5000 may be....

yes, I've been advised to use ETL or write a script to migrate the data. Let me explore. 

Thank you so much.

Abdul


On Tue, Aug 26, 2014 at 12:06 PM, Ric <af2@mail.odoo.com> wrote:

300 000 !! no other choice than asking odoo for some help or load it by pieces of 5000 may be....

--
Ric Sent by Odoo Inc. using Odoo. about Forum Post False

Best Answer

I create module https://github.com/yelizariev/addons-yelizariev/tree/master/sugarcrm_migration

It's based on standard import functionality, but allows to create complex mapping rules, split importing records in batches, create child contacts from sugarcrm fields (e.g. primary_first_name_c, primary_first_name_c etc.), create tags from sugarcrm fields etc.

I am not sure that this module is ready-to-use for you, but it is a good start point.

Avatar
Discard
Author

Yes great! It was really helpful, thanks !

Author Best Answer

The problem seems to be solved using ETL, or may be I've to write a custom script in Python to do the migration. Here is more detail:

http://stackoverflow.com/questions/25342401/migrate-data-from-sugarcrm-to-odoo

Thanks,

Avatar
Discard