CRM migration

Migrate from Real Properties to Odoo CRM

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

Real Properties logo

Real Properties

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

92%

11 of 12

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Real Properties stores contacts, companies, deals, activities, and property records in a flat CRM object model. Odoo CRM uses crm.lead for both leads and opportunities (distinguished by a type flag), res.partner for contacts and companies, and mail.activity for activity logging. The migration must translate Real Properties' flat contact model into Odoo's res.partner with address and contact-type handling, map deals into crm.lead records using Odoo's pipeline stage system, and surface property-specific data as either custom fields on res.partner/crm.lead or Odoo product templates depending on your configuration preference. FlitStack AI extracts via the Real Properties API (or CSV export where API is unavailable), transforms field names and data types against the Odoo target schema, and loads through Odoo's xmlrpc API or direct PostgreSQL insert for large-volume migrations. Workflows, automation rules, email templates, and reporting dashboards from Real Properties do not migrate — these are exported as JSON definitions for your Odoo admin to rebuild using Odoo's Studio, server actions, or automated actions. Activity history (calls, meetings, notes) migrates as mail.activity records linked to the parent res.partner or crm.lead. We sequence the migration so foreign keys resolve in the correct order: companies → contacts → deals → activities. A 24–48h delta-pickup window captures any records modified during the cutover window so Odoo reflects Real Properties' final state at go-live.

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 Properties logo

Real Properties

What's pushing teams away

  • Not applicable — there is no platform to leave. realproperties.com is a brokerage marketing site.
  • If the catalog intended to reference Lone Wolf's CRM product (the technology platform powering this site), users would migrate away for the typical reasons Lone Wolf customers cite (cost, support, integration depth) — but that is a separate product not at this URL.

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

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

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Real Properties contacts map to Odoo res.partner. The partner record receives name, email, phone, and address fields directly from the source. Odoo's partner_type logic (customer/supplier/contact distinction) defaults to 'contact' during migration — your admin sets the type flag afterward if needed. Because Odoo requires a value in this field, the migration supplies a default contact_type value to avoid field validation errors; the admin can adjust this to customer or supplier after the migration is complete.

Real Properties

Company

maps to

Odoo CRM

res.partner (company type)

1:1
Fully supported

Real Properties company records map to res.partner with the 'is_company' flag set to True. Odoo stores company address fields (street, city, state_id, country_id, zip) on the partner record. Parent-child relationships between companies in Real Properties map to Odoo's parent_id on res.partner, preserving any corporate hierarchy present in the source data. The migration tool handles both flat and nested company structures through recursive parent lookups during the partner creation phase.

Real Properties

Contact → Company association

maps to

Odoo CRM

res.partner (child_ids)

1:1
Fully supported

Real Properties links each contact to one primary company. In Odoo, the contact's parent_id is set to the mapped company partner. Odoo's address_ids on the company partner hold multiple address records; the primary company is set as parent_id for query and reporting consistency.

Real Properties

Deal / Opportunity

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Real Properties deals map to Odoo crm.lead records with type='opportunity'. The lead's name maps to Odoo's name field, expected revenue to planned_revenue, and close date to date_closed. Stage mapping uses a value_map from the source stage names to Odoo stage_id records.

Real Properties

Lead (pre-deal records)

maps to

Odoo CRM

crm.lead (type='lead')

1:many
Fully supported

If Real Properties distinguishes early-stage leads from closed deals, we split them: leads without a deal value or close date become Odoo crm.lead with type='lead'; deals with a value and close date become type='opportunity'. This preserves pipeline segmentation that Real Properties manages through separate record states.

Real Properties

Pipeline / Deal Stage

maps to

Odoo CRM

crm.stage + crm.team

1:1
Fully supported

Real Properties pipeline stages map to Odoo crm.stage records scoped to a crm.team. If Real Properties has multiple pipelines, we create a corresponding number of crm.team records in Odoo, each with its own stage sequence. Probability and forecast_category from Real Properties stage settings map to Odoo's probability and legend_priority fields.

Real Properties

Property record

maps to

Odoo CRM

Custom fields on res.partner / crm.lead OR product.template

1:1
Fully supported

