CRM migration

Migrate from Propeller CRM to Odoo CRM

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

Propeller CRM logo

Propeller CRM

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

67%

8 of 12

objects map 1:1 between Propeller CRM and Odoo CRM.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Propeller CRM to Odoo CRM is an archive reconstruction, not a live-API migration. Propeller CRM shut down on December 15, 2019 and no longer has an API, admin console, or support team. Any migration relies entirely on the data export produced at shutdown time. If that export was not requested before the February 15, 2020 deadline, the data may no longer be recoverable. We work with whatever archive exists, reconstruct record relationships from the exported CSV and JSON artifacts, and import into Odoo's Leads, Opportunities, and Contacts modules. Odoo CRM's dual lead-opportunity model differs from Propeller's single pipeline and deal approach, so we configure Odoo pipeline stages, assign custom fields for Propeller's original field names, and map owner assignments by email. We do not migrate activity logs (opens, clicks, replies, meeting events) because Propeller's Gmail extension did not expose them in the standard shutdown export. We do not migrate workflows, email sequences, or automation rules as code; these require manual rebuild in Odoo's workflow builder and require a separate effort after cutover.

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

Propeller CRM logo

Propeller CRM

What's pushing teams away

  • Reporting functionality was consistently cited as underdeveloped — customers wanted more granular pipeline analytics and exportable dashboard views.
  • Propeller CRM ceased operations on December 15, 2019, leaving hundreds of customers without a platform and forcing urgent migration to alternatives.
  • The platform lacked enterprise-scale features, making it unsuitable as teams grew beyond the small-business segment it was designed for.
  • Contact and deal volumes were uncapped on the single tier, but the absence of advanced segmentation or custom objects frustrated more complex sales processes.

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

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

Propeller CRM

Contact

maps to

Odoo CRM

Lead

1:1
Fully supported

Propeller Contacts map to Odoo CRM Lead records. The Propeller Contact's name, email, phone, and company association migrate as Lead fields (partner_name maps to the related res.partner record created from the Company mapping). Propeller's contact record ID is preserved in a custom field x_propeller_id for audit. If the archived export includes contact status flags, we map them to Lead stage or priority in Odoo. The email field serves as the dedupe key.

Propeller CRM

Company

maps to

Odoo CRM

Partner (res.partner)

1:1
Fully supported

Propeller Company records map to Odoo res.partner records with is_company=True. Company name becomes the partner name, domain becomes website, and any industry or employee-count fields map to Odoo custom partner fields. We resolve duplicates by company name during import scoping. Partner records are created before Contact import so that the many2one relationship to res.partner is satisfied at Lead insert time.

Propeller CRM

Deal

maps to

Odoo CRM

Opportunity (crm.lead)

1:1
Fully supported

Propeller Deals map to Odoo CRM Opportunity (crm.lead records with type='opportunity'). Deal name becomes opportunity name, deal amount maps to Odoo's expected_revenue and a custom float field, and the Propeller contact association links to the corresponding Odoo Lead/Contact. Deal stage names are mapped to Odoo stage IDs during import (see Stage mapping object). Lost/won status from Propeller carries to Odoo's probability=0 (lost) or probability=100 (won) states.

Propeller CRM

Pipeline Stage

maps to

Odoo CRM

Stage (crm.stage)

lossy
Fully supported

Propeller pipeline stages are fully custom per team. We map each Propeller stage name to an Odoo stage within the target pipeline, setting the probability percentage to match Propeller's stage order as closely as possible. Stages with no clear Odoo equivalent (e.g., 'verbal yes', 'awaiting finance') are flagged in the mapping document for customer confirmation before import. Stage ordering is preserved in Odoo by setting the sequence integer.

Propeller CRM

Pipeline

maps to

Odoo CRM

Pipeline (crm.team)

lossy
Fully supported

Propeller supported a single deal pipeline. This maps to one Odoo crm.team record. If the archived export references pipeline-level settings (e.g., stage count, pipeline name), these configure the target team's name and stage sequence. Teams needing multiple Odoo pipelines for different business lines configure additional crm.team records as a post-migration step.

Propeller CRM

Email Campaign

maps to

Odoo CRM

Campaign (utm.campaign)

1:1
Fully supported

Propeller Email Campaigns migrate to Odoo utm.campaign records as historical reference notes. Campaign name, associated contacts, and send date are preserved. The utm.campaign record links to the Odoo Contacts/Leads that were part of the campaign, but Odoo's mass mailing app (email marketing) is not migrated as a running system — only the historical campaign names and membership survive the migration.

Propeller CRM

Email Template

maps to

Odoo CRM

Email Template (mail.template)

1:1
Fully supported

Propeller email templates with merge fields migrate to Odoo mail.template records. We map template body content to the Odoo template body field and resolve merge field names to Odoo's QWeb or Jinja2-style field interpolation syntax (e.g., {{object.partner_id.name}}). Customers review rendered output in Odoo before activating templates.

