CRM migration

Migrate from Market Maker to Odoo CRM

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

Market Maker logo

Market Maker

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

14 of 14

objects map 1:1 between Market Maker and Odoo CRM.

Complexity

CModerate

Timeline

3–5 business days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Market Maker stores CRM data across a standard contact-company-deal model typical of mid-market platforms, while Odoo CRM uses a fundamentally different architecture: Odoo unifies contacts and companies into a single res.partner object and merges leads with opportunities into crm.lead, using stage_id on the same record type rather than separate lead and opportunity objects. This architectural shift means every Market Maker contact that has associated company data must resolve to a single res.partner record with the company attached via partner_id, and every deal must attach to a crm.lead record with the pipeline stage stored as stage_id. We map Market Maker contacts to res.partner, companies to parent_id on the partner record, and deals to crm.lead with pipeline_id and stage_id populated from Odoo's crm.stage model. Custom fields migrate as ir.model.fields records on the destination model. Activity history (calls, emails, meetings, notes) maps to mail.activity with original create_date and user_id preserved. Owner resolution happens by email match against Odoo res.users — unmatched owners receive a fallback assignment and are flagged for admin review. Workflows, automation rules, email templates, and third-party integrations do not transfer and must be rebuilt using Odoo Studio or the automation tools available in your Odoo edition. The migration runs via Odoo's XML-RPC API with batched record creation to stay within rate-limit guidelines, followed by a 24–48 hour delta pickup window that captures any records modified during 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

Market Maker logo

Market Maker

What's pushing teams away

  • Limited CRM functionality — MarketMaker is primarily a directory and matchmaking tool rather than a relationship-management platform with pipelines, deals, and forecasting.
  • Geographic coverage is concentrated in participating US states; out-of-network buyers and sellers cannot leverage MarketMaker connections.
  • No public developer API or modern integration ecosystem — data exchange typically requires manual export.
  • User experience and mobile capabilities lag commercial directory tools.
  • Not a fit for businesses that need true CRM (contacts, deals, automation) — those teams pair MarketMaker with a separate CRM.

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

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

Market Maker

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Odoo uses a single res.partner model for contacts and companies. Market Maker contacts migrate as res.partner records with partner_latitude/longitude, function (jobtitle), and category_id preserved. The primary company from Market Maker attaches as parent_id on the partner record; additional company associations require Account Contact Relation records in Odoo.

Market Maker

Company

maps to

Odoo CRM

res.partner (company type)

1:1
Fully supported

Market Maker companies become res.partner records with is_company=True. The company name maps to name, domain to website, industry to industry_id via value_mapping, and annual_revenue to property_account_receivable_id for financial reporting. Child contacts from Market Maker link via parent_id to the migrated company partner.

Market Maker

Lead

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Market Maker leads map directly to Odoo crm.lead records. The type field is set to lead by default. Market Maker lead properties (source, score, status) migrate to crm.lead fields using value_mapping where pick-list values differ between platforms. The original lead create_date is preserved as create_date for reporting continuity.

Market Maker

Deal

maps to

Odoo CRM

crm.lead (type=opportunity)

1:1
Fully supported

Market Maker deals become Odoo crm.lead records with type=opportunity. The deal amount maps to planned_revenue, deal name becomes name, and the close date maps to date_deadline. Pipeline stage from Market Maker translates to stage_id by looking up the matching crm.stage record by name within the target pipeline_id.

Market Maker

Pipeline

maps to

Odoo CRM

crm.team

1:1
Fully supported

Market Maker deal pipelines map to Odoo crm.team (sales team) records. Each pipeline requires a corresponding crm.team to be created in Odoo before migration, with team_member assignments resolved by email matching to res.users. The crm.team's alias_name handles inbound email-to-lead routing.

Market Maker

Pipeline Stage

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Stage names from Market Maker require value-by-value mapping to existing Odoo crm.stage records. If a Market Maker stage name does not match an Odoo stage, the closest stage is selected and the original name is preserved in a custom Char field (x_original_stage_name__c) for audit purposes. Stage sequence order is preserved.

Market Maker

Engagement (Call)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Market Maker call records migrate to Odoo mail.activity with activity_type_id set to call. The original call date maps to date_deadline and create_date, user_id maps to the matched owner, and the call outcome or notes map to activity note body. Activity records are linked to the parent res.partner or crm.lead via res_model and res_id.

