CRM migration

Migrate from Jarvis CRM to Odoo CRM

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

Jarvis CRM logo

Jarvis CRM

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

77%

10 of 13

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Jarvis CRM to Odoo CRM is a structural migration from a per-customer FileMaker Pro instance with no documented REST API to a modular open-source ERP with a full XML-RPC and REST API. There is no API to query Jarvis data directly, so we work with the customer's FileMaker host to extract contacts, companies, opportunities, projects, and time entries via FileMaker export scripts, preserving primary and foreign keys across all tables. We reconstruct the relational links in Odoo using its CRM Contacts, Accounts, and Opportunities objects, map pipeline stages to Odoo stages, and handle multi-company configuration if the destination Odoo deployment uses company isolation. Custom fields, vendor records, and product catalogs migrate as typed fields or mapped records. One-time automations and FileMaker Pro scripts do not migrate; we deliver a written inventory for the customer's team to rebuild in Odoo's action-automation framework.

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

Jarvis CRM logo

Jarvis CRM

What's pushing teams away

  • There is a learning curve with Jarvis, especially when navigating custom workflows or the FileMaker backend, and reviewers note it takes time to become fully comfortable with the system.
  • The platform lacks a publicly documented API, which limits automation options and makes integration with modern SaaS tools more difficult compared to REST-API-first CRMs.
  • Some users report difficulty finding consolidated views of all information entered into the system, suggesting the data architecture can fragment customer records across modules.
  • Customizations are billed separately from the base subscription and require discovery and development fees, which can surprise customers expecting all-inclusive pricing.
  • As a smaller niche CRM with limited market visibility, organizations concerned about vendor longevity or ecosystem scale may prefer platforms with larger user communities and more third-party integrations.

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

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

Jarvis CRM

Contact

maps to

Odoo CRM

CRM Contact

1:1
Fully supported

Jarvis CRM Contacts map to Odoo CRM Contacts. We extract contact records via FileMaker export or direct table access, preserving the contact's primary key and any foreign-key links to the parent company table. Email address is used as the dedupe key during Odoo import. Custom contact fields identified in the schema audit become Odoo CRM custom fields on the res.partner model.

Jarvis CRM

Company

maps to

Odoo CRM

CRM Account

1:1
Fully supported

Jarvis CRM Company records map to Odoo CRM Accounts. The company name becomes the Account name, and the FileMaker company ID is preserved as an external reference field for relational integrity. We export the Company table before the Contact table so that Account records are available to satisfy the many2one lookup at Contact import time.

Jarvis CRM

Opportunity

maps to

Odoo CRM

CRM Opportunity

1:1
Fully supported

Jarvis CRM Opportunities map to Odoo CRM Opportunities (crm.lead with type='opportunity'). We extract deal values, stage names, owner assignments, and associated contact and company references. Pipeline stage names vary per Jarvis deployment; we map them to Odoo stage IDs configured during Odoo CRM setup. Lost and Won reasons from custom Jarvis fields migrate as Odoo lead custom fields.

Jarvis CRM

Pipeline / Deal Stage

maps to

Odoo CRM

Stage + Sales Team

lossy
Fully supported

Jarvis pipeline stages are fully customizable per deployment. We map each source stage to an Odoo CRM stage within the designated pipeline, preserving stage ordering and probability percentages where available. Odoo's Kanban view order is set by the sequence field. If the destination uses Odoo Sales Teams, pipeline ownership maps to team_id on the Opportunity record.

Jarvis CRM

Project

maps to

Odoo CRM

Project Management (project.project)

1:1
Fully supported

Jarvis CRM Projects map to Odoo Project Management (project.project). We extract project name, description, assignees, and task structure. Gantt chart layout data migrates as project metadata (tags, custom fields); raw task dependencies require manual reconstruction in Odoo because the Gantt constraint model differs. Customer (client) association maps to an Odoo partner_id on the project record.

Jarvis CRM

Task

maps to

Odoo CRM

Project Task (project.task)

1:1
Fully supported

Jarvis Tasks and activities map to Odoo Project Tasks. We extract task name, description, assignee (mapped to Odoo User via email match), due date, and linked project reference. If the task is CRM-related rather than project-related in the source, it maps to an Odoo CRM Note or the chatter on the relevant Opportunity or Contact record.

Jarvis CRM

Time Entry

maps to

Odoo CRM

Timesheet (account.analytic.line) or Project Task

1:1
Fully supported

Jarvis time entries (billable and non-billable hours) map to Odoo Timesheet records (account.analytic.line) if the Odoo deployment includes the Timesheet app, or to Project Task records with time-tracking fields if only the Project app is active. We preserve the original time entry ID, the associated project or contact reference, and the billing flag to maintain audit continuity.

Jarvis CRM

Product / Service

maps to

Odoo CRM

Product Template (product.template)

1:1
Fully supported

