CRM migration

Migrate from Rechat to Odoo CRM

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

Rechat logo

Rechat

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

14 of 14

objects map 1:1 between Rechat and Odoo CRM.

Complexity

BStandard

Timeline

48–96 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Rechat stores real estate CRM data as contacts, companies, deals, and listing associations — with MLS integration, marketing workflows, and an AI assistant (Lucy) built into the platform. Odoo CRM models the same entities using res.partner for both contacts and companies, crm.lead for leads and opportunities, and a kanban pipeline driven by stage_id values. We migrate contacts, companies, and deals directly. Listing associations (property address, MLS number, agent assignment) have no Odoo native equivalent and move to custom fields on crm.lead. Engagement scores and tags become custom number and many-to-many tag fields. Marketing workflows, automations, and MLS integrations do not transfer — we export them as reference documents for manual rebuild. The migration uses Rechat's paginated JSON API to extract data and Odoo's XML-RPC external API to load crm.lead and res.partner records, with field-level diff validation before commit. Delta-pickup captures any changes made in Rechat during the cutover window, and rollback snapshots ensure the pre-migration state is recoverable if data integrity issues surface after the full load commits.

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

Rechat logo

Rechat

What's pushing teams away

  • Agents without Google or Outlook accounts report being unable to access full automation features, making Rechat feel incomplete as a standalone CRM.
  • A June 2025 Heroku/Salesforce outage knocked Rechat offline for an extended period, raising concerns about infrastructure dependency on a third-party cloud provider.
  • Users moving to platforms with published API documentation find Rechat's undocumented endpoints limiting when attempting programmatic data exports.
  • Rechat's AI assistant Lucy is tightly integrated, making workflows harder to replicate when agents switch to platforms with different automation paradigms.
  • Brokers seeking simpler per-seat pricing without tier-gated features find Rechat's enterprise-focused model harder to justify for small teams.

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 Rechat objects map to Odoo CRM

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

Rechat

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Rechat contacts map to Odoo res.partner records with partner_type set to 'contact'. The email, phone, name, address, and jobtitle fields translate directly. Rechat owner_id resolves by email match to Odoo user records before import — unmatched owners flag for manual assignment.

Rechat

Company

maps to

Odoo CRM

res.partner

1:1
Fully supported

Rechat companies map to Odoo res.partner with company_type set to 'company'. The domain, industry, employee count, and revenue fields translate as direct fields. Parent-company relationships in Rechat map to res.partner.parent_id in Odoo — circular references are flagged and resolved during validation before any records commit to the target database.

Rechat

Deal

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Rechat deals map to Odoo crm.lead as opportunities. The deal name becomes the crm.lead name field, amount maps to crm.lead.expected_revenue, and close date maps to crm.lead.date_deadline. Pipeline assignment and stage mapping are handled through value mapping tables keyed on pipeline ID.

Rechat

Listing Association

maps to

Odoo CRM

Custom fields on crm.lead

1:1
Fully supported

Rechat's listing object (property address, MLS number, listing agent ID, property type) has no native Odoo equivalent. We create custom_char fields on crm.lead to store the property address, MLS number, and listing agent reference. The raw listing payload is preserved as a JSON custom field for reference.

Rechat

Pipeline

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Rechat pipelines are named collections of stages. Each pipeline maps to a distinct set of Odoo crm_stage records grouped by sales team. The stage names, sequence order, and probability percentages are recreated in Odoo's pipeline configuration before migration runs. We deliver a stage-setup checklist and coordinate with your Odoo admin to pre-create all required stage records.

Rechat

Pipeline Stage

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Stage names are mapped value-by-value from Rechat stage labels (New Lead, Showing Scheduled, Offer Made, Under Contract, Closed Won) to Odoo stage names (New, Qualified, Proposition, Negotiation, Won). Each stage's probability and fold-to-cancelled flag are reapplied from the Odoo stage configuration.

Rechat

Activity (call, email, meeting)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Rechat call logs, emails, and meeting records map to Odoo mail.activity entries with activity_type_id set to 'call', 'email', or 'meeting'. Original timestamps, owner assignments, and subject lines are preserved. Odoo requires activity_type records to exist before migration — we create them from the standard type library.

Rechat

Note

maps to

Odoo CRM

mail.message

1:1
Fully supported

Rechat notes with HTML content are sanitized to strip unsafe tags while preserving links and basic formatting. The cleaned content is stored as a mail.message record with subtype 'note' on the crm.lead. Inline images are downloaded and re-hosted as Odoo attachments.

Rechat

Tag / Label

maps to

Odoo CRM

ir.model.data (Tag IDs)

1:1
Fully supported