Market Maker

Engagement (Email)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Market Maker email engagement records become Odoo mail.activity with activity_type_id=email. The subject line maps to activity note body, sender/recipient preserved in description, and original timestamp maps to create_date. Email threads do not migrate as Odoo mail.message records because thread reconstruction requires access to raw MIME content not typically exported from Market Maker.

Market Maker

Engagement (Meeting/Note)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Market Maker meetings map to mail.activity with activity_type_id=meeting, preserving original start and end timestamps as date_deadline and x_meeting_end_date__c custom fields. Notes map to mail.activity with activity_type_id=note, with the note body stored in the activity's note field. Both activity types inherit the create_date and user_id from the source record to maintain accurate audit trails and ownership attribution within Odoo's activity timeline view.

Market Maker

Custom Field (any object)

maps to

Odoo CRM

ir.model.fields

1:1
Fully supported

Market Maker custom fields on any object require Odoo-side ir.model.fields creation before migration. We deliver a schema setup plan listing each custom field name, Odoo field type (Char, Selection, Float, etc.), and target model. Fields are created via FlitStack's Odoo setup module or provided as a guide for your admin to create before the migration run.

Market Maker

Attachment/File

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Market Maker file attachments on records migrate as Odoo ir.attachment records with res_model pointing to the migrated model and res_id pointing to the migrated record's Odoo ID. Files are re-uploaded to Odoo's filestore. Large files (>25MB) may require Odoo filestore configuration adjustment before migration.

Market Maker

User/Owner

maps to

Odoo CRM

res.users

1:1
Fully supported

Market Maker owner_id values are resolved by email match against Odoo res.users. Matched owners map to crm.lead user_id and res.partner user_id. Unmatched owners are assigned to a designated fallback user (created as a placeholder res.users record) and flagged in the migration report for admin review and reassignment.

Market Maker

Association Label

maps to

Odoo CRM

res.partner.industry or custom field

1:1
Fully supported

Market Maker contact-to-company association labels (like 'Decision Maker' or 'Technical Contact') have no direct Odoo equivalent. Labels are preserved as a Selection field on the contact's res.partner record (x_association_label__c) for reference. Role-based relationship labeling requires rebuilding using Odoo's Contact / Company relationship settings post-migration.

Market Maker

Sales Activity Report

maps to

Odoo CRM

Custom report (PostgreSQL)

1:1
Fully supported

Market Maker's built-in sales activity reports do not migrate. Historical data underlying the reports transfers as crm.lead and mail.activity records, which can be queried via Odoo's reporting interface or via direct PostgreSQL access for custom BI tools. FlitStack can deliver a sample SQL query set for Odoo reporting continuity.

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.

Market Maker logo

Market Maker gotchas

High

Directory rather than CRM

Medium

USDA/state participation varies

Medium

No public API

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 res.partner is a unified model — N:N contact-company associations require resolution

    Market Maker supports many-to-many relationships between contacts and companies with labeled associations (Decision Maker, Influencer, etc.). Odoo's res.partner model handles both contacts and companies as the same record type, with companies identified by is_company=True and contacts linked via parent_id. This means Market Maker contacts associated with multiple companies must resolve to a single primary company (the most-recently-modified or by your specified rule) as parent_id, and secondary associations require Account Contact Relations or custom fields. We surface the N:N breakdown in the pre-migration audit so your admin can decide which company relationship becomes primary before migration runs.

  • Pipeline stage name collisions require explicit value_mapping per crm.stage record

    Odoo stores pipeline stages as database records (crm.stage) linked to crm.team via pipeline_id, not as free-text pick-list values. A stage named 'Qualification' in Market Maker must match an existing crm.stage record with that exact name within the target team. If no matching stage exists, Odoo will reject the insert. We build a stage-mapping table before migration and flag any Market Maker stage names that have no corresponding Odoo crm.stage record. Your admin creates the missing stages first, or we fall back to a designated 'New' stage and preserve the original name in x_original_stage_name__c.

  • Email integration requires Odoo alias configuration post-migration

    Market Maker email logging links emails directly to contact records with thread context. Odoo handles inbound email through alias routing: each crm.team has an alias_name that converts inbound emails to crm.lead records. If your team used Market Maker's email-to-contact logging as a primary activity tracking method, those emails migrate as mail.activity records but the native Odoo email threading (mail.message on the crm.lead) requires setting up the alias configuration in Odoo post-migration. We include the alias setup guide in the post-migration handover documentation.

  • Owner resolution by email may leave records unassigned if Market Maker owner emails are non-standard

    Market Maker owner_id values map to Odoo user_id via email matching against res.users. If Market Maker owner records contain emails that do not match any res.users login in Odoo (e.g., generic [email protected] shared mailboxes or misspelled addresses), those records are assigned to a fallback user and flagged in the migration report. The fallback assignment prevents record orphaning but requires post-migration reassignment by your admin. We recommend pre-inviting all active Market Maker owners to Odoo before migration day.

  • Attachments re-upload to Odoo filestore — large file limits apply

    Market Maker file attachments migrate to Odoo ir.attachment records and are re-uploaded to Odoo's filestore directory. Odoo's default file size limit is 25MB per file. Market Maker setups that include large PDFs, video files, or image archives may exceed this limit. We flag files over 25MB in the pre-migration audit and either split them into Odoo document records or skip them with a warning — your admin decides. The migration report includes a complete file inventory with sizes.

