CRM migration

Migrate from myCRMS.com to Odoo CRM

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

myCRMS.com logo

myCRMS.com

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

75%

9 of 12

objects map 1:1 between myCRMS.com and Odoo CRM.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from myCRMS.com to Odoo CRM is a structural migration from a standalone sales tool into a modular ERP ecosystem. myCRMS.com stores contacts with custom fields, company records, and pipeline deals with stage data in a single-tenant export model; Odoo represents the same data across its crm.lead, crm.lead and res.partner models, requiring schema discovery before any data moves. We sequence the export in dependency order, loading company records before contacts to preserve partner associations, and resolving myCRMS owner assignments to Odoo res.users records before record insertion. Smart Lists from myCRMS map to Odoo saved views with the same filter logic rebuilt as domain expressions. Workflows, automations, and marketing automation rules do not migrate; we deliver a written inventory of these for your admin to rebuild using Odoo Studio or a certified partner. Odoo pricing at $37.40/user/month Enterprise includes the CRM module alongside accounting, inventory, and project modules, which changes the total cost picture compared to a standalone myCRMS subscription.

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

myCRMS.com logo

myCRMS.com

What's pushing teams away

  • Aged technical baseline — the vendor site lists system requirements of 'Internet Explorer 6.0 or compatible browser', a strong signal the product has not modernised, which scares off teams expecting current browser support and security posture.
  • Tiny public footprint — virtually no third-party reviews on G2, Capterra, GetApp, or Software Advice, making it hard for buyers to validate the product or compare against alternatives.
  • No documented public API, no developer portal, and no published rate-limit or authentication reference — integration-minded teams move to platforms with modern API surfaces.
  • Marketing channel mix references 'fax' as a primary outbound channel, indicating the product reflects late-1990s/early-2000s assumptions about sales workflows rather than current digital channels.
  • No published pricing tiers, customer count, or vendor company information makes long-term vendor risk hard to assess — buyers default to better-documented competitors.

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 myCRMS.com objects map to Odoo CRM

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

myCRMS.com

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

myCRMS.com Contact records map to Odoo res.partner with is_company=False. The contact's primary email becomes email, phone becomes phone, and address fields map to street, city, state_id, country_id, and zip. Custom fields discovered during the pre-migration audit create corresponding ir.model.fields on res.partner. We load res.partner records before any child contact records to satisfy the parent_id lookup if myCRMS stores hierarchical contact relationships.

myCRMS.com

Company

maps to

Odoo CRM

res.partner

1:1
Fully supported

myCRMS.com Company records map to Odoo res.partner with is_company=True and is_company flag set. Company domain becomes website field. The company name maps to name, and any industry, employee count, or revenue fields migrate as custom fields on res.partner. Company records are loaded first so that Contact records can reference them via parent_id during insertion.

myCRMS.com

Deal

maps to

Odoo CRM

crm.lead

1:1
Fully supported

myCRMS.com Deal records map to Odoo crm.lead with type='opportunity'. The deal name becomes name, stage data maps to stage_id through Odoo's stage configuration, and amount maps to expected_revenue. Owner assignments from myCRMS map to user_id on crm.lead by email matching against Odoo res.users.

myCRMS.com

Deal Stage

maps to

Odoo CRM

crm.stage

lossy
Fully supported

Each distinct myCRMS.com pipeline stage value becomes an Odoo crm.stage record within the relevant crm.team. Stage sequence order migrates to sequence, and probability percentages map to Odoo's probability field on crm.lead. We configure stage names to match myCRMS labels for user recognition post-migration.

myCRMS.com

Pipeline

maps to

Odoo CRM

crm.team

1:1
Fully supported

myCRMS.com deal pipelines map to Odoo crm.team records. Each team gets its own Kanban view with stages scoped to that team. If myCRMS uses multiple pipelines to segment lines of business, each becomes a separate crm.team with its own team leader and member assignments resolved from owner data.

myCRMS.com

Owner

maps to

Odoo CRM

res.users

1:1
Fully supported

myCRMS.com owner assignments on Contact, Company, and Deal records resolve to Odoo res.users by email match. Any myCRMS owner without a matching Odoo user is held in a reconciliation queue for the customer's admin to provision before record import resumes. We cannot insert records with user_id references that do not exist in the destination.

myCRMS.com

Activity: Call

maps to

Odoo CRM

mail.activity (type=call)

1:1
Fully supported

