CRM migration

Migrate from Acumen to Odoo CRM

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

Acumen logo

Acumen

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between Acumen and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Acumen CRM and Odoo CRM share the same core CRM objects — contacts, companies, deals, and activities — but their underlying data models differ substantially. Acumen organizes contacts and companies as separate entities with direct associations, while Odoo uses the res.partner model for both contacts and companies (with a contact_type field distinguishing between 'contact' and 'company' roles) and stores leads/opportunities in the crm.lead model with a type field. We extract Acumen data via its export API or CSV exports, translate the relational model into Odoo's partner-centric architecture, map custom fields to Odoo ir.model.fields definitions, and load via XML-RPC. The migration carries everything Acumen stores natively: contact details, company hierarchies, deal pipelines with stages, activities (calls, emails, meetings), and custom fields. Workflows, automations, and notification rules do not migrate — they require Odoo Studio or the automation builder to be rebuilt using the exported configuration as reference. The delta-pickup window captures any records modified during the cutover so Odoo reflects Acumen's final state at go-live.

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

Acumen logo

Acumen

What's pushing teams away

  • Service quality complaints are well-documented — BBB shows a 1.0-star rating across 18 reviews and 7 complaints, with recurring themes of slow phone support, unresolved issues, and difficulty reaching staff (per BBB customer review aggregations).
  • Glassdoor employee reviews reflect operational churn — 103 reviews on Glassdoor surface internal turnover and process inconsistency, which translates into customer-facing handoff problems mid-payroll cycle.
  • Dependence on DCI software means platform changes are out of Acumen's control — when DCI pushes interface or workflow changes, participants must adapt regardless of Acumen's preferences.
  • Limited to self-directed Medicaid waiver populations — organizations outside the FMS/FEA model (traditional agency-based home care, private-pay) cannot use Acumen at all, forcing migration when service models change.
  • Pricing is set by state contracts, not by the customer — participants and families have no negotiating leverage on FMS fees, which are pre-negotiated rates between Acumen and the state Medicaid agency.

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

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

Acumen

Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

Acumen contacts map to Odoo res.partner records with contact_type = 'contact'. The partner_id on Acumen's company association translates to the parent_id field in Odoo — Acumen companies without an explicit parent link get no parent_id. Email uniqueness constraints in Odoo may require de-duplication pass before loading.

Acumen

Company

maps to

Odoo CRM

res.partner

1:1
Fully supported

Acumen company records map to Odoo res.partner with contact_type = 'company'. The company registration date translates to Odoo's date field as a custom property since Odoo's base res.partner model lacks a native incorporation date. Parent-company hierarchies in Acumen map to the parent_id chain in Odoo.

Acumen

Deal

maps to

Odoo CRM

crm.lead (type = 'opportunity')

1:1
Fully supported

Acumen deals translate directly to Odoo crm.lead records where type = 'opportunity'. The deal name becomes the crm.lead name field. Pipeline stage values map to crm.stage records associated with the target crm.team — value-by-value mapping required since stage IDs differ per Odoo team configuration.

Acumen

Pipeline Stage

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Each unique Acumen pipeline stage maps to a corresponding crm.stage record in Odoo. The mapping requires the Odoo team ID context because stage IDs are scoped per crm.team. Stage sequence order and probability values are reapplied from Odoo's stage configuration after mapping.

Acumen

Activity (Call / Email / Meeting)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Acumen call, email, and meeting logs translate to Odoo mail.activity records linked to the target res.partner or crm.lead. Activity type values (call, email, meeting) map to Odoo's activity type definitions. Original timestamps and user assignments are preserved. Odoo requires the activity type to exist in the system — missing types are created before migration.

Acumen

Attachment / File

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Acumen file attachments migrate to Odoo ir.attachment records linked to the corresponding res.partner or crm.lead. Files are downloaded from Acumen's storage and re-uploaded as base64-encoded binary data. Inline images in Acumen notes are extracted and stored as separate ir.attachment records with the correct mimetype.

Acumen

Custom Field (Contact)

maps to

Odoo CRM

ir.model.fields (on res.partner)

1:1
Fully supported

Acumen custom contact properties translate to Odoo ir.model.fields definitions on the res.partner model. Field types map as follows: text → char, number → float or integer, date → date, pick-list → selection. Each field is created in Odoo before data loading begins so the target columns exist during import.