Propeller CRM

Owner

maps to

Odoo CRM

User (res.users)

1:1
Fully supported

Propeller Owner records map by email address to Odoo res.users. We extract every distinct owner email referenced on Contact, Deal, and Campaign records in the archive. If a matching Odoo user exists (active or inactive), we link the record to that user. If no match exists, we create a placeholder user record flagged for the customer admin to activate and assign. Orphaned assignments — where the Propeller owner email has no corresponding Odoo user — are listed in the reconciliation report.

Propeller CRM

Activities (opens, clicks, replies, meetings)

maps to

Odoo CRM

Activity (mail.activity)

1:1
Fully supported

Activity logs tracked by Propeller's Gmail extension — email opens, link clicks, reply events, and meeting scheduling — were not included in Propeller's standard shutdown data export. We flag this gap during scoping. We do not reconstruct per-contact activity timelines from external sources. The migration delivers no activity records. Customers who rely on historical engagement data for reporting or compliance must note this limitation before approving scope.

Propeller CRM

Custom Properties

maps to

Odoo CRM

Custom Fields (ir.model.fields)

lossy
Fully supported

Propeller allowed custom field names on Contacts and Deals. We create matching custom fields in Odoo on the crm.lead (Lead/Opportunity) and res.partner models before migration. Field types are inferred from Propeller data (text fields, dates, numbers, picklists) and mapped to equivalent Odoo field types. Any picklist values in Propeller are created as selection options on the Odoo custom field. Customers confirm field type mapping during the scoping review.

Propeller CRM

Deal Stage History

maps to

Odoo CRM

Lead/Opportunity Stage

lossy
Fully supported

Propeller tracked deal stage progression over time, but the archived export typically contains only the current stage per deal, not the full history log. We preserve the current stage name and last-modified date. The Odoo stage_id is set to the mapped current stage. If the archived export includes historical stage entries per deal, we create them as stage change log entries via a custom Odoo model or activity note.

Propeller CRM

Archived Attachments/Files

maps to

Odoo CRM

Attachment (ir.attachment)

1:1
Fully supported

Any file attachments exported from Propeller (e.g., contact photos, deal documents) are imported as Odoo ir.attachment records linked to the corresponding Lead, Contact, or Opportunity record via res_model and res_id. We resolve the parent record ID at migration time and preserve the original filename and file type. Attachments without a resolvable parent record are listed in the orphaned attachments report.

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.

Propeller CRM logo

Propeller CRM gotchas

High

Platform shutdown — no active API or support

High

Activity history not included in standard export

Medium

Deal stage mapping requires manual review

Medium

Owner/user assignment requires remapping

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

  • Propeller CRM has no active API — migration relies entirely on archived export

    Propeller CRM shut down on December 15, 2019 and no longer has a live API, admin console, or support infrastructure. The only migration source is the data export produced at shutdown time. Customers who requested an export before the February 15, 2020 deadline received a CSV or JSON archive of their data. We cannot request fresh exports retroactively. If the customer did not export during that window, their data may no longer exist in usable form. We verify archive completeness during scoping before committing to a migration scope.

  • Activity history (opens, clicks, replies, meetings) not included in Propeller export

    Propeller's Gmail extension tracked email opens, link clicks, reply events, and meeting scheduling as live activity logs, but these were not exposed in the standard shutdown data export. We import Contacts, Deals, Companies, Campaigns, and Templates, but the per-contact activity timeline that Propeller users relied on for follow-up tracking is gone. We explicitly flag this gap in the scoping document and do not promise complete activity migration. Customers who need engagement history must source it from email platform archives or accept that it does not transfer.

  • Custom pipeline stage names require customer-confirmed mapping decisions

    Propeller allowed fully custom pipeline stage names with no enforced ordering logic. Customers frequently used non-standard names like 'verbal yes', 'pending docs', or 'awaiting finance' that have no direct equivalent in Odoo's default stage set. We map each Propeller stage to an Odoo stage ID during import, but stages without a clear Odoo equivalent are flagged for customer confirmation. Placing a stage in the wrong Odoo stage affects pipeline reporting, automation triggers, and probability calculations in the new CRM.

  • Owner/user remapping leaves orphaned record assignments

    Propeller Owner records were tied to individual email addresses. If a sales team member has since left the company and their Propeller account is inactive, their deal and contact assignments cannot be re-linked in Odoo without a matching user record. We map all known owner emails during import scoping, create placeholder Odoo users for unmatched emails, and flag them in a reconciliation report. The customer's admin must activate or reassign these placeholders after migration before the records reflect the correct owner in the new CRM.

  • Odoo's Lead-Opportunity split differs from Propeller's single deal model

    Propeller had one Contact and one Deal object. Odoo uses a Lead object for unqualified prospects and an Opportunity (a crm.lead with type='opportunity') for qualified deals. Propeller Deals migrate directly to Odoo Opportunities, but Contacts from Propeller that were not attached to a Deal will arrive as Odoo Leads rather than Opportunities. We configure the Odoo CRM pipeline stages and lead-to-opportunity convert rules before migration so that the customer's sales team knows how to move a Lead through qualification to become an Opportunity in Odoo.

