CRM migration

Migrate from Real Intelligence to Odoo CRM

Field-level mapping, validation, and rollback between Real Intelligence and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.

Real Intelligence logo

Real Intelligence

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

15 of 15

objects map 1:1 between Real Intelligence and Odoo CRM.

Complexity

BStandard

Timeline

3–7 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Real Intelligence is an AI-augmented CRM platform that stores contacts, companies, deals, and activities as JSON-like property bags on each record. Its data model is relatively flat: contacts carry company associations, deals sit inside pipeline stages, and custom properties extend any object. Odoo CRM is an open-source ERP-backed CRM that stores leads and opportunities in a single crm.lead model differentiated by the type field, contacts in res.partner with address embedded, and activities in calendar.event and mail.message. The migration extracts Real Intelligence records via its export API, maps each property to either an Odoo standard field or a custom field on crm.lead or res.partner, and loads through Odoo's XML-RPC API using batched create() calls. We preserve original create dates, stage-transition timestamps, and owner email addresses resolved against Odoo res.users. Workflows, automations, AI-scoring rules, and integration connectors do not migrate — those must be rebuilt in Odoo Studio or as automated actions. After the full migration run, a 24–48 hour delta pickup captures any records modified in Real Intelligence during the cutover window.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Real Intelligence logo

Real Intelligence

What's pushing teams away

  • Hard dependency on Salesforce — teams without Salesforce licences cannot use any Real Intelligence product, forcing a separate Salesforce purchase before adoption.
  • Pricing is fully sales-led with no public tiers — Real Intelligence directs visitors to 'book a FREE strategy call' for any pricing inquiry.
  • Smaller ISV scale compared to top-tier Salesforce ISVs means fewer trained implementation partners outside the vendor's four-city footprint.
  • Real Bots and broader AI voice assistant capability is newer than the property/event modules, so feature maturity varies across the product family.
  • Layered AppExchange + ISV/OEM licensing creates procurement complexity for buyers who must reconcile Salesforce licence costs with the Real Intelligence subscription.

Choosing

Odoo CRM logo

Odoo CRM

What's pulling them in

  • Teams choose Odoo CRM for its modular architecture — one base install with one-click app additions means they can adopt CRM alone and add accounting, inventory, or sales later as the business grows.
  • Small businesses pick Odoo because the Community edition is free and open-source, with no per-user or contact limits, allowing full evaluation before committing to a paid Enterprise tier.
  • The drag-and-drop Kanban pipeline and AI lead scoring are highlighted across G2 reviews as concrete features that make lead management faster and more visual than spreadsheet-based workflows.
  • Odoo's native integration with email, live chat, SMS, VoIP, and WhatsApp means inbound leads from multiple channels feed into a single pipeline without third-party middleware.
  • Companies in retail, supply chain, and construction value that Odoo's CRM module shares the same PostgreSQL database and UI as its ERP modules, eliminating data silos between sales and operations.

Object mapping

How Real Intelligence objects map to Odoo CRM

Each row shows how a Real Intelligence 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.

Real Intelligence

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Real Intelligence contacts map to Odoo res.partner records with type='contact'. The partner's name is split into firstname and lastname or stored as a single display name. Email, phone, mobile, and address fields map directly to Odoo standard fields. Partner must exist before activities can link to it.

Real Intelligence

Company

maps to

Odoo CRM

res.partner (type='company')

1:1
Fully supported

Real Intelligence companies map to Odoo res.partner records with type='company'. The company contact becomes the commercial partner, and individual contacts under it link via parent_id. Industry, website, and employee count migrate as custom fields or standard Odoo fields where available.

Real Intelligence

Deal

maps to

Odoo CRM

crm.lead (type='opportunity')

1:1
Fully supported

Real Intelligence deals map to Odoo crm.lead records where type='opportunity'. The deal name becomes the lead name, amount maps to planned_revenue, close date maps to date_closed, and stage maps to stage_id via a pre-created crm.stage record. The lead_type field is set to 'opportunity' during import.

Real Intelligence

Pipeline

maps to

Odoo CRM

crm.stage + crm.team

1:1
Fully supported

Each Real Intelligence pipeline requires a corresponding crm.team (sales team) in Odoo, and each pipeline stage requires a crm.stage record assigned to that team. Stage order is preserved via sequence number. Probability values are captured from Real Intelligence stage definitions and set on each stage record.

Real Intelligence

