CRM migration

Migrate from Realpage to Odoo CRM

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

Realpage logo

Realpage

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between Realpage and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

RealPage's data model is anchored on property management — prospects for future tenants, lease records tied to units, and property-specific fields like unit numbers, lease start/end dates, and rent amounts. Odoo CRM has no native property or lease object: prospects land as crm.lead, tenant contacts as res.partner, and every RealPage property-specific field needs a custom field created on the crm.lead model. The migration extracts contacts, companies, prospects, activities, and attachments from RealPage via its API and CSV exports, then validates relationships such as prospect-to-property and lease-to-tenant before writing records into Odoo. Custom fields for property name, unit number, lease start/end dates, rent, deposit, and status are created on the crm.lead model prior to the first load. Any automation, lease‑renewal workflow, or permission set that cannot be transferred is flagged for manual rebuild. A delta‑pickup window of 24–48 hours after the initial batch captures records created or modified in RealPage during the cutover, ensuring Odoo reflects the final state at go‑live. Post‑migration, a reconciliation report details record counts, attachment links, and any items requiring manual review.

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

Realpage logo

Realpage

What's pushing teams away

  • Slow customer support response times frustrate teams managing urgent issues like failed payment batches or posting errors that block month-end closes.
  • Navigation friction and unintuitive menu layouts slow onboarding for new staff, especially in property manager and leasing agent roles.
  • High total cost of ownership including extra fees for basic functions like data downloads creates sticker shock at renewal.
  • Communication gaps between RealPage product modules force teams to re-enter data in multiple places, reducing the promised all-in-one value.
  • Antitrust scrutiny and legal exposure around algorithmic pricing have made some operators reconsider their vendor relationship.

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

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

Realpage

Prospect

maps to

Odoo CRM

crm.lead

1:1
Fully supported

RealPage prospects map directly to Odoo crm.lead. The prospect status field (New, Touring, Application, Lease Signed) determines the initial stage_id in the target pipeline, linking each status to a corresponding crm.stage record. Prospect type (rental, commercial) can be stored as a custom selection field on crm.lead, created via Odoo Studio or the ORM before migration. This mapping preserves core data while allowing property‑specific attributes to be added as custom fields.

Realpage

Contact / Tenant

maps to

Odoo CRM

res.partner

1:1
Fully supported

RealPage tenant and contact records map to Odoo res.partner. The partner's type (tenant vs. company) maps to Odoo's is_company flag, and RealPage contact category can be stored as a tag in res.partner.category. Email, phone, and address fields transfer directly, while the contact name splits into firstname and lastname on the res.partner record. If a contact appears multiple times, the migration deduplicates by email and keeps the most recent entry.

Realpage

Property

maps to

Odoo CRM

crm.lead (custom fields)

1:1
Fully supported

RealPage property records have no native equivalent in Odoo CRM. Property name, address, and type are preserved as custom char fields on crm.lead. If the migration includes multiple properties per lead, a separate property reference table is created in Odoo and linked by a custom many-to-one field.

Realpage

Unit

maps to

Odoo CRM

crm.lead custom field

1:1
Fully supported

RealPage unit numbers and unit types (studio, one-bedroom, etc.) become custom char fields on crm.lead. Unit status (available, leased, under maintenance) maps to a custom selection field. Multiple units per prospect are stored as a comma-separated string or a related sub-record depending on volume.

Realpage

Lease Record

maps to

Odoo CRM

crm.lead (custom fields)

1:1
Fully supported

Lease-specific fields — lease start date, lease end date, monthly rent, security deposit, and lease status (Active, Expired, Pending Renewal) — map to custom date, monetary, and selection fields on crm.lead. The lease status drives Odoo lead stage when mapped alongside the prospect lifecycle.

Realpage

Company / Business Entity

maps to

Odoo CRM

res.partner (is_company=True)

1:1
Fully supported

RealPage business entities associated with prospects map to Odoo res.partner with is_company=True. Company name, domain, industry, and employee count translate directly, while RealPage company category can be stored as a tag in res.partner.category. Multi‑business portfolios in RealPage generate multiple res.partner records, each representing a separate parent entity; subsidiary contacts are linked via parent_id to the top‑level company. The migration deduplicates companies by name and domain to avoid duplicate records.

Realpage

Activity (Call, Email, Meeting)

maps to

Odoo CRM

crm.activity

1:1
Fully supported

RealPage logged calls, emails, and meetings map to Odoo crm.activity records linked to the corresponding crm.lead or res.partner. The activity type (call, email, meeting) maps to activity_type_id, and any notes or descriptions are transferred as the activity's note field. Owner resolution follows the same email‑matching logic used for leads, preserving the original timestamp for reporting continuity.