myCRMS.com call activity records map to Odoo mail.activity with activity_type_id set to the built-in Call type. Call duration and disposition migrate to custom activity fields. ActivityDate from myCRMS sets the deadline and activity_date on mail.activity. The activity.res_model and res_id link to the migrated res.partner or crm.lead record.

myCRMS.com

Activity: Meeting

maps to

Odoo CRM

calendar.event

1:1
Fully supported

myCRMS.com meeting activity records map to Odoo calendar.event. Start datetime, end datetime, and location migrate to start, stop, and location. Attendees link via calendar.attendee records pointing to the migrated res.partner contacts and res.users team members.

myCRMS.com

Activity: Task

maps to

Odoo CRM

mail.activity (type=task)

1:1
Fully supported

myCRMS.com task activity records map to Odoo mail.activity with activity_type_id set to the built-in To-Do type. Task subject becomes mail.activity.title, status maps to activity_date or deadline depending on myCRMS field semantics, and owner assignment resolves to user_id via the res.users mapping.

myCRMS.com

Activity: Note

maps to

Odoo CRM

mail.message

1:1
Fully supported

myCRMS.com note activity records map to Odoo mail.message linked to the parent res.partner or crm.lead via res_id and model. Note body migrates as HTML content preserved in body_html. Message creation date and author (mapped to res.users) are set from myCRMS timestamp and owner data.

myCRMS.com

Smart List

maps to

Odoo CRM

ir.filters

lossy
Fully supported

myCRMS.com Smart List filter logic migrates to Odoo ir.filters records scoped to the relevant model (res.partner or crm.lead). We translate myCRMS filter conditions into Odoo domain expression syntax during the pre-migration audit. Each Smart List becomes a named saved view that the customer's admin assigns to specific users post-migration. This translation is documented as a written handoff, not an automated recreation, because Odoo domain syntax differs from myCRMS filter builder semantics.

myCRMS.com

Custom Field

maps to

Odoo CRM

ir.model.fields

lossy
Fully supported

Any custom field schemas discovered on myCRMS.com Contact, Company, and Deal records during pre-migration audit are pre-created in Odoo as ir.model.fields on res.partner and crm.lead before data import begins. Field types are mapped: text fields to char or text, numeric fields to float or integer, date fields to date, dropdown fields to selection. Many2one and many2many custom fields require corresponding Odoo models to exist first, which we coordinate during the schema design phase.

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.

myCRMS.com logo

myCRMS.com gotchas

High

Vendor site references IE 6.0 — product likely not modernised

High

No public API or developer portal

Medium

No third-party review corpus for diligence

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

  • myCRMS.com has limited public API documentation

    myCRMS.com's help center at kb.mycrmssupport.com provides limited public documentation on available export endpoints, field schemas, and API rate limits. We conduct a pre-migration audit to discover the actual export capabilities, custom field exposure, and any pagination constraints before designing the migration load. Source systems with undocumented export APIs require a test extraction phase that can add one to two weeks to discovery and may reveal that certain record types or historical data cannot be accessed via automated export, requiring manual CSV extraction or accepting reduced scope.

  • Custom field schemas must be pre-created in Odoo before import

    Odoo does not auto-create fields during data import; the target ir.model.fields must exist before records are inserted. If myCRMS.com exposes custom field schemas that were not documented during scoping, we add them to the destination schema during the migration rather than after, which requires a brief pause in the load sequence to deploy the new field definitions via Odoo Studio or XML-RPC and re-validate the affected record batch.

  • Smart Lists require manual translation to Odoo saved views

    myCRMS.com Smart Lists store filter logic that does not export as a portable format. We audit each Smart List during pre-migration, document the filter conditions in English and as Odoo domain expressions, and deliver the translation as a written handoff for the customer's admin to create as ir.filters saved views in Odoo. Odoo's domain expression syntax differs from myCRMS filter builder operators, and some complex Smart List conditions may require simplification or conversion to an Odoo action with a server-side model.

  • Odoo workflow and automation rules do not migrate

    myCRMS.com workflows, automated rules, and marketing automation sequences do not move to Odoo as code. We document every active automation as a written inventory with its trigger, conditions, and actions, plus a recommended Odoo Studio or Python model equivalent. The customer's admin or an Odoo partner rebuilds these post-migration. This is a common oversight in CRM migrations that results in teams losing critical business logic after cutover.

  • Owner reconciliation blocks record insertion without user provisioning

    Odoo requires a valid res.users record before a crm.lead or res.partner can be assigned to that user via user_id. Any myCRMS.com owner email that does not match an existing Odoo user blocks the batch until the customer provisions that user. We extract all distinct owner emails during discovery, match against the destination org, and surface the reconciliation queue before production migration begins so that provisioning happens in parallel with schema design rather than halting the load.