Pipeline Stage

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Stage names are mapped value-by-value to Odoo stage names per team. Closed-won and closed-lost stages in Real Intelligence map to Odoo's default Closed Won / Closed Lost stages, which trigger automated actions for won/lost probability. All stage timestamps are preserved in custom datetime fields.

Real Intelligence

Custom Properties (Contact)

maps to

Odoo CRM

ir.model.fields on res.partner

1:1
Fully supported

Any custom property on a Real Intelligence contact that has no Odoo equivalent is created as a custom field on res.partner via XML data file before migration. Field types are inferred from the source data type (char, selection, float, integer, date). Selection-type custom properties require explicit value_mapping.

Real Intelligence

Custom Properties (Deal)

maps to

Odoo CRM

ir.model.fields on crm.lead

1:1
Fully supported

Deal-level custom properties migrate to custom fields on crm.lead. Fields like deal_priority, renewal_date, or contract_type are created as selection or date fields in Odoo and populated during the deal migration phase. Each custom field is defined with the correct type, stored via an XML data file for persistence across upgrades, and populated using the source property value. Fields are scoped to opportunity-type leads only.

Real Intelligence

Activity — Call

maps to

Odoo CRM

mail.activity (type='call')

1:1
Fully supported

Real Intelligence call logs map to Odoo mail.activity records with activity_type_id set to the built-in Call type. Activity summary, date, and user assignment are preserved. The activity is linked to the target crm.lead or res.partner via res_id and res_model fields.

Real Intelligence

Activity — Email

maps to

Odoo CRM

mail.message (subtype='comment')

1:1
Fully supported

Email activities migrate as Odoo mail.message records with message_type='email'. The email subject is stored in the subject field, the body contains the email text, and the send date is preserved as the message date. Each message is linked to the target crm.lead or res.partner via res_id and res_model, and threaded using parent_id when a reply exists. Attachments on the email are reattached to the mail.message as ir.attachment records.

Real Intelligence

Activity — Meeting

maps to

Odoo CRM

calendar.event

1:1
Fully supported

Real Intelligence meetings become Odoo calendar.event records with the original start and stop datetime, duration in hours, location, and meeting description preserved. The event is linked to the corresponding crm.lead or res.partner via the calendar.event model and res_id field, and any invited attendees are created as calendar.attendee records referencing the same partner. Time zones are normalised to UTC using the Odoo server setting.

Real Intelligence

Note / Log Entry

maps to

Odoo CRM

mail.message (message_type='note')

1:1
Fully supported

Freeform notes from Real Intelligence migrate to Odoo mail.message records with message_type='note', preserving the original body text, create date, and owner. Each note is linked to its parent contact or deal via res_id and res_model, and any file attachments on the note are re-created as ir.attachment records linked to the same mail.message. Tags from Real Intelligence are not transferred to notes unless they map to Odoo tags on parent record.

Real Intelligence

Attachment / File

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

File attachments from Real Intelligence are re-uploaded to Odoo as ir.attachment records with the original filename, MIME type, and binary content. Attachments are linked to the parent crm.lead or res.partner via res_model and res_id. Files exceeding Odoo's large-object threshold are linked by URL instead.

Real Intelligence

Owner / Sales Rep

maps to

Odoo CRM

res.users (via email match)

1:1
Fully supported

Real Intelligence owner IDs are resolved by matching owner email against Odoo res.users email addresses. Unmatched owners are flagged before migration so the Odoo admin can invite them or assign records to a fallback user. No record lands without a valid OwnerId in Odoo.

Real Intelligence

Tag / Label

maps to

Odoo CRM

crm.tag

1:1
Fully supported

Tags from Real Intelligence are created as crm.tag records in Odoo before the main migration runs. Each tag name is normalised for uniqueness and stored with its label. After the tag records exist, they are linked to crm.lead opportunities via the crm.tag.rel many-to-many table during the deal import phase. If a Real Intelligence tag also applies to contacts, the same tag is linked to res.partner records using same crm.tag.rel table.

Real Intelligence

Lost Reason

maps to

Odoo CRM

crm.lost_reason

1:1
Fully supported

Deal loss reasons in Real Intelligence are migrated as crm.lost_reason records in Odoo and linked to crm.lead via lost_reason_id when the stage is Closed Lost. Each loss reason retains its description, and if the reason name matches an existing Odoo crm.lost_reason, the existing record is reused; otherwise a new record is created. This field enables reporting to segment loss reasons by category and can be used in Odoo analytics views.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Real Intelligence logo