Realpage

Document / Attachment

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

RealPage documents (lease applications, signed leases, correspondence) are exported as a file package and re‑uploaded to Odoo as ir.attachment records linked to the appropriate res.partner or crm.lead. The original filename and document type are stored in the attachment's name and description fields. File size limits from RealPage's export format are respected, and any file that exceeds Odoo's upload limit is flagged in the reconciliation report for manual handling.

Realpage

Owner / Assigned Agent

maps to

Odoo CRM

res.users (via user_id on crm.lead)

1:1
Fully supported

RealPage owner IDs are resolved by email match against Odoo res.users. Unmatched owners are flagged in the pre‑migration audit report — teams either invite the user to Odoo first or assign their records to a designated fallback owner before the migration runs.

Realpage

Prospect Source

maps to

Odoo CRM

crm.lead source_id

1:1
Fully supported

RealPage prospect source fields (Website, Referral, Walk‑in, etc.) map to Odoo CRM's source_id on crm.lead, which references crm.tracking.source. If RealPage captures UTM parameters or campaign codes, those values are stored in custom fields on the crm.lead for later marketing analysis. Custom RealPage sources that have no Odoo equivalent are added to crm.tracking.source as new records before the migration, ensuring every lead retains its original referral information.

Realpage

Lead Score / Priority

maps to

Odoo CRM

crm.lead priority

1:1
Fully supported

RealPage priority levels (High, Medium, Low) map to Odoo CRM's priority field using a value mapping table, where each RealPage level corresponds to a specific Odoo priority value (e.g., 1 = Low, 3 = Medium, 5 = High). Any custom priority values present in RealPage that do not exist in Odoo's default set are added to the crm.lead priority selection during the schema setup phase. This ensures every migrated lead retains its original urgency classification.

Realpage

Campaign / Marketing Source

maps to

Odoo CRM

crm.tracking.mediium

1:1
Fully supported

RealPage marketing campaign associations on prospects map to Odoo CRM's crm.tracking.mediium and crm.tracking.campaign records. The campaign name, medium, and any UTM parameters (source, medium, term, content) captured in RealPage are stored in the corresponding tracking fields on each crm.lead, enabling detailed ROI analysis within Odoo. If a campaign does not already exist in Odoo, it is created automatically during the migration using the data from RealPage.

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.

Realpage logo

Realpage gotchas

High

Antitrust and algorithmic pricing scrutiny

Medium

Product lineage creates schema variation

Medium

GL export requires manual cleanup

Low

Utility billing uses property-specific allocation logic

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

  • Property and lease fields require Odoo custom field creation before migration

    RealPage stores property name, unit number, lease start/end dates, monthly rent, and security deposit as native fields. Odoo CRM's crm.lead model has no native equivalents — these must be created as custom fields (x_property_name, x_unit_number, x_lease_start_date, x_monthly_rent, etc.) in Odoo before data lands. If the custom fields are not pre-created, the migration import will skip those values and they must be re-mapped post-load. We deliver a custom-field creation plan as part of the schema setup phase so Odoo is ready before the first record is written.

  • RealPage prospect status maps to Odoo stage_id per pipeline — mis-mapping creates incorrect lead stages

    RealPage prospect statuses (New, Touring, Application, Lease Signed) do not automatically map to Odoo CRM stage_id values. Each RealPage status code requires a corresponding Odoo crm.stage record within the target pipeline, and the mapping table must be defined before the migration runs. If RealPage uses custom status codes not pre-created in Odoo, those leads land at the default stage and require manual correction afterward. We generate the full stage mapping table during the planning phase and create missing stage records in Odoo before data moves.

  • Multi-property contacts in RealPage collapse to a primary res.partner in Odoo

    RealPage allows a single contact (tenant) to be associated with multiple properties and units simultaneously — a tenant may lease Unit 204 today and move to Unit 301 next year with both associations preserved. Odoo CRM's res.partner model supports one primary parent company but stores additional company associations through the Contacts application (res.partner.category or related records). We migrate the most recent property association as the primary link and surface other property associations as a custom text field or category tags on the res.partner record for reference.

  • Attachments re-upload from RealPage's document export — inline images and file naming require post-processing

    RealPage's document export produces a file package organized by prospect or tenant ID with original filenames. Odoo CRM stores attachments as ir.attachment records linked to the target record ID. The migration re-uploads files and re-links them by matching the original RealPage record ID stored in a custom field on each crm.lead or res.partner. Inline images embedded in RealPage notes may require re-hosting since Odoo stores images as binary attachments rather than inline HTML. We flag any attachments that fail re-link for manual review post-migration.

  • Workflows, automations, and lease-renewal sequences do not migrate and require manual rebuild

    RealPage workflows — such as automated lease renewal reminders, rent escalation notifications, and lead follow-up sequences — are not stored in a format compatible with Odoo CRM's automation engine (Studio automations, server actions, or scheduled actions). These must be rebuilt manually in Odoo after the migration using Odoo Studio or the automation framework. We export a structured reference document listing every active RealPage workflow with its trigger, conditions, and actions so your Odoo admin has a rebuild blueprint. This is the most common source of post-migration operational gap if not addressed before go-live.

