CRM migration

Migrate from HighQ to Odoo CRM

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

HighQ logo

HighQ

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between HighQ and Odoo CRM.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

HighQ is a Thomson Reuters collaboration and workflow platform used by legal, financial, and professional services firms. Its core data model revolves around Sites (workspaces), Files (documents with version history), Tasks, Users, and iSheets (structured spreadsheet-like tables). HighQ has no native CRM object model — contact and company data lives in Files, Tasks, and iSheets rather than in a dedicated contacts module. Odoo CRM uses a unified crm.lead model for both Leads and Opportunities, res.partner for Contacts and Companies, ir.attachment for Files, and crm.activity for Tasks. Odoo stores most data in PostgreSQL under res.partner records, with pipeline stages managed via crm.stage on the crm.lead object. Custom fields are created via Odoo Studio or directly in the model definition. FlitStack AI maps HighQ File metadata to ir.attachment records linked to res.partner by email-matched contact records. HighQ iSheet exports are converted to CSV and loaded into Odoo custom fields on res.partner or crm.lead. HighQ task metadata migrates as crm.activity records. HighQ user accounts are matched to res.users by email for owner assignment. HighQ workflows, automations, rule chains, and permission configurations do not migrate — they must be rebuilt in Odoo's automation rules or access control settings. The migration is executed via Odoo's XML-RPC API with batch sequencing to respect API rate limits.

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

HighQ logo

HighQ

What's pushing teams away

  • Organizations with complex, evolving processes report constant bugs and heavy administrative overhead—managing the platform becomes a full-time job.
  • The lack of a native Salesforce integration and ineffective Google Docs integration creates friction for legal teams already invested in those ecosystems.
  • A G2 review describes implementation taking over a year, with the AI module failing to extract even basic contract metadata like end dates—raising doubts about the AI readiness of the platform.
  • Non-intuitive user interface for contract submission and approval workflows generates ongoing user frustration and support tickets.
  • Firms report being locked into HighQ with no off-the-shelf migration path to alternatives like SharePoint Online, making exit costly and complex.

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

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

HighQ

HighQ File

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

HighQ File records map to Odoo ir.attachment. The file name becomes the attachment name field, file content migrates as a binary attachment, and the original HighQ storage path is preserved as a custom Char field on the attachment record. The migration also captures file size, mime type, and creation timestamps to maintain full metadata fidelity in Odoo.

HighQ

HighQ Contact (from File metadata or Task assignee)

maps to

Odoo CRM

res.partner

1:1
Fully supported

HighQ contact information found in File metadata, Task assignee fields, or iSheet contact columns maps to res.partner. Email is the primary key used to match to existing Odoo partner records or create new ones during migration. When a matching email is found, the existing res.partner record is updated with additional HighQ-sourced data; if no match exists, a new partner record is created and linked appropriately.

HighQ

HighQ Company (from File metadata or iSheet company column)

maps to

Odoo CRM

res.partner

1:1
Fully supported

HighQ company text fields are mapped to res.partner records with type='company'. When no matching company partner exists, one is created dynamically during migration. The original company name is stored in the partner name field. Additional company details such as address, phone, and website are mapped to the corresponding res.partner fields where available, ensuring the company record is fully populated in Odoo.

HighQ

HighQ Task

maps to

Odoo CRM

crm.activity

1:1
Fully supported

HighQ task records migrate to crm.activity entries on the related res.partner record. Task name becomes activity summary, due date maps to date_deadline, and priority maps to activity_type. Completion status and original assignee are preserved as custom fields. The migration also records the original task creation date and any task descriptions as notes on the crm.activity record for complete historical context.

HighQ

HighQ User

maps to

Odoo CRM

res.users

1:1
Fully supported

HighQ user accounts are matched to Odoo res.users by email address. Unmatched users are flagged before migration so the team can create their Odoo accounts first. The original HighQ user ID is stored as a custom field for audit traceability.

HighQ

HighQ iSheet (structured data table)

maps to

Odoo CRM

res.partner or crm.lead custom fields

1:1
Fully supported

HighQ iSheet columns are exported as CSV and mapped to custom fields on res.partner or crm.lead depending on the iSheet type. Each iSheet may require a separate custom field group and is validated for data type compatibility before import. The migration process also checks for pick-list values in the iSheet and creates corresponding selection fields in Odoo with mapped option labels, ensuring dropdown data translates correctly.

HighQ

HighQ Site (workspace container)

maps to

Odoo CRM

res.users or crm.team

1:1
Fully supported

HighQ Sites are workspaces that group Files, Tasks, and Users. Since Odoo has no direct Site equivalent, Site membership is preserved as a custom Char or Many2many field on res.users, and Site name is stored as a custom field for reference.

HighQ

HighQ File folder path

maps to

Odoo CRM

ir.attachment (custom path field)

1:1
Fully supported