Real Intelligence gotchas

High

Salesforce dependency is a hard prerequisite for any Real Intelligence product

High

Custom CAD floor plan files require separate binary migration

Medium

Real Bots AI voice agent state is not exportable

Medium

MyQR app QR codes are tied to vendor infrastructure

Low

Real Events QR scanner integration requires Salesforce mobile app or vendor-issued device

Odoo CRM logo

Odoo CRM gotchas

High

Odoo.sh version gating blocks assisted migrations from trial

High

Enterprise modules fail to install on Community after database restore

Medium

Custom module view inheritance breaks between Odoo major versions

Medium

Custom fields risk losing their application context on Community

Low

API access for Community is gated behind the Custom Plan

Pair-specific challenges

  • Custom fields created in Odoo require XML data files for upgrade-safe persistence

    When FlitStack AI creates custom fields on crm.lead or res.partner during a Real Intelligence migration, those fields are stored in the database but do not survive an Odoo upgrade unless they are defined in a module's data file with noupdate='1'. Without the XML data file, an Odoo upgrade strips the custom field definition and the migrated data becomes inaccessible even though the column still exists. We deliver the XML data file alongside the migration so your Odoo admin can add it to a custom module before the next upgrade cycle.

  • Odoo crm.lead stores leads and opportunities in the same table with a type field distinction

    Unlike Real Intelligence, which has a single deal object, Odoo uses a single crm.lead table where type='lead' and type='opportunity' coexist. The stage_id field references crm.stage records that are scoped to a specific sales team via team_id. If your Real Intelligence deals have pipeline-specific stage names that are duplicated across pipelines, they cannot map 1:1 to a single set of Odoo stages — each pipeline requires its own crm.team and crm.stage records. We create the full pipeline-to-team mapping plan before data lands so the stage_id foreign key resolves cleanly.

  • Owner email match to Odoo res.users must be validated before migration begins

    Real Intelligence stores owner information as a user ID or email string on each record. Odoo crm.lead.user_id is a foreign key to res.users, and Odoo does not create users automatically during data import. If a Real Intelligence owner email does not match any res.users.email in your Odoo instance, the lead will either be assigned to the public user or fail to import. We run an owner audit before migration begins, flagging every unmatched email so your Odoo admin can invite the user or define a fallback assignment rule.

  • Email matching for contact deduplication may create duplicate res.partner records

    Odoo's native partner deduplication in res.partner works by matching on name, email, or phone. If a Real Intelligence contact and a Real Intelligence company both have the same email address (for example, a catch-all [email protected] on the company record), Odoo may interpret this as a duplicate partner. We enforce a deduplication hierarchy: company records deduplicate on name and website; contact records deduplicate on email. Any residual duplicates are surfaced in the field-level diff before the full migration runs.

  • Large binary file attachments can degrade Odoo PostgreSQL performance

    Odoo stores ir.attachment binary content in PostgreSQL large object (lo) columns, which are stored in the same database as your business data. Files over 10MB can increase database bloat and slow down backup and restore operations. If your Real Intelligence attachments include large files such as proposals, contracts, or image libraries, we recommend storing them as external URLs in Odoo rather than re-uploading the binary content. We flag files exceeding this threshold during the migration audit and apply the URL strategy by default.

Migration approach

Six steps for a successful Real Intelligence to Odoo CRM data migration

  1. Inspect Real Intelligence data model and pre-create Odoo schema

    We connect to Real Intelligence using the platform's export API and inspect the full list of custom properties, pipeline definitions, stage names, user accounts, and activity types. We then create the corresponding Odoo infrastructure: custom fields on crm.lead and res.partner, crm.team records for each Real Intelligence pipeline, crm.stage records with correct sequence and probability values, crm.tag records for all tags, and crm.lost_reason records. We run an owner audit matching Real Intelligence user emails against Odoo res.users records and flag any gaps for your admin to resolve before data export begins.

  2. Export a representative sample and run field-level diff

    We export a sample slice of 100–500 records from Real Intelligence — spanning contacts, companies, deals, and activities — and load them into a staging Odoo instance. We generate a field-level diff report showing every source field, its destination equivalent, the transformation applied, and any fields that required a custom field creation or value mapping. You review the diff, confirm the stage and owner mapping plan, and approve before the full migration proceeds.

  3. Run full migration via Odoo XML-RPC API in sequenced batches

    We export all Real Intelligence records in a defined sequence: companies first, then contacts linked to their parent companies, then tags and loss reasons, then deals (opportunities) with stage and owner mapping, then activities and attachments. Each batch is loaded via Odoo's xmlrpc/object/execute_kw API using batched create() calls of 100–500 records per request to stay within reasonable time-out thresholds. Custom field data is included in the same batch as the parent record. The full migration audit log records every create() operation with source record ID for traceability.

  4. Capture delta changes and run final reconciliation

    After the full migration run completes, a 24–48 hour delta window captures any records created or modified in Real Intelligence during the cutover period. We run a second export pass, de-duplicate against already-migrated records using the source_system_id__c field, and load the delta into Odoo. Finally, we run a reconciliation check comparing record counts, pipeline stage distribution, and activity totals between Real Intelligence and Odoo, and surface any discrepancies in a side-by-side report for manual review.