Rechat tags applied to contacts and deals map to Odoo crm.tag records via ir.model.data cross-references. Tag names and color values are recreated as crm.tag entries in Odoo. The many-to-many relationship between records and tags is established through crm.lead.tag_ids during the import phase, ensuring all tagged contacts and deals retain their categorization after migration completes.

Rechat

Marketing / Automation flows

maps to

Odoo CRM

No equivalent

1:1
Fully supported

Rechat flows, touch reminders, and Lucy AI assistant automations do not transfer. We export the full flow definitions (trigger events, conditions, and actions) as JSON reference documents so your Odoo admin can rebuild them using Odoo Studio server actions and scheduled actions on the CRM module.

Rechat

Email / notification templates

maps to

Odoo CRM

No equivalent

1:1
Fully supported

Rechat email templates and newsletter content are exported as HTML files and contact-segment exports. Odoo's email marketing uses the Email Marketing app — templates must be recreated there. We provide the HTML source and merge-field mappings as a rebuild guide.

Rechat

Reports and dashboards

maps to

Odoo CRM

No equivalent

1:1
Fully supported

Rechat reports and pipeline analytics do not transfer. The underlying data (deals, amounts, stages, activity timestamps) migrates completely, so reports can be rebuilt in Odoo's native reporting tool or BI integrations. We export Rechat report definitions as reference screenshots and field lists.

Rechat

Custom properties (contacts, companies, deals)

maps to

Odoo CRM

Custom fields on res.partner / crm.lead

1:1
Fully supported

Rechat custom properties per contact, company, and deal map to Odoo custom fields. For res.partner we use custom_char, custom_text, or custom_selection depending on the source data type. For crm.lead we create equivalent fields. All custom field names and pick-list values are preserved in the migration plan.

Rechat

Source system ID reference

maps to

Odoo CRM

Custom Char field on target record

1:1
Fully supported

Rechat's internal record ID is stored as a custom_char field on each migrated Odoo record (Source_Rechat_ID__c on res.partner and crm.lead). This field enables delta-run de-duplication to prevent duplicate records during incremental syncs, precise rollback targeting to revert specific records if needed, and maintains a cross-reference audit trail between the two systems for reconciliation and troubleshooting.

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.

Rechat logo

Rechat gotchas

High

Heroku/Salesforce outage risk impacts migration timing

High

Email bodies are never stored in Rechat

Medium

Flows automations are not exportable via API

Medium

Lucy AI assistant history is not accessible

Low

Contact export produces flat Excel, not relational data

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

  • Odoo has no native real estate listing object

    Rechat stores property address, MLS number, listing agent ID, and transaction status in a dedicated listing object linked to deals and contacts. Odoo has no listing or property model in its standard CRM module. We store listing metadata as custom_char fields on crm.lead (x_property_address, x_mls_number, x_listing_agent_id) and preserve the raw listing JSON in x_listing_payload. Rebuilding the full listing-to-deal workflow in Odoo requires custom development or a third-party real estate connector — we export the listing object schema as a reference so your Odoo developer can scope the rebuild accurately.

  • Pipeline stage names require explicit value mapping before import

    Rechat deal pipelines use real estate stage labels such as 'New Lead', 'Showing Scheduled', 'Offer Made', 'Under Contract', 'Closed Won', and 'Lost'. Odoo's crm_stage records use generic stage names like 'New', 'Qualified', 'Proposition', 'Negotiation', 'Won', and 'Lost'. We build a value-mapping table during the planning phase so each Rechat stage resolves to the correct Odoo stage_id before any records load. If Odoo stages have not been configured before migration runs, all deal records land with a null stage_id and must be manually reassigned — we deliver a stage-setup guide as part of the planning package.

  • HTML note content requires sanitization before Odoo mail.message import

    Rechat notes can contain HTML with embedded links, inline images, font styles, and table markup. A plain-text export loses link context and formatting intent. We run an HTML sanitizer on each note to strip script tags and unsafe attributes while preserving anchor hrefs and basic bold/italic formatting. The cleaned HTML is stored as a mail.message record with subtype 'note' on the parent crm.lead. Inline images are extracted, re-uploaded to Odoo's ir.attachment storage, and referenced in the message body. Notes with heavy table-based layouts may require post-migration formatting review.

  • Odoo external API (XML-RPC) requires Enterprise or Custom plan

    Odoo's XML-RPC external API — the standard interface for programmatic data loading — is gated to the Custom and Enterprise plans. Community and Standard editions expose a restricted API. If your Odoo instance is on Community, we use direct PostgreSQL INSERT operations with a migration-specific database role that has scoped write access. This approach requires your Odoo hosting provider to grant database credentials; some managed Odoo hosts restrict direct database access. We confirm the Odoo plan and hosting configuration during the discovery call before recommending the technical approach.

  • Rechat owner email may not match any Odoo user account

    Rechat owner_id on deals and contacts references the agent or broker who owns the record. We resolve owner_id by matching the owner's email address to Odoo user records (res.users). Rechat accounts where the owner email has no corresponding Odoo login are flagged in the pre-migration audit. For unmatched owners you can either invite them to Odoo before the migration run or assign their records to a designated fallback Odoo user. We provide the full unmatched-owner list with email addresses so your admin can act on it before data loads.