Real Properties property records (address, type, status, owner, assessed value) have no Odoo CRM native equivalent. We create custom fields on res.partner or crm.lead — property_address__c, property_type__c, property_status__c, property_owner_id__c — to preserve the data. Alternatively, if your team uses Odoo Sales, property records can map to product.template; we surface both options in the migration plan for your decision.

Real Properties

Activity (call, meeting, note)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Real Properties activity logs (calls, meetings, notes) with timestamps and owner information map to Odoo mail.activity records. The res_model is set to 'crm.lead' or 'res.partner' and res_id points to the migrated parent record. activity_type_id maps the activity category (call, meeting, note) to the corresponding Odoo activity type.

Real Properties

User / Owner

maps to

Odoo CRM

res.users

1:1
Fully supported

Real Properties user records resolve to Odoo res.users by email match. Unmatched owners are flagged before migration — your team either creates Odoo user accounts for them first or assigns their records to a fallback user. The migration does not create Odoo users autonomously.

Real Properties

Attachment / File

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Real Properties file attachments associated with contacts, companies, or deals migrate to Odoo ir.attachment records linked to the corresponding res.partner or crm.lead via res_model and res_id. File content is base64-encoded and inserted via the Odoo API. Odoo's attachment storage limit applies (default 25MB per file).

Real Properties

Custom fields

maps to

Odoo CRM

ir.model.fields (custom)

1:1
Fully supported

Real Properties custom fields not present in the standard object schema are created as Odoo custom fields (ir.model.fields with custom=True) on the appropriate model before data loads. Field types are mapped: text to char/text, number fields to float or integer, date fields to date, and pick-lists to selection fields with value mapping.

Real Properties

Property type classification

maps to

Odoo CRM

Custom selection field on res.partner

1:1
Fully supported

If Real Properties classifies properties by type (residential, commercial, industrial, land), we create a property_type__c selection field on the relevant Odoo model and map source values one-by-one. Custom values not in the Odoo selection list are added before migration runs.

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 Properties logo

Real Properties gotchas

High

Catalog entry is mismatched — realproperties.com is a brokerage, not a CRM

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 crm.lead type split requires lead/opportunity segregation before migration

    Real Properties stores all pipeline records in a single deal object without distinguishing early-stage leads from active opportunities. Odoo crm.lead uses a type field (set to 'lead' or 'opportunity') to control which pipeline view a record appears in and which server actions apply. If Real Properties has records at various stages, we apply a split rule — records without a deal value or close date become Odoo type='lead'; records with a monetary value and close date become type='opportunity'. Your team defines the split threshold in the migration plan. Failing to apply this before migration causes all records to land in the opportunity pipeline by default, which may misrepresent early-stage pipeline coverage in Odoo reporting.

  • Property records require custom field creation before data loads

    Real Properties property records — including address, type, status, owner, and assessed value — have no direct equivalent in Odoo CRM's native schema. Odoo crm.lead and res.partner do not ship with property fields. FlitStack AI creates custom fields (property_address__c, property_type__c, property_status__c, property_value__c, property_owner_partner_id__c) on the appropriate model via ir.model.fields before the migration run. If your team prefers Odoo product templates for property data, we surface that option in the pre-migration plan and adjust the field mapping accordingly. Omitting this step means property data lands in Odoo as orphaned records or is silently dropped during the load.

  • crm.team scoping means stage_id is not globally unique

    Real Properties stages are global across the account — every deal uses the same stage list regardless of team or pipeline. In Odoo, crm.stage records are scoped to a crm.team via the team_id field. If Real Properties has multiple pipelines mapped to different teams in Odoo, each team needs its own set of stage records. Stage names can be identical across teams but they point to different stage_id values. FlitStack AI resolves stage_id by looking up the stage within the target crm.team's sequence. If your migration plan does not account for multi-team pipeline splitting, stage_id resolution fails for teams that share stage names with the default pipeline.

  • res.partner address storage differs from Real Properties flat address fields

    Real Properties stores contact address fields (street, city, state, zip, country) as flat properties on the contact record. Odoo res.partner stores addresses using dedicated fields (street, street2, city, state_id, zip, country_id) plus an address_type flag. For contacts that are people (not companies), Odoo's address fields map directly. For company partners, Odoo's address fields hold the company's primary address, and contact-level address differences (such as a billing address for the contact) require address_ids or a separate res.partner record for the contact-as-individual with its own address. FlitStack AI maps the flat source fields to Odoo's structured address fields during migration; if your Real Properties contacts store multiple addresses, we create additional address_ids records on the partner.

  • Workflows and automation rules do not migrate and require manual rebuild

    Real Properties workflow rules, sequence triggers, automated assignment rules, and notification templates have no equivalent in Odoo that preserves the same logic. Odoo automation tools (automated actions, server actions, base.automation, or Flow) must be rebuilt from scratch. FlitStack AI exports your Real Properties workflow definitions as a JSON schema reference before migration so your Odoo admin can use them as a rebuild checklist. This is disclosed as a scope limitation in the migration contract and is not covered by the base migration price.