Platform deep dives

Context on both ends of the pair

Real Intelligence logo

Real Intelligence

Source

Strengths

  • Salesforce ISV/OEM model leverages existing Salesforce identity, security, and reporting.
  • Multi-product family covers property, event, product, and AI voice capabilities under one vendor.
  • Native CAD floor plan integration via Real Floorplan is unusual in Salesforce ISV ecosystem.
  • Strong reference customers (Columbia University, Coldwell Banker, Intero, Alain Pinel).
  • Four-region presence (Silicon Valley, Las Vegas, London, Japan) supports global rollouts.

Weaknesses

  • Hard Salesforce dependency restricts addressable market to existing Salesforce customers.
  • No public pricing on realintelligence.com or AppExchange — all quotes require sales contact.
  • Smaller scale versus top Salesforce ISVs means thinner partner ecosystem outside vendor cities.
  • Newer Real Bots voice AI product has less maturity than property/event modules.
  • Layered licensing (Salesforce + Real Intelligence) creates procurement complexity.
Odoo CRM logo

Odoo CRM

Destination

Strengths

  • Modular open-source architecture lets teams start with CRM and add ERP apps as needs grow, all sharing one PostgreSQL database.
  • Free Community edition with no contact limits and full source code access means zero licensing cost for evaluation and small deployments.
  • Drag-and-drop Kanban pipeline with AI lead scoring gives a visual, prioritized view of the sales funnel without requiring custom configuration.
  • Native integrations with email, live chat, SMS, VoIP, WhatsApp, and social media feed all inbound leads into a single unified inbox.
  • Active Odoo Community Association (OCA) maintains dozens of community-maintained modules on GitHub for extended functionality.

Weaknesses

  • Gmail and email integration reliability is a recurring complaint — threads drop and conversations scatter across inboxes, disrupting sales team workflows.
  • Enterprise edition pricing stacks quickly: multiple apps at per-user rates ($25–$50/user/month) plus Odoo.sh hosting costs more than many SMBs anticipate.
  • Setup and configuration complexity increases significantly once custom fields, automation rules, and multiple installed modules are in play.
  • Odoo.sh trial databases run on a version (e.g., 18.3) that is not directly migratable to Odoo.sh, blocking the assisted migration path Odoo advertises.
  • Version upgrades between major Odoo releases (e.g., 17→18) frequently break custom module view definitions and XPath expressions, requiring manual remediation.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Real Intelligence and Odoo CRM.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Real Intelligence: Inherits Salesforce API governor limits — typically 15,000 API calls per 24h for Enterprise Edition (varies by edition and add-on licensing)..

  • Data volume sensitivity

    A

    Real Intelligence exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Real Intelligence to Odoo CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Real Intelligence to Odoo CRM data migrations

Answers to the questions buyers ask most during Real Intelligence to Odoo CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Real Intelligence to Odoo CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Real Intelligence to Odoo migrations complete in 3–5 days of actual migration work once the Odoo schema is in place — that covers contacts, companies, deals, activities, and attachments via Odoo's XML-RPC API in sequenced batches. Schema preparation (creating custom fields, crm.team records, and crm.stage pipelines) typically adds 3–5 days of planning and admin coordination. Larger datasets over 100,000 records or setups with 30+ custom properties extend the migration work phase to 1–2 weeks. Odoo imports handle approximately 100–500 records per API call depending on payload size, so total migration time scales with record volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Real Intelligence.
Land in Odoo CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day