HighQ folder hierarchy is stored as a custom Char field (File_Path__c) on each ir.attachment record. The flat attachment list in Odoo does not replicate the original folder structure — the path field preserves the original location context. This allows users in Odoo to search and filter attachments by the original HighQ folder path, maintaining navigational context even though the native Odoo attachment view does not display a folder tree.

HighQ

HighQ workflow

maps to

Odoo CRM

Odoo Automation Rules

1:1
Fully supported

HighQ Workflows with rule chains, conditional branching, and task reassignment automations have no direct Odoo equivalent. These must be rebuilt manually using Odoo Studio Automation Rules or server actions. FlitStack exports workflow definitions as a reference document for the Odoo admin.

HighQ

HighQ permission group

maps to

Odoo CRM

res.groups

1:1
Fully supported

HighQ permission levels (Viewer, Contributor, Admin per Site) are preserved as custom fields on res.users. Odoo's record-level security and access groups differ fundamentally, so the Odoo admin reviews and assigns appropriate res.groups based on the exported permission metadata. The custom fields store the original HighQ permission tier for each user, enabling the admin to map Viewer to internal/public groups, Contributor to user groups, and Admin to manager or administrator groups in Odoo.

HighQ

HighQ sensitive/privacy flag

maps to

Odoo CRM

res.partner (custom boolean)

1:1
Fully supported

HighQ Files and Contacts may carry an is_sensitive flag indicating restricted access. This maps to a custom Boolean field (Is_Sensitive_Source__c) on ir.attachment or res.partner for compliance reference in Odoo. The flag is set to True when the original HighQ object was marked sensitive, allowing Odoo users to identify restricted records and apply appropriate access controls or data handling procedures within the new system.

HighQ

HighQ source system ID

maps to

Odoo CRM

res.partner, ir.attachment, crm.activity (custom Char)

1:1
Fully supported

Every migrated HighQ record receives a Source_System_ID__c custom Char field storing the original HighQ object ID. This enables delta-run deduplication, audit traceability, and cross-referencing without relying on the newly assigned Odoo IDs. During subsequent migration runs, the Source_System_ID__c field is used to identify records that already exist in Odoo, preventing duplicate creation and ensuring that updates to HighQ data are correctly applied to the corresponding Odoo records.

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.

HighQ logo

HighQ gotchas

High

Workflow definitions are non-portable between HighQ environments

High

No off-the-shelf migration path from HighQ to SharePoint Online

Medium

iSheet column mapping requires exact sequence ordering in the API

Medium

Pricing is fully opaque—contact sales only

Low

Two-factor authentication is mandatory for all HighQ logins

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

  • HighQ Workflows and automation rules have no Odoo equivalent and must be rebuilt

    HighQ builds workflows using a visual rule editor with conditional branching, task reassignment logic, and email triggers. These rule definitions do not export from HighQ and have no structural equivalent in Odoo. Odoo automation rules are configured at the application level using trigger-action logic that differs fundamentally from HighQ's chained-rule model. FlitStack exports each HighQ workflow definition as a structured reference document describing the trigger conditions, rule order, and action types so the Odoo admin can rebuild equivalent automation in Studio or via server actions. This is a manual step that requires Odoo-side configuration before go-live.

  • HighQ iSheets are custom data tables that require bespoke mapping to Odoo models

    HighQ iSheets are structured spreadsheet-like data tables with arbitrary column types (text, number, date, pick-list, user reference). There is no standard Odoo model for iSheet data — each iSheet must be analyzed individually to determine whether its columns map to existing res.partner fields, require new custom fields on res.partner or crm.lead, or need a fully custom Odoo model created via the Odoo developer interface. iSheet row-to-record linkage also requires identifying which HighQ object (Contact, Company, File) the iSheet relates to, then mapping the Many2one foreign key accordingly.

  • HighQ file folder hierarchy is lost in the flat ir.attachment model

    HighQ organizes Files in a nested folder structure within Sites. When Files migrate to Odoo ir.attachment, the target model stores attachments as flat records linked to a single res_model and res_id (e.g., a res.partner record). The original folder path context is not represented in Odoo's attachment schema. FlitStack preserves the full original path as a custom Char field (File_Path__c) on each ir.attachment, but the folder hierarchy itself is not traversable in Odoo's native file browser. Users who rely on the folder structure for discovery will need to search by File_Path__c or rebuild the hierarchy using tags.

  • Odoo External API access requires the Enterprise Custom plan, not Community or Standard

    The Odoo External API (XML-RPC used by FlitStack for data migration) is gated behind the Enterprise Custom plan at $37.40 per user per month. Odoo Community has no external API access; Odoo Enterprise Standard ($24.90/user/month) includes the internal API but restricts external API calls. Migration volume is throttled on lower plans and may time out on large datasets. Teams on Odoo Community or Standard must upgrade to Custom before migration or accept CSV-based bulk import with manual field mapping, which increases migration complexity and risk.

  • HighQ permission groups do not translate to Odoo record-level access rules

    HighQ assigns permission levels (Viewer, Contributor, Admin) per Site and per File or Task. Odoo's access control uses res.groups and record rules on a per-model basis, with no direct concept of per-record permissions analogous to HighQ's Site-level access model. HighQ permission metadata is exported as custom fields on res.users for documentation, but the Odoo admin must manually review and assign res.groups to match the intended access scope. HighQ admins who had site-wide administrative access will need to be granted Odoo Administrator or custom group memberships manually.