Migration approach

Six steps for a successful Market Maker to Odoo CRM data migration

  1. Pre-migration audit and Odoo schema preparation

    FlitStack runs a scoped read of your Market Maker account to inventory all objects, field schemas, pipeline configurations, and attachment inventory. We deliver a schema setup plan for Odoo listing the crm.team records to create, crm.stage records to populate per team, and any ir.model.fields custom field definitions required before data lands. Your Odoo admin creates the schema elements following our plan, or our team handles it if you grant API access to your Odoo instance.

  2. Owner and user resolution mapping

    We extract all Market Maker owner_id values and match them against Odoo res.users by email. Unmatched owners are flagged and assigned to a designated fallback res.users placeholder. This step runs before the main migration so no crm.lead or res.partner record lands without a valid Odoo user_id. The owner resolution report is shared for admin review before the full run commits.

  3. Migrate companies, contacts, and leads in dependency order

    Odoo requires res.partner records to exist before crm.lead records can reference them via partner_id. We sequence the migration: first companies (res.partner with is_company=True), then contacts (res.partner linked to company via parent_id), then crm.lead records (leads and converted opportunities) with partner_id and team_id resolved from the migrated partner and team records. Stage values map via the pre-built value_mapping table against crm.stage records.

  4. Migrate activity history and attachments

    After all primary records are migrated, mail.activity records (calls, emails, meetings, notes) are created and linked to their parent res.partner or crm.lead via res_model and res_id. Attachments are re-uploaded to Odoo's filestore and linked via ir.attachment records. Files exceeding Odoo's size limit are flagged in the report for manual handling. Activity records preserve original create_date and user_id from the source.

  5. Sample migration with field-level diff and full cutover with delta pickup

    A representative sample (typically 100–500 records covering all object types) migrates first. We generate a field-level diff comparing source values to destination field values so you can verify mapping accuracy — especially for stage names, owner assignments, and pick-list value translations. After sample sign-off, the full migration runs. A 24–48 hour delta pickup window captures any records modified in Market Maker during cutover. An audit log records every operation, and one-click rollback is available if reconciliation fails.

Platform deep dives

Context on both ends of the pair

Market Maker logo

Market Maker

Source

Strengths

  • USDA-affiliated directory with institutional trust.
  • Free public-facing search and registry.
  • Geographic and commodity-code matching.
  • Multi-state coverage across participating states.
  • USDA-aligned taxonomy for reporting.

Weaknesses

  • Not a true CRM — no pipelines or automation.
  • Geographic coverage limited to participating states.
  • No public developer API.
  • Mobile UX lags commercial directory tools.
  • Pair with a separate CRM for relationship management.
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. 5 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

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

  • Object compatibility

    F

    5 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

    Market Maker: Not applicable..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Market Maker-to-Odoo migrations complete within 3–5 business days for under 25,000 records when the Odoo schema (crm.teams, stages, custom fields) is pre-created. Larger datasets exceeding 25,000 records or setups with extensive custom field schemas and multi-stage pipelines extend to 10–15 business days. The longest planning step is mapping pipeline stage names to Odoo crm.stage records and configuring the Odoo alias routing for email integration. The actual data transfer run is typically 4–8 hours of clock time per batch.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Market Maker.
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