Jarvis CRM Product and Service catalog records map to Odoo Product Templates. We extract item names, descriptions, prices, and SKU values. Product-to-opportunity associations in Jarvis (line items on deals) map to Odoo Opportunity Line Items if the Odoo deployment includes the Sale Orders app. Pricing rules from Jarvis migrate as Odoo pricelist items.

Jarvis CRM

Vendor / Purchase Order

maps to

Odoo CRM

Purchase app (res.partner + purchase.order)

1:1
Fully supported

Jarvis CRM Vendor records map to Odoo Contacts with supplier flag enabled (res.partner with supplier_rank > 0). Purchase order headers and line items migrate to Odoo Purchase Orders (purchase.order and purchase.order.line) if the destination Odoo deployment includes the Purchase app. QuickBooks Online vendor data held within Jarvis may duplicate or conflict with imported vendor records; we flag duplicates for the customer to resolve before import.

Jarvis CRM

Marketing Campaign / Group

maps to

Odoo CRM

CRM Tag or Mailing List

lossy
Fully supported

Jarvis CRM Campaign and contact group records have no direct Odoo CRM analog. We map campaign membership to Odoo CRM Tags on the Contact record, preserving the original campaign name as a tag value. If the Odoo deployment includes the Email Marketing app, contacts are added to corresponding Odoo Mailing Lists. The customer selects the preferred segmentation strategy during scoping.

Jarvis CRM

Custom Object / Custom Property

maps to

Odoo CRM

Custom Field or Custom Module

lossy
Fully supported

Jarvis FileMaker custom fields and custom tables vary per deployment. We identify every custom property during the mandatory schema audit, classify each as either a standard-field equivalent (and map it to an Odoo standard field) or a genuine custom field (and create it as an Odoo custom field on the relevant model). Custom FileMaker tables without an Odoo equivalent require a separate custom module scope, which we estimate separately from the base migration fee.

Jarvis CRM

Attachment

maps to

Odoo CRM

Document (ir.attachment)

1:1
Fully supported

File attachments stored within the Jarvis FileMaker instance can be exported as binary files and stored in Odoo Document Management (ir.attachment) linked to the parent record (Contact, Account, Opportunity, Project). Attachment storage paths vary by deployment; we identify them during scoping. We include file naming conventions that preserve record context (e.g., ContactID_Filename) to maintain discoverability in Odoo.

Jarvis CRM

User / Owner Assignment

maps to

Odoo CRM

User (res.users)

1:1
Fully supported

Jarvis CRM Owner assignments on records map to Odoo User records. We resolve owners by email match against the destination Odoo User table. Any Jarvis owner without a matching Odoo User goes to a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Odoo users are matched only if the customer specifies that historical owner assignment must be preserved.

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.

Jarvis CRM logo

Jarvis CRM gotchas

High

No documented public API means migration requires FileMaker-native exports

High

FileMaker schema varies per deployment because the platform is fully customizable

Medium

Customizations are not included in base pricing and require separate engagement

Medium

Data relationships between FileMaker tables must be reconstructed manually

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

  • No documented public API requires FileMaker-native extraction

    Jarvis CRM has no published REST API. We cannot use API-based migration tools. Instead, we coordinate with the customer's FileMaker host to extract data via FileMaker export scripts or direct table access. This requires explicit customer permission and technical access to the FileMaker Server. We plan for this access requirement during scoping and do not assume API credentials exist. The extraction is scoped to the customer's specific FileMaker layout and script configuration.

  • FileMaker schema varies per deployment requiring mandatory schema audit

    Every Jarvis deployment has a different field structure because FileMaker is fully customizable. Standard CRM objects (Contacts, Companies, Opportunities) exist in all deployments, but custom fields and custom objects are unique per customer. We conduct a mandatory schema audit of the live FileMaker instance before migration begins. We map every custom field individually and flag any that have no equivalent in Odoo CRM. Custom FileMaker tables without an Odoo analog are identified as requiring a separate custom module scope.

  • Relational links between FileMaker tables must be reconstructed from IDs

    FileMaker Pro stores relational links within its own table schema (Contact IDs, Company IDs, Project IDs). A CSV export flattens these relationships. We export primary keys and foreign keys from all relevant tables, then reconstruct relationships in Odoo using explicit association imports via XML-RPC with parent-record ID resolution. We do not rely on name-matching alone to link records. Contacts are imported after Accounts, Opportunities after Contacts, and so on, in strict dependency order.

  • Odoo multi-company configuration can restrict record visibility

    If the destination Odoo deployment uses multi-company mode (company_depends or record rules scoped to specific companies), records imported without the correct company_id field may be invisible to users assigned to one company but not another. We identify the multi-company configuration during Odoo setup scoping and set the company_id field on all imported records to match the customer's intended company assignment. Records intended for all companies are flagged for the admin to set appropriately.

  • Custom FileMaker scripts and workflows do not migrate to Odoo

    Jarvis automations built as FileMaker Pro scripts and custom FileMaker workflow logic have no Odoo equivalent and cannot be imported. We deliver a written inventory of every active FileMaker script, automation trigger, and scheduled action with its conditions and effects, along with a recommended Odoo Studio or ir.actions replacement for each. The customer's Odoo administrator or an Odoo implementation partner rebuilds them post-migration. This rebuild work is outside the standard migration scope.