Acumen

Custom Field (Deal)

maps to

Odoo CRM

ir.model.fields (on crm.lead)

1:1
Fully supported

Acumen custom deal fields migrate to Odoo ir.model.fields on the crm.lead model. Decimal amounts, deal source channels, and other Acumen-specific deal metadata become custom fields on the opportunity record. Stage-change timestamps that Acumen stores as separate fields become custom datetime fields in Odoo for reporting continuity.

Acumen

Owner / User

maps to

Odoo CRM

res.users

1:1
Fully supported

Acumen owner_id values resolve to Odoo res.users records matched by email address. If an Acumen owner has no matching res.users account, the record lands with a fallback user (configurable) and the unmatched owner ID is flagged in the migration audit log for post-migration reassignment.

Acumen

Notes / Comments

maps to

Odoo CRM

mail.message

1:1
Fully supported

Acumen notes and comments attached to contacts, companies, or deals migrate as Odoo mail.message records linked to the target record. The message body preserves original formatting. Author attribution maps to res.users by email match, defaulting to the system user if no match is found.

Acumen

Tag / Category

maps to

Odoo CRM

crm.tag / res.partner.category

1:1
Fully supported

Acumen tags on deals migrate to Odoo crm.tag records and are linked via the crm.lead.tag_ids many2many relation. Contact-level tags migrate to res.partner.category. Tags with no existing Odoo definition are created during migration so no tag data is lost in the translation.

Acumen

Acumen Property / Custom Object

maps to

Odoo CRM

ir.model.data + custom model

1:1
Fully supported

Acumen custom objects that don't have a direct Odoo equivalent are translated to custom Odoo models created via ir.model definitions. The migration creates the model schema first, then loads the records via XML-RPC. Relationships between custom objects and standard records (Contact, Deal) are preserved as many2one or many2many fields on the custom model.

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.

Acumen logo

Acumen gotchas

High

Acumen does not own the software — DCI is the underlying platform

High

FMS data is regulated by state Medicaid waiver rules

Medium

EVV records carry GPS and biometric verification data

Medium

State pages reference state-specific forms not in the standard schema

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

  • Acumen Company-Contact Many-to-Many Collapses to Odoo's Single Parent_id

    Acumen supports N:N relationships between contacts and companies — a single contact can associate with multiple Acumen companies with role labels (Primary, Technical, Billing). Odoo's res.partner model uses a single parent_id field for the primary company link, and additional associations require the Account Contact Relationships module. We migrate one primary company per contact (most recently modified by default, or per your specified rule) and surface the rest in a custom many2many field on the res.partner record. Role labels that don't fit Odoo's built-in contact role model are preserved as a custom selection field.

  • Odoo Stage IDs Are Team-Scoped — Acumen Pipelines Must Map Per Team

    In Odoo CRM, crm.stage records are associated with specific crm.team records. The same stage name ('Qualification') will have different stage_id values depending on which team owns the pipeline. Acumen deal stages stored as a flat pick-list must be mapped per crm.team in the migration plan. Teams that use multiple Acumen pipelines with overlapping stage names end up with multiple crm.stage definitions in Odoo — one per team. We generate the stage mapping plan before migration so you can pre-create the Odoo team and stage configuration.

  • Custom Fields Require Odoo ir.model.fields Definitions Before Data Loads

    Odoo does not accept data for custom fields that don't have corresponding ir.model.fields definitions in the database. Acumen custom properties on Contact, Company, or Deal objects must be translated into Odoo field definitions before the migration run. We create the field schema first — including selection options for pick-list fields and decimal precision for numeric fields — then load the data. If Acumen uses custom field types (formatted phone numbers, multi-select lists) that don't map directly to Odoo's field types, we convert to the nearest Odoo equivalent and flag the transformation for your review.

  • Odoo XML-RPC Imports Are Transactional — Batch Failures Roll Back Entire Chunk

    Odoo's XML-RPC API processes record creation in database transactions. If a single record in a batch fails validation (e.g., a required field is null or a foreign key can't resolve), the entire transaction rolls back and no records in that chunk load. We split migration batches into small chunks (50–100 records) and pre-validate foreign key resolution (partner_id, user_id, stage_id) before each API call. Failed records are isolated, logged with the specific Odoo validation error, and retried after the root cause is corrected.

  • Acumen Activity Type IDs Don't Exist in Odoo — Type Mapping Required

    Acumen stores activity type IDs as internal integers referencing its own activity type definitions. Odoo's mail.activity model references mail.activity.type records that must exist in the database before activities can be linked. We inspect Acumen's activity type taxonomy, map each Acumen type to the closest Odoo activity type (call, email, meeting, todo, or other), and create any missing Odoo activity type definitions before loading activity records. The mapping plan is delivered as part of the pre-migration review.