Migration approach

Six steps for a successful Propeller CRM to Odoo CRM data migration

  1. Archive receipt and data quality assessment

    We receive the Propeller CRM shutdown-era archive from the customer (CSV export, JSON dump, or whatever format was produced at the time of the February 2020 export request). We audit the archive for completeness across all eight supported object types: Contacts, Companies, Deals, Pipeline Stages, Email Campaigns, Email Templates, Owners, and any custom fields present. We flag any missing object types, assess duplicate rates per object, identify records with missing required fields (particularly contacts without email addresses), and produce a written data quality report before migration scope is confirmed.

  2. Odoo CRM configuration and schema preparation

    We configure the target Odoo CRM environment (Community or Enterprise edition) before any data loads. This includes creating custom fields on crm.lead and res.partner to hold Propeller-specific field names, configuring pipeline stages to match the Propeller stage list (with probability percentages), setting up crm.team records for each Propeller pipeline, and configuring lead stage and lead-to-opportunity convert rules. Schema changes are deployed in a test Odoo database first for validation.

  3. Record dependency mapping and owner reconciliation

    We map all record-to-record relationships in the archive: Contacts to Companies (via company name match), Deals to Contacts (via contact ID), Campaigns to Contacts (via membership records). We extract every unique owner email address from the archive and match against the destination Odoo User table. Unmatched owners are placed in a reconciliation queue; the customer admin provisions the corresponding Odoo users before migration resumes. This step gates the entire import because Owner (user) assignments are required on most standard CRM records.

  4. Sandbox migration and reconciliation

    We run a full test migration into a copy of the Odoo database or a staging environment. We validate record counts for each object type (Contacts in, Companies in, Deals in, Campaigns in), spot-check 25-50 records per object against the source archive for field-level accuracy, and confirm that stage mappings are producing the expected Odoo stage assignments. The customer reviews and approves the test results before production migration is scheduled. Any field mapping corrections, stage reassignments, or custom field additions happen here.

  5. Production migration in dependency order

    We run production migration in the following dependency order: res.partner (Companies), crm.lead Leads (Contacts without Deals), crm.lead Opportunities (Deals with resolved Contact and Stage mappings), utm.campaign (Campaigns), mail.template (Templates), ir.attachment (linked files), and custom field data on each record. OwnerId links are resolved at migration time using the reconciled User map. Each phase emits a row-count reconciliation report before the next phase begins. Activities are explicitly excluded per the scope agreement.

  6. Cutover, validation, and rebuild handoff

    We freeze the archive against further changes, run a final delta pass for any records modified during the migration window, then enable Odoo CRM as the system of record. We deliver a written inventory of what was migrated and what was not migrated, including a full list of Propeller Workflows and email sequences that cannot be transferred (these require manual rebuild in Odoo's CRM automation builder). We provide a one-week post-cutover support window to resolve reconciliation issues. Post-migration admin training, workflow rebuild, and ongoing Odoo configuration are outside standard migration scope and can be scoped as a separate engagement.

Platform deep dives

Context on both ends of the pair

Propeller CRM logo

Propeller CRM

Source

Strengths

  • Gmail-deep integration via Chrome extension eliminated context switching between inbox and CRM.
  • Single-tier pricing included all features — no upgrade gating for automation or reporting.
  • Lightweight setup meant small teams were operational within hours, not weeks.
  • Email tracking and automated follow-up sequences ran from inside the inbox without separate tools.
  • Pipeline visualization gave small sales teams a clear view of deal progress without enterprise complexity.

Weaknesses

  • Reporting was consistently described as limited — basic dashboard views with no advanced filtering or exportable analytics.
  • The platform shut down permanently in December 2019, leaving no active product, support, or API.
  • No mobile app beyond responsive web — field sales teams without laptop access had no native mobile experience.
  • Custom objects and advanced field types were not supported, making it unsuitable for complex data models.
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?

Moderate CRM migration. 1 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

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

  • Object compatibility

    C

    1 of 8 objects need a manual workaround.

  • 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

    Propeller CRM: Not applicable — platform shut down December 15, 2019.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

If the data export was not requested during Propeller's official shutdown window, the archive may no longer exist or may only be partially available. We cannot retrieve data retroactively from Propeller because the platform has no active infrastructure. We recommend checking email archives for any Propeller export files sent to the company's support inbox ([email protected]), checking with former Propeller team members who may have downloaded exports locally, and reviewing any cloud storage or backup systems where the export might have been saved. If no archive exists, migration scope is limited to whatever partial records can be reconstructed.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Propeller CRM.
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