CRM migration
Field-level mapping, validation, and rollback between Real Geeks and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Real Geeks
Source
Odoo CRM
Destination
Compatibility
13 of 13
objects map 1:1 between Real Geeks and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Real Geeks organizes real estate leads in a flat CRM structure with status stages (Active, Cancelled, In Escrow, Closed Escrow, Dead), urgency tiers (Cold, Warm, Hot, Contacted, Not Contacted), timeframe fields, and drip campaign tracking tied to property searches and saved listings. Odoo CRM uses crm.lead for both leads and opportunities with a res.partner contact model, configurable stage pipelines, and an action-rule automation engine. FlitStack AI maps Real Geeks leads to Odoo crm.lead records, splits contact data into res.partner profiles, and preserves property-interest signals as custom char and selection fields on the lead. Drip campaign logic requires manual rebuild using Odoo automated actions and email templates — we export your campaign definitions as a rebuild reference. The migration uses Real Geeks' REST API for lead and activity export, with Odoo's xmlrpc interface for bulk insertion. A 24–48 hour delta pickup window captures any records modified during cutover. FlitStack AI also validates data integrity before insertion, ensuring that duplicate leads are merged and missing required fields are flagged for correction. The migration script records every mapping decision in an audit log, providing full traceability for each record's transformation from Real Geeks to Odoo.
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 Real Geeks 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 Geeks
Lead
Odoo CRM
crm.lead
1:1Real Geeks Lead maps directly to Odoo crm.lead. The lead's contact fields (name, email, phone) create or match a res.partner record via partner_id many2one. Lead status and urgency values require custom field creation in Odoo or stage/value mapping. This mapping also preserves the original lead ID in a custom field for audit and de-duplication purposes.
Real Geeks
Lead
Odoo CRM
res.partner
1:1Real Geeks contact information (first_name, last_name, email, phone, address) maps to Odoo res.partner. If the lead includes company data, partner records with company_type='company' are created first; individual contacts then link via parent_id. During migration, FlitStack AI checks for duplicate partner records by email and merges them when necessary to avoid duplication.
Real Geeks
Lead Status
Odoo CRM
crm.lead.stage_id
1:1Real Geeks five status values (Active, Cancelled, In Escrow, Closed Escrow, Dead) map to Odoo crm.lead.stage_id. We create custom stages matching Real Geeks terminology. Cancelled and Dead leads can be set to inactive in Odoo or archived after migration. If your workflow requires further segmentation, additional stage fields can be introduced.
Real Geeks
Lead Urgency
Odoo CRM
crm.lead (custom field x_urgency)
1:1Odoo has no native urgency field. Real Geeks urgency values (Cold, Warm, Hot, Contacted, Not Contacted) migrate to a custom selection field x_urgency on crm.lead. Your team can map these to Odoo's priority field (stars) or keep as a separate selection.
Real Geeks
Lead Timeframe
Odoo CRM
crm.lead (custom field x_timeframe)
1:1Real Geeks timeframe field (Immediately, 1 Week, 2-4 Weeks, 30 Days, 60 Days, 90 Days, 3-6 Months, 6-12 Months, 1 Year Or More) maps to a custom selection field x_timeframe on crm.lead. This signals buying/selling readiness and is preserved for sales follow-up prioritization.
Real Geeks
Lead Notes
Odoo CRM
crm.lead.description
1:1Real Geeks lead notes migrate to Odoo crm.lead.description, a text field. If notes contain structured data (call logs, appointment summaries), they appear as plain text in description. Rich-text formatting from Real Geeks is not preserved. You can later reformat the text in Odoo using its rich-text editor if desired.
Real Geeks
Lead Tags
Odoo CRM
crm.lead.tag_ids
1:1Real Geeks tag list maps to Odoo crm.lead.tag_ids. Tags are matched by name — new tags are created in Odoo if no match exists. Tag consistency across leads is preserved. Multiple tags per lead are supported in both platforms. During migration, FlitStack AI also records the original tag IDs for future reference and de-duplication.
Real Geeks
Property Interest (saved searches, viewed listings)
Odoo CRM
crm.lead (custom fields + description)
1:1Real Geeks tracks which properties a lead viewed or saved. This data migrates as a custom text field x_property_interests on crm.lead, with the most recent property URLs listed in the description. Odoo has no native property-search tracking — this is preserved as reference data.
Real Geeks
Lead Source
Odoo CRM
crm.lead.source_id
1:1Real Geeks lead source data (website form, Zillow, Realtor.com, API import) maps to Odoo crm.lead.source_id. If the source string does not match an existing UTM source in Odoo, a new utm.source record is created. Source attribution is preserved for campaign reporting.
Real Geeks
Lead Create Date
Odoo CRM
crm.lead.create_date
1:1Real Geeks created timestamp migrates to Odoo crm.lead.create_date. Odoo's create_date is set by the database at insertion time — we override it with the original Real Geeks date so reporting continuity is maintained. Original create date is also stored in a custom field for audit.
Real Geeks
Lead Last Modified
Odoo CRM
crm.lead.write_date
1:1Real Geeks last_modified timestamp maps to Odoo crm.lead.write_date. This preserves the last activity date in Real Geeks so your team can prioritize follow-up without relying on Odoo's activity logging alone. The write_date is set during the migration script and reflects the exact moment of the last change recorded in Real Geeks, ensuring continuity in reporting.
Real Geeks
Lead Owner (Agent)
Odoo CRM
crm.lead.user_id
1:1Real Geeks agent/owner assignment is resolved by matching agent email to Odoo res.users login. Unmatched owners are flagged before migration — your team either creates Odoo user accounts first or assigns records to a fallback user. No crm.lead lands without a user_id.
Real Geeks
Activity History (calls, emails, meetings)
Odoo CRM
mail.message + crm.activity
1:1Real Geeks activity records (call logs, email sent, meeting notes) migrate to Odoo mail.message records linked to the crm.lead via res_id and model fields. Activity type, timestamp, and body content are preserved. Odoo native activity counts and next activity dates are set based on the most recent engagement.
| Real Geeks | Odoo CRM | Compatibility | |
|---|---|---|---|
| Lead | crm.lead1:1 | Fully supported | |
| Lead | res.partner1:1 | Fully supported | |
| Lead Status | crm.lead.stage_id1:1 | Fully supported | |
| Lead Urgency | crm.lead (custom field x_urgency)1:1 | Fully supported | |
| Lead Timeframe | crm.lead (custom field x_timeframe)1:1 | Fully supported | |
| Lead Notes | crm.lead.description1:1 | Fully supported | |
| Lead Tags | crm.lead.tag_ids1:1 | Fully supported | |
| Property Interest (saved searches, viewed listings) | crm.lead (custom fields + description)1:1 | Fully supported | |
| Lead Source | crm.lead.source_id1:1 | Fully supported | |
| Lead Create Date | crm.lead.create_date1:1 | Fully supported | |
| Lead Last Modified | crm.lead.write_date1:1 | Fully supported | |
| Lead Owner (Agent) | crm.lead.user_id1:1 | Fully supported | |
| Activity History (calls, emails, meetings) | mail.message + crm.activity1:1 | 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.
Real Geeks gotchas
CSV export omits activity and behavioral history
No bulk API — large databases require per-record calls
Outgoing API requires a publicly accessible webhook endpoint
Billing cancellation requires direct support contact
Mailchimp and third-party integrations validate email independently
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
Audit Real Geeks data via API and export lead, contact, and activity records
FlitStack AI connects to your Real Geeks account using API credentials to enumerate all leads, contact profiles, activity records, tags, and saved search data. We run a data profiling pass to identify duplicate records, missing required fields (email, phone, name), and any non-standard urgency or status values your team has added. This audit produces a data quality report and defines the exact record counts that drive pricing and timeline estimates.
Design Odoo custom fields for urgency, timeframe, and property interests
Based on the data audit, FlitStack AI designs the custom field schema for Odoo crm.lead. We create selection fields x_urgency and x_timeframe with your exact Real Geeks value lists, plus x_property_interests as a text field. If your Real Geeks account has custom status values beyond the standard five, we map those to Odoo stage records and flag any that require new stage creation in your Odoo pipeline configuration.
Resolve agent owners and configure Odoo user matching
Real Geeks agent assignments are matched to Odoo res.users records by email address. FlitStack AI generates a pre-migration owner resolution report listing every Real Geeks agent and their matched (or unmatched) Odoo user status. Your team creates Odoo user accounts for any unmatched agents before the migration run. Records assigned to agents without Odoo accounts are held in a fallback bucket assigned to a designated admin user — the original owner reference is preserved in a custom field for post-migration reassignment.
Run sample migration of 200–500 leads with field-level diff
A representative slice of Real Geeks leads — spanning different status values, urgency tiers, and agent owners — migrates first. FlitStack AI generates a field-level diff showing source value vs. Odoo destination value for every mapped field. You verify that urgency and timeframe selections populated correctly, that property interests appear in the description or custom field, and that stage mapping matches your pipeline expectations. No full migration commits until the sample is approved.
Execute full migration with delta pickup and audit log
Full migration runs against Odoo's xmlrpc API. A 24–48 hour delta pickup window opens simultaneously, capturing any Real Geeks records created or modified during the cutover window. FlitStack AI logs every record operation (create, update, skip, error) to an audit CSV. If reconciliation fails — record count mismatch, stage mapping gap, or custom field not populated — one-click rollback reverts the Odoo environment to pre-migration state. Once confirmed, your team transitions Odoo as the system of record and deactivates the Real Geeks webhook endpoints.
Platform deep dives
Real Geeks
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Real Geeks and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Real Geeks and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between Real Geeks and Odoo CRM.
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
Real Geeks: Not publicly documented.
Data volume sensitivity
Real Geeks 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 Real Geeks to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Real Geeks 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 Real Geeks
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.