Skip to main content

Import contacts, companies, and leads from Odoo

Import by filters with a preview, or by tag. Lost leads come in too, and re-importing updates rather than duplicates.

You can bring records you already have in Odoo into Enginy, in two ways.

The two ways to import

Method

When to use it

By filters

You want to select by conditions: industry, country, owner, creation date, or any Odoo field, including custom ones.

By tag

You have already made the selection in Odoo using a tag. This is the most direct route.

Both are available for contacts, companies, and leads.

Important: If your workspace has Default object when exporting set to Lead, importing contacts searches Odoo leads, not Odoo contacts. The filters you build and the fields you can pick are the lead fields. This is the one setting that changes what a contact import actually queries.


Importing by filters

You build the conditions on Odoo fields and, before importing anything, you can see a preview of the results. That way you check the filters do what you expect without filling your database with records you did not want.

When the result looks right, confirm the import.


Importing by tag

Select the tag and Enginy shows how many records it contains before importing.

Remember that contact tags and CRM module tags are separate lists. When importing leads you see the CRM ones; when importing contacts or companies, the contact ones.


What data comes in

The fields you have mapped in Field Mapping for that entity come in. Anything not mapped does not travel.

If you import and see gaps in fields you expected, Field Mapping is the first place to look.


Lost leads are imported too

Note: Lead imports include the ones marked as lost, and tag counts include them as well. This is deliberate: a lost lead in Odoo is still useful information for re-engagement. If you do not want them, filter them out by status when building the search.


If the field list will not load

In lead mode, a contact import needs to read the crm.lead structure. If it cannot, the panel says the Odoo lead fields could not be loaded. That means either the CRM app is not installed in Odoo, or the connected user cannot read leads — the Permissions tab distinguishes the two.


Re-importing does not duplicate

If you import the same selection again, Enginy recognizes the records it already brought in and updates them instead of creating copies.


If an import comes back empty

It is almost always a permissions issue, not a filter issue.

Important: Enginy only sees what the Odoo user behind your API key can see. If that user has no access to Contacts or CRM, or if record rules limit what they see, the import comes back empty with no error at all. The Permissions tab in the configuration tells you exactly what that key can do.

After permissions, check that the filters do not contradict each other and that the tag you chose belongs to the right record type.


Large volumes

Odoo publishes no rate limits, but on Odoo Online the practical pace is around one request per second with no parallelism. An import of thousands of records is not instant.

If you are bringing in a large volume, run it when no other syncs are in progress.

Did this answer your question?