Migration approach

Six steps for a successful Acumen to Odoo CRM data migration

  1. Extract Acumen data via export API or CSV

    We begin by connecting to Acumen's export API using scoped read credentials. If the API doesn't support bulk export for a particular object, we fall back to paginated CSV exports. The extraction covers all standard objects (contacts, companies, deals, activities, attachments) and any custom properties identified during the discovery call. We validate record counts against Acumen's internal counts before proceeding to the mapping phase.

  2. Map Acumen schema to Odoo data model and create field definitions

    Based on the extraction, we generate the Odoo field definitions (ir.model.fields) for every Acumen custom property. For each Odoo team, we map the Acumen pipeline stages to crm.stage records and create any missing activity types. This schema setup plan is delivered for your Odoo admin to review and approve before data is loaded — pre-creating the Odoo structure avoids the common pitfall of loading data into a model that hasn't been extended yet.

  3. Resolve owners and users by email match

    Acumen owner IDs are matched against Odoo res.users records by email address. We generate a pre-flight report showing matched users, unmatched owners, and the fallback user assignment for each unmatched record. Your team can either invite the unmatched owners to Odoo before migration or confirm the fallback assignment. No record loads without a resolved user_id — this prevents orphaned activities in Odoo's assignment-based reporting.

  4. Run sample migration with field-level diff

    A representative slice — typically 100–500 records spanning contacts, companies, deals, and activities — migrates first. We generate a field-level comparison report showing source value, mapped value, and any transformation applied for each field. You verify the mapping logic for pipeline stages, custom fields, and owner resolution before the full run commits. Adjustments to the mapping plan are made at this stage.

  5. Execute full migration with delta-pickup window and rollback ready

    The full migration runs against your Odoo instance using batched XML-RPC calls with transactional integrity. A delta-pickup window (24–48 hours) runs in parallel, capturing any new or modified Acumen records during the cutover period. All operations are logged in the FlitStack audit log. One-click rollback is available if reconciliation against the pre-migration count fails — the rollback reverts all migrated records in Odoo without touching the Acumen source.

Platform deep dives

Context on both ends of the pair

Acumen logo

Acumen

Source

Strengths

  • Operating since 1995 with FEA experience across dozens of state Medicaid waiver programs.
  • Integrated DCI platform handles EVV, time entry, payroll, and tax filing in one workflow.
  • Mobile app and web portal provide redundant time-entry methods for direct care employees.
  • Dedicated state pages with localized forms reduce confusion for participants in multi-state programs.
  • Full employer-of-record service offloads federal, state, and local tax filing obligations.

Weaknesses

  • Customer service ratings on BBB and consumer review sites are consistently negative (1-star ranges).
  • Software is third-party (DCI) — Acumen does not control the portal UX, release cadence, or feature roadmap.
  • Service offering is narrow — only applicable to self-directed Medicaid waiver participants, not general home care.
  • Fee structure is opaque to end users since rates are set by state contracts.
  • Internal staff turnover (per Glassdoor) creates inconsistent participant experiences.
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 Acumen and Odoo CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    Acumen: Not publicly documented — DCI does not publish API rate limits on the open web. We confirm limits with Acumen and DCI during scoping..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Acumen-to-Odoo migrations complete in 48–72 hours for under 25,000 records. Larger datasets with 100,000+ records or complex custom field schemas extend to 5–10 days. The longest phase is typically the pre-migration mapping and Odoo schema setup, where crm.stage and ir.model.fields definitions are created and reviewed. The actual data load time depends on API throughput and batch validation, not just record count.

Adjacent paths

Related migrations to explore

Ready when you are

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