Migration approach

Six steps for a successful myCRMS.com to Odoo CRM data migration

  1. Discovery and export capability audit

    We audit myCRMS.com across available export endpoints, data volume by record type, custom field schemas exposed in the export, Smart List definitions, owner assignments, and activity record types. This phase determines whether automated API extraction is possible or whether manual CSV export is required, and it surfaces any record types or historical data that may be inaccessible. The discovery output is a written migration scope with record counts, custom field inventory, and a recommendation on whether Odoo Community or Enterprise is the appropriate destination edition.

  2. Schema design and field pre-creation

    We design the destination Odoo schema before any data loads. This includes creating any missing custom fields on res.partner and crm.lead via Odoo Studio, configuring crm.team records to match myCRMS pipeline structure, and setting up crm.stage records with names, sequence, and probability matching the source. Custom field types are mapped to Odoo ir.model.fields types (char, integer, float, selection, many2one) and deployed via XML-RPC or directly through Odoo Studio. Schema is validated in the destination Odoo environment before production migration begins.

  3. Smart List audit and domain translation

    We document every myCRMS.com Smart List with its filter conditions expressed in both English and Odoo domain expression syntax. This translation identifies any conditions that require simplification because Odoo domain operators differ from myCRMS filter builder semantics. The Smart List translation document is delivered alongside the migration and serves as the handoff for the customer's admin to create Odoo ir.filters saved views after cutover.

  4. Owner reconciliation and user provisioning

    We extract every distinct myCRMS.com owner email from Contact, Company, Deal, and activity records and match against the destination Odoo res.users table. Owner emails without a matching Odoo user are listed in a reconciliation queue. The customer provisions missing users in Odoo (active for current team members, inactive for historical owners) before production migration begins. Migration cannot insert records with user_id references pointing to non-existent users without causing foreign key failures.

  5. Production migration in dependency order

    We run production migration in record-dependency order: crm.team and crm.stage configuration, res.partner Company records (is_company=True) first, res.partner Contact records second with parent_id resolved to the Company, crm.lead Deal records with stage_id and user_id resolved, then mail.activity and calendar.event records linked to parent records. Each phase emits a row-count reconciliation report before the next phase begins. We use Odoo's XML-RPC API with batch chunking and retry logic to handle rate limit responses.

  6. Cutover, validation, and automation handoff

    We freeze myCRMS.com write access during cutover, run a final delta migration of any records modified during the migration window, then enable Odoo as the system of record. We deliver the Smart List translation document and the automation inventory to the customer's admin team. We support a one-week hypercare window where we resolve reconciliation issues raised by the team. We do not rebuild myCRMS workflows or automations as Odoo Server Actions or Python models inside the migration scope; that is a separate engagement or an internal Odoo partner task.

Platform deep dives

Context on both ends of the pair

myCRMS.com logo

myCRMS.com

Source

Strengths

  • Browser-only delivery with no client install.
  • Sales pipeline, opportunity tracking, and multi-period forecasting included in core product.
  • Marketing automation across email, letter, and fax channels bundled in.
  • Month-to-month cancellation (one month's notice) lowers commitment risk.
  • Free trial available without annual commitment.

Weaknesses

  • Vendor site lists IE 6.0 as a supported browser — suggests the product has not modernised.
  • Virtually no public third-party reviews on G2, Capterra, or other major directories.
  • No documented public API or developer portal.
  • Marketing copy references fax as an outbound channel, indicating outdated workflow assumptions.
  • No published pricing tiers, customer count, or vendor company information.
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 myCRMS.com and Odoo CRM.

  • Object compatibility

    D

    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

    myCRMS.com: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your myCRMS.com 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 myCRMS.com to Odoo CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 15,000 Contacts and 3,000 Deals with no custom object schemas. Migrations with custom field schemas, multi-pipeline Deal structures, large activity histories, or Odoo multi-module scope (CRM plus Sales, Inventory, or Project) move to eight to fourteen weeks because of schema pre-creation, Smart List translation, and owner reconciliation. Discovery and planning add two to three weeks at the front regardless of data volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from myCRMS.com.
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