Migration approach

Six steps for a successful Rechat to Odoo CRM data migration

  1. Audit Rechat data and configure Odoo schema

    We connect to the Rechat API and export a full inventory of all contacts, companies, deals, activities, tags, and custom properties. We then map Rechat pipeline stages to Odoo crm_stage records and create any missing custom fields (x_property_address, x_mls_number, x_listing_payload, x_engagement_score, x_rechat_id) on res.partner and crm.lead. The schema setup plan is delivered as a checklist so your Odoo admin can pre-create stages and fields before the migration run. If your Odoo instance is on the Community edition, we coordinate database access credentials for the PostgreSQL loading approach.

  2. Export and transform Rechat data to Odoo staging format

    Rechat's paginated JSON API exports all records by type. We transform each record into the Odoo staging format: res.partner for contacts and companies, crm.lead for deals with stage_id resolved from the value-mapping table, and mail.activity for call, email, and meeting logs. Listing association data is serialized to JSON and stored in the custom x_listing_payload field on each crm.lead. Owner resolution runs against the matched Odoo user list — unmatched owners are exported to a separate exceptions report. HTML notes are sanitized at this stage.

  3. Import partners then leads in dependency order

    Odoo requires res.partner records to exist before crm.lead can reference them via partner_id. We import companies and contacts first, setting company_type and parent_id where applicable. Then we import crm.lead records with stage_id resolved, partner_id linked, and all custom fields populated from the staging JSON. Activities import last, linked to their parent res.partner or crm.lead record by the x_rechat_id cross-reference field. The import order is enforced in the migration tooling so foreign-key violations are prevented before any record commits.

  4. Run a sample migration and generate field-level diff

    A representative slice of 50–200 records spanning contacts, companies, deals, activities, and tagged records migrates to a staging Odoo database. We generate a field-level diff comparing source values (from the Rechat export) against destination field values (from the Odoo record). You review the diff to confirm stage mapping is correct, listing metadata landed in the right custom fields, owner resolution succeeded for known agents, and activity logs are attached to the correct parent records. We adjust the field mapping configuration based on your feedback before the full run commits.

  5. Execute full migration with delta-pickup and rollback

    The full dataset migrates to your production Odoo instance. A delta-pickup window of 24–48 hours after the initial load captures any records created or modified in Rechat during the cutover period. FlitStack AI maintains an audit log of every create and update operation with before/after values. A database snapshot is taken before the migration runs, enabling one-click rollback to the pre-migration state if field-level reconciliation reveals data integrity issues. The rollback window is available for 72 hours after the migration completes.

Platform deep dives

Context on both ends of the pair

Rechat logo

Rechat

Source

Strengths

  • All-in-one platform replacing separate CRM, marketing suite, and listing tools with one interface and one login.
  • Two-way real-time sync with Google and Outlook for contacts, calendar, and email metadata without third-party connectors.
  • Deep MLS integration enables agents to market listings, pull data for clients, and track opens and clicks directly from the platform.
  • AI assistant Lucy handles routine automations, freeing agents to focus on closings rather than administrative tasks.
  • Built by brokers who ran one of Canada's largest online brokerages, addressing real pain points around tool fragmentation.

Weaknesses

  • Pricing is not publicly published, making it difficult to compare costs before a sales conversation.
  • API documentation is sparse and undocumented endpoints make programmatic migration challenging without custom discovery work.
  • Platform runs on Heroku/Salesforce infrastructure, adding third-party dependency risk as demonstrated by the June 2025 outage.
  • Email body content is not stored — only metadata — so migrating email context requires additional handling or accepting data loss.
  • Full functionality requires Google or Outlook connection, limiting use for teams on other email platforms.
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 Rechat 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

    Rechat: Not publicly documented.

  • Data volume sensitivity

    B

    Rechat doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Rechat 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 Rechat to Odoo CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Rechat-to-Odoo migrations complete within 48–96 hours of clock time for under 25,000 records with standard field mapping. Complex setups with 50+ custom properties, multiple deal pipelines, and real estate listing metadata extend to 5–10 days. Odoo stage configuration and custom field creation are the longest planning steps — we deliver those as a pre-migration checklist so your team can complete them in parallel.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Rechat.
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