Migration approach

Six steps for a successful HighQ to Odoo CRM data migration

  1. Audit HighQ data model and export all source objects via API

    FlitStack connects to HighQ using the Thomson Reuters API and inventories all Sites, Files, Tasks, Users, and iSheet definitions. We assess iSheet column types, count unique File metadata fields, identify custom workflow definitions, and map the relationship between iSheet rows and the Contacts, Companies, or Files they reference. The audit produces a migration scope document listing every object, record count, and transformation requirement before any data moves.

  2. Create Odoo custom fields and prepare res.users for owner resolution

    We create all required custom fields on res.partner (File_Path__c, Source_System_ID__c, Original_Create_Date__c, Is_Sensitive_Source__c), crm.activity (Done__c, Original_Create_Date__c), ir.attachment (File_Path__c, File_Storage_Location__c, Is_Sensitive_Source__c), and res.users (HighQ_User_ID__c) via Odoo Studio or direct model definition. We also verify the Odoo External API is accessible on the target plan and resolve HighQ user accounts to res.users by email match, flagging any unmatched owners for your team to create before the migration run.

  3. Export iSheet data as structured CSV and map to Odoo field targets

    Each HighQ iSheet is exported as a CSV file with column headers matching the iSheet field names. FlitStack analyzes column types (text, number, date, pick-list, user reference) and maps them to either existing Odoo res.partner fields or newly created custom fields. For iSheets containing pick-list values, we build a value-mapping table matching HighQ option labels to Odoo selection key values. User-reference columns are resolved to res.users IDs using the email match from Step 2.

  4. Run a sample migration with field-level diff and validate mapping

    A representative sample — typically 200–500 records covering Files, Contacts, Tasks, and one iSheet — migrates first using Odoo's XML-RPC API in batch mode. FlitStack generates a field-level diff comparing the source HighQ values against the target Odoo field values for every mapped column. You review the diff to confirm that file paths, company linkages, task assignees, and iSheet pick-list values map correctly before the full migration commits. Any mapping corrections are applied before the production run.

  5. Execute full migration with delta-pickup window and audit log

    The full migration runs in sequenced batches respecting Odoo's API rate limits. A delta-pickup window (24–48 hours) captures any new or modified Files, Tasks, or Contacts created in HighQ during the cutover window so Odoo reflects HighQ's final state at go-live. FlitStack produces an audit log for every record operation (create, update, link) and a reconciliation summary showing record counts by object and any records that failed to migrate. One-click rollback is available if the reconciliation summary reveals data integrity issues.

Platform deep dives

Context on both ends of the pair

HighQ logo

HighQ

Source

Strengths

  • Site-centric architecture cleanly groups related content, simplifying scoped migration of individual practice areas.
  • iSheets provide flexible structured data storage that can accommodate a wide variety of legal data models without code.
  • Secure external client portals with granular permissions are a recognized differentiator for client-facing legal work.
  • Strong Thomson Reuters brand and ecosystem integration gives law firms a trusted vendor for both content and workflow tooling.
  • Implementation support is cited positively in multiple reviews, with dedicated reps assisting through long onboarding periods.

Weaknesses

  • Workflow definitions cannot be migrated between environments—sandbox-to-production requires manual rebuild, making any migration effort complex.
  • No native Salesforce integration and poor Google Docs compatibility create ecosystem gaps for firms using standard legal tech stacks.
  • Constant bugs and heavy administrative overhead are reported by organizations with complex, evolving processes.
  • AI features underdeliver—a reviewer notes the AI could not extract basic contract metadata like end dates.
  • Non-intuitive UI for core workflows like contract submission and approval generates ongoing user frustration.
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 HighQ and Odoo CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    HighQ: Not publicly documented as a single numeric ceiling — limits vary by instance configuration; the developer portal recommends throttling and respecting standard 429 backoff..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most HighQ to Odoo migrations complete in 24–72 hours of clock time for under 50,000 total records (Files, Contacts, Tasks, and iSheet rows combined). Complex migrations with many iSheets requiring custom Odoo model creation, or datasets exceeding 500,000 records, extend to 5–7 days. The longest planning step is analyzing iSheet column structures and mapping them to Odoo custom fields — this is done before the migration run starts.

Adjacent paths

Related migrations to explore

Ready when you are

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