Migration approach

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

  1. Audit Real Properties data model and extract via API

    FlitStack AI connects to Real Properties using the available API credentials or CSV export interface. We inventory all record types (contacts, companies, deals, activities, properties), count per object, and identify custom fields and pick-list values. This audit produces a field inventory spreadsheet that becomes the basis for the mapping plan. If the Real Properties API has rate limits or pagination constraints, we adjust extraction to use batched requests with retry logic to avoid throttling.

  2. Design Odoo schema: custom fields, crm.team, crm.stage

    Before any data moves, FlitStack AI creates the custom fields on res.partner and crm.lead (property_address__c, property_type__c, property_status__c, property_value__c, property_owner_partner_id__c) via Odoo's ir.model.fields API. We also create crm.team records for each Real Properties pipeline and build the crm.stage sequence per team with probability weights. Odoo's developer mode or a service account with admin rights is required for this step. We deliver a schema setup checklist so your Odoo admin can review and approve before we proceed.

  3. Resolve owners and users by email match

    Real Properties owner_id values are resolved against Odoo res.users by email address. We run a pre-flight match before migration: any owner without a corresponding Odoo user account is flagged in a mismatch report. Your team creates the Odoo user accounts or designates a fallback user before the migration run. No record is loaded without a resolved user_id — unresolvable owners do not block migration but the record is assigned to the fallback user with a note in the audit log.

  4. Run sample migration with field-level diff

    A representative sample of 100–300 records covering contacts, companies, deals, activities, and property records migrates first to validate the end-to-end process before committing to a full cutover. FlitStack AI generates a field-level diff comparing source values against destination field values so you can verify stage mapping, custom field population, owner resolution, and property data placement. The migration team reviews the diff results and confirms the configuration before proceeding to the production migration run. This sample sign-off protects against configuration errors propagating into the full dataset.

  5. Execute full migration with delta-pickup cutover

    The full migration loads companies (res.partner with is_company=True), then contacts with parent_id linking to companies, then crm.lead records split into leads and opportunities by the defined threshold rule. Activities attach to their parent records via res_model and res_id. Property data populates the custom fields on res.partner or crm.lead per your chosen strategy. After the initial load completes, a 24–48h delta-pickup window captures any records created or modified in Real Properties during the cutover period. The audit log records every insert and update operation; one-click rollback reverts the entire migration if reconciliation fails.

Platform deep dives

Context on both ends of the pair

Real Properties logo

Real Properties

Source

Strengths

  • Not applicable — no software product exists at the catalog URL.

Weaknesses

  • Catalog mismatch — the listed website is a brokerage marketing site, not a CRM platform.
  • No data model, API, or migration path exists at this URL.
  • Buyers seeking the underlying Lone Wolf platform should look up Lone Wolf directly (lwolf.com).
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. All 8 core objects map 1:1 between Real Properties and Odoo CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between Real Properties and Odoo CRM.

  • 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 Properties: Not applicable.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Real Properties-to-Odoo CRM migrations complete in 48–72 hours of clock time for under 50,000 total records. Larger setups exceeding 500,000 records or those with extensive custom property fields, multiple crm.team pipelines, and complex owner resolution extend to 5–10 days. The longest planning step is designing the custom property field schema in Odoo and agreeing on the lead/opportunity split rule before data moves.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Real Properties.
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