CRM migration
Field-level mapping, validation, and rollback between Devi and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Devi
Source
Odoo CRM
Destination
Compatibility
7 of 12
objects map 1:1 between Devi and Odoo CRM.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Migrating from Devi to Odoo CRM is an asymmetric migration: Odoo CRM has a well-documented data model with a public XML-RPC and JSON-RPC API covering Leads, Contacts, Accounts, Teams, and pipeline stages, while Devi has no confirmed public API, no documented bulk export endpoint, and a research corpus limited to a single G2 review. The first phase of any Devi migration is discovery: we work with the customer to identify what records exist in Devi, whether a programmatic export path exists, and whether data must be extracted manually through CSV or screen-scraping. Once we confirm the source data shape, we map Devi records to Odoo's crm.lead (Lead and Opportunity merged) and res.partner (Contact/Account merged) model, with content assets mapped to Odoo attachments. Workflows, automations, and social listening rules do not migrate. We deliver a written automation inventory for the customer's admin to rebuild in Odoo's studio or via custom module development.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Devi object lands in Odoo CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Devi
Lead (social high-intent)
Odoo CRM
crm.lead
1:1Devi's core object appears to be social media high-intent leads detected from LinkedIn, Twitter, or other platforms. We map these to Odoo crm.lead with type = lead (not opportunity). The source lead score or intent signal maps to a custom float field intent_score__c if the customer wants to preserve it. Odoo's crm.lead uses stage_id for pipeline state and team_id for team assignment. We require the customer to confirm the exact source field names and data types during discovery.
Devi
Contact (inferred person record)
Odoo CRM
res.partner
1:1Devi's social listening likely captures person-level data (name, email, LinkedIn URL, company) attached to a lead signal. We map these to Odoo res.partner with partner_type = contact. The company association maps to a parent partner record (company = contact's employer). Odoo res.partner is a unified Contact/Account model so we create the employer as a company-type partner and link the contact as a child.
Devi
Content Asset (AI-generated visuals)
Odoo CRM
ir.attachment
1:1G2 reviews mention AI-generated visual content as a valued Devi feature. We map these to Odoo ir.attachment records linked to the relevant crm.lead or res.partner via res_model and res_id. Odoo stores attachments in the database (bytea) or on the filesystem depending on the ir_attachment storage setting. We require the customer to confirm whether visual assets are the primary deliverable or a secondary artifact.
Devi
Lead Score / Intent Signal
Odoo CRM
Custom field on crm.lead
lossyIf Devi exposes a lead score or intent level, we map it to a custom float field on crm.lead and preserve it as a reference for post-migration prioritization. Odoo Studio (Enterprise) or custom module development (Community) handles field creation before migration. We document the field type, allowed values, and whether it maps to a picklist or numeric scale during discovery.
Devi
Social Platform Source
Odoo CRM
Custom char field on crm.lead
lossyDevi's high-intent detection operates on specific social platforms (LinkedIn, Twitter/X, etc.). We create a custom char field platform_source__c on crm.lead to capture which platform triggered the lead detection. This preserves the social attribution signal that may be lost if all leads are bulk-imported into Odoo without source tracking.
Devi
User / Owner
Odoo CRM
res.users
1:1Devi user management is unconfirmed. We extract owner assignments from the source data (who owns each lead in Devi) and match by email to Odoo res.users. Any owner without a matching Odoo user goes to a reconciliation queue for the customer's admin to provision before record import. If Devi has no user assignment model, all leads are assigned to a default Odoo user during migration.
Devi
Notes / Annotations
Odoo CRM
mail.message
1:1If Devi stores notes or annotations on leads, we map them to Odoo mail.message records linked to the crm.lead via model and res_id. Odoo's mail.thread architecture supports message threads on crm.lead, which provides a native notes interface for sales reps. Notes without a clear parent lead are held for customer confirmation during discovery.
Devi
Engagement / Activity History
Odoo CRM
mail.activity
1:1If Devi tracks any engagement activity (DMs sent, comments, follow-ups) against leads, we map these to Odoo mail.activity records linked to crm.lead. mail.activity supports activity_type_id (call, email, meeting, todo) and user_id for assignment. We require the customer to confirm what activity types Devi tracks before defining the activity mapping.
Devi
Tags / Labels
Odoo CRM
crm.tag
1:1If Devi uses tags or labels to categorize leads (by intent level, industry, product interest), we map them to Odoo crm.tag records. Odoo CRM includes a tags feature on crm.lead using an O2M to crm.tag. Tags are created during migration if they do not already exist in the destination Odoo instance.
Devi
Custom Fields
Odoo CRM
Custom fields on crm.lead or res.partner
lossyDevi's data model is unconfirmed, but customers may have custom fields tracking additional lead attributes. We pre-create any destination custom fields via Odoo Studio (Enterprise) or custom module XML (Community) before migration. Field types are mapped from the source (text, number, date, selection) to the nearest Odoo field type during discovery.
Devi
Workflow / Automation Rules
Odoo CRM
Not migrated
lossyDevi's automation rules (social listening triggers, notification rules, follow-up sequences) are not migrated to Odoo. Odoo handles automation through server actions, automated actions (Studio), or custom cron jobs — a different model from Devi. We deliver a written inventory of every Devi automation rule with its trigger conditions and actions, and the customer's Odoo admin or implementation partner rebuilds them in Odoo Studio or via custom module development.
Devi
Sequences / Cadences
Odoo CRM
Not migrated
lossySocial outreach sequences or engagement cadences are not migrated. These are sales engagement features that require a dedicated tool (Odoo has no native sequence cadence equivalent at the CRM layer). We document the sequence structure so the customer can evaluate Odoo native automation, a third-party sales engagement tool, or a custom workflow rebuild.
| Devi | Odoo CRM | Compatibility | |
|---|---|---|---|
| Lead (social high-intent) | crm.lead1:1 | Fully supported | |
| Contact (inferred person record) | res.partner1:1 | Fully supported | |
| Content Asset (AI-generated visuals) | ir.attachment1:1 | Fully supported | |
| Lead Score / Intent Signal | Custom field on crm.leadlossy | Fully supported | |
| Social Platform Source | Custom char field on crm.leadlossy | Fully supported | |
| User / Owner | res.users1:1 | Fully supported | |
| Notes / Annotations | mail.message1:1 | Fully supported | |
| Engagement / Activity History | mail.activity1:1 | Fully supported | |
| Tags / Labels | crm.tag1:1 | Fully supported | |
| Custom Fields | Custom fields on crm.lead or res.partnerlossy | Not supported | |
| Workflow / Automation Rules | Not migratedlossy | Fully supported | |
| Sequences / Cadences | Not migratedlossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Devi gotchas
Platform identity is ambiguous in search results
No documented export or API access
Thin review corpus makes due diligence difficult
Odoo CRM gotchas
Odoo.sh version gating blocks assisted migrations from trial
Enterprise modules fail to install on Community after database restore
Custom module view inheritance breaks between Odoo major versions
Custom fields risk losing their application context on Community
API access for Community is gated behind the Custom Plan
Pair-specific challenges
Migration approach
Product confirmation and export capability verification
We request written confirmation from the customer of the exact Devi product, version, and tenant URL. We then verify export capability: whether Devi has a CSV export, an API endpoint, a Zapier connector, or any documented data portability feature. If no export path exists, we scope manual extraction and apply a discovery surcharge. This step gates all subsequent work.
Discovery and source schema reconstruction
The customer provides any available Devi exports, screenshots of the record layout, internal schema documents, or API access credentials. We run a discovery export to capture the actual field names, data types, and record counts across all Devi objects. If Devi has no API, we work with the customer to generate CSV exports of all lead, contact, and content records. The discovery output is a written source schema document that the customer reviews and approves before migration design begins.
Destination schema design in Odoo
We design the Odoo CRM destination schema based on the discovered Devi data model. This includes creating custom fields on crm.lead for intent score, platform source, and social attribution; setting up crm.tag records for Devi tags; configuring res.partner records for contacts and companies; and planning the ir.attachment structure for content assets. For Odoo Enterprise, we use Odoo Studio. For Odoo Community, we write custom module XML. Schema is validated in an Odoo sandbox or test database before any production migration.
Sandbox migration and reconciliation
We run a full migration into an Odoo test database or sandbox environment using the discovered data volume. The customer reviews the imported records, validates field mapping accuracy, spot-checks 20-30 records against the Devi source, and confirms the automation inventory document. Any mapping corrections or schema changes happen in this phase. No production data moves until the customer signs off on the sandbox results.
Production migration in dependency order
We run production migration in Odoo dependency order: res.users (owner reconciliation), res.partner (company-type partners first, then contacts), crm.lead (with type=lead for social leads), crm.tag (tags), ir.attachment (content assets linked to crm.lead or res.partner), and mail.activity (engagement history if available). Each phase emits a row-count reconciliation report. We freeze Devi writes during the cutover window and run a final delta pass for any records modified during migration.
Cutover, validation, and automation handoff
We enable Odoo CRM as the system of record after the final delta migration. We deliver the automation inventory document listing every Devi workflow, sequence, and automation rule with its trigger and recommended Odoo equivalent (Odoo Studio automated action, server action, or custom cron). The customer's Odoo admin or implementation partner rebuilds automations post-migration. We provide a one-week hypercare window for reconciliation issues. We do not rebuild automations or sequences as part of the standard migration scope.
Platform deep dives
Devi
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 3 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Devi and Odoo CRM.
Object compatibility
3 of 8 objects need a manual workaround.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Devi: Not publicly documented.
Data volume sensitivity
Devi doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Devi to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Devi to Odoo CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Devi
Other ways to arrive at Odoo CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.