Migration approach

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

  1. Discovery and FileMaker schema audit

    We audit the source Jarvis FileMaker Pro instance to identify all active tables, fields, relationships, and custom scripts. We coordinate with the customer's FileMaker host to access the live deployment and document the layout structure, foreign-key references between tables, and any custom fields that have been added since initial deployment. We pair this with Odoo setup scoping: which Odoo apps are active (CRM only, or CRM plus Project, Purchase, and Inventory), whether multi-company mode is in use, and which custom fields are needed in Odoo before import begins. The discovery output is a written migration scope and data model map.

  2. FileMaker data extraction with relational-ID preservation

    We extract data from the FileMaker instance in CSV or direct table-export format. We request every table in scope (Contacts, Companies, Opportunities, Projects, Tasks, Time Entries, Products, Vendors, and any custom tables) in a single coordinated extraction window so that all foreign-key IDs are captured at the same point in time. We export the primary key and every foreign-key column from each table as text fields, even if they are not displayed in the FileMaker UI, so that we can reconstruct the relational structure in Odoo. We validate record counts per table against the customer's expectations before proceeding.

  3. Odoo environment setup and custom field creation

    We configure the destination Odoo CRM environment: create custom fields on res.partner (Contact and Account), crm.lead (Opportunity), project.project and project.task (Project and Task), and account.analytic.line (Timesheet) to match the custom fields identified in the FileMaker schema audit. We configure pipeline stages with the correct names, sequences, and probabilities, and set up multi-company isolation if applicable. We create Odoo Users for every distinct owner referenced in the source data and match them by email against the existing Odoo User table.

  4. Sandbox migration and reconciliation

    We run a full migration into the customer's Odoo staging environment using production-like data volume. The customer reconciles record counts (Contacts in, Accounts in, Opportunities in, Tasks in), spot-checks 25-50 random records against the FileMaker source, and verifies that relational links (contact-to-account, opportunity-to-contact) are intact in Odoo. Any field mapping corrections, custom field additions, or stage configuration adjustments happen here, not in production. We obtain written sign-off on the sandbox result before scheduling production cutover.

  5. Production migration in dependency order

    We run production migration in strict dependency order: Odoo Users (validated), Accounts (from Companies), Contacts (with partner_id resolved to the Account), Opportunities (with partner_id and user_id resolved, and stage_id mapped to the Odoo pipeline), Products and Pricelists, Project records, Tasks (linked to Projects or CRM records), Time Entries, Vendor records, and custom fields last. Each phase emits a row-count reconciliation report before the next phase begins. We use Odoo's XML-RPC batch import with appropriate chunking for large record sets.

  6. Cutover, validation, and automation rebuild handoff

    We freeze FileMaker writes during cutover, run a final delta migration of any records created or modified during the migration window, and switch Odoo CRM to the system of record. We deliver the FileMaker script and automation inventory document to the customer's team for rebuild in Odoo Studio or as ir.actions. We support a one-week post-cutover window where we resolve any record-count discrepancies or broken relationship links raised by the customer's team. We do not rebuild FileMaker scripts as Odoo automations inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Jarvis CRM logo

Jarvis CRM

Source

Strengths

  • Integrated CRM and ERP functionality covering sales, projects, HR, and accounting in one platform
  • Fully customizable FileMaker Pro foundation allows per-business workflow adaptation
  • Per-customer isolated instance provides dedicated data separation and hosting control
  • Includes native QuickBooks Online and Google integrations without requiring third-party connectors
  • Cross-platform access across Mac, Windows, iOS, and web browsers

Weaknesses

  • No publicly documented REST API limits migration options and third-party integrations
  • Small market footprint with limited community resources and few third-party app integrations
  • Customizations are separate from base pricing, adding cost complexity for tailored deployments
  • Learning curve for administrators managing the FileMaker Pro backend
  • Case studies and review volume are limited compared to major CRM platforms
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. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • 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

    Jarvis CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Jarvis CRM to Odoo CRM migrations land between three and five weeks for accounts with under 5,000 contacts and 1,000 opportunities, straightforward relational structures, and no custom FileMaker tables. Migrations involving custom FileMaker scripts, ERP data (vendor records, purchase orders, time entries), multi-company Odoo configurations, or large project structures with extensive task hierarchies move to seven to twelve weeks because of the mandatory schema audit, FileMaker export coordination, and multi-object dependency resolution.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Jarvis 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