Migration approach

Six steps for a successful Realpage to Odoo CRM data migration

  1. Audit RealPage data and design Odoo schema

    We extract RealPage data via API and CSV exports — covering prospects, contacts, companies, activities, documents, and any custom properties. We profile record counts, relationship graphs (prospect-to-property, lease-to-tenant), and identify property-specific fields needing Odoo custom field creation. The output is a migration plan specifying which RealPage fields map to Odoo crm.lead and res.partner fields, which require custom fields, and which stage and owner mapping tables need to be built in Odoo before migration.

  2. Create custom fields and stage mapping in Odoo

    Before any data is written, we create the custom fields on Odoo's crm.lead model — x_property_name, x_unit_number, x_lease_start_date, x_lease_end_date, x_monthly_rent, x_security_deposit, x_lease_status, and x_property_type — plus any value mappings for stage_id and priority. We also add missing RealPage source values to Odoo's crm.tracking.source. If Odoo Studio is available, these fields are created via the UI; otherwise, they are added via the Odoo ORM before the migration batch runs.

  3. Resolve owners and validate data relationships

    RealPage owner IDs are resolved against Odoo res.users by email address match. Any RealPage owner without a corresponding Odoo user is flagged in a pre-migration audit report — your team either invites the user to Odoo first or assigns a fallback owner for their records. We also validate referential integrity: prospects without a valid property link, contacts without a resolved company, and orphaned activities are surfaced for manual decision before the migration writes begin.

  4. Run sample migration with field-level diff

    A representative slice of 200–500 records — spanning prospects, contacts, companies, and activities across multiple properties — migrates first. We generate a field-level diff comparing source values in RealPage against destination values written to Odoo crm.lead and res.partner. You review the diff to verify stage mapping, custom field population, owner resolution, and attachment re-links before the full migration commits. Adjustments to the mapping table are made and the sample re-run if needed.

  5. Execute full migration with delta-pickup window

    The full dataset migrates against the live Odoo CRM instance. A delta-pickup window of 24–48 hours after the initial batch captures any records created or modified in RealPage during the cutover — particularly important if leasing agents are still processing applications during the transition. Audit logs record every operation; one-click rollback is available if reconciliation against the RealPage source data reveals unexpected gaps. Post-migration, we deliver a reconciliation report showing record counts, attachment links, and any records that require manual review.

Platform deep dives

Context on both ends of the pair

Realpage logo

Realpage

Source

Strengths

  • Purpose-built for multifamily with native support for rent rolls, lease terms, and unit mix management.
  • Integrated accounting ties GL directly to leasing events, eliminating separate reconciliation for standard closes.
  • Revenue management and benchmarking analytics provide portfolio-level pricing intelligence against market comparables.
  • AppPartner program and developer portal offer documented API access for integrations and custom tooling.
  • Broad portfolio support—covers conventional, affordable, student, commercial, and vacation housing types.

Weaknesses

  • Layered interface with menus that do not follow expected patterns, causing friction for new users.
  • Support responsiveness is a consistent pain point in reviews, with slow response on critical issues like payment posting errors.
  • Pricing opacity—no public tiers—makes budget planning and renewal negotiations difficult.
  • Product suite has gone through multiple acquisitions, creating version-dependent navigation paths that vary by customer.
  • Data export from the UI requires manual report generation with cleanup steps before the data is migration-ready.
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 Realpage and Odoo CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between Realpage 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

    Realpage: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most RealPage-to-Odoo CRM migrations complete within 48–72 hours for under 25,000 total records (prospects, contacts, and activities combined). Larger datasets above 100,000 records, or RealPage setups with extensive property-specific custom fields, extend to 5–10 days. The longest planning step is creating and validating the Odoo custom fields for lease terms, unit numbers, and property data before data is written. Once the Odoo schema is ready, the actual data movement runs at Odoo's XML-RPC import speed.

Adjacent paths

Related migrations to explore

Ready when you are

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