CRM migration

Migrate from Enkrypt Legal-PRO to Odoo CRM

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

Enkrypt Legal-PRO logo

Enkrypt Legal-PRO

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

90%

9 of 10

objects map 1:1 between Enkrypt Legal-PRO and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Enkrypt Legal-PRO organizes client relationships around a secure-messaging-first data model with clients, matters, documents, and activity logs stored as distinct objects. Odoo CRM uses the res.partner model for contacts, crm.lead for opportunities and leads, and project.matter for case tracking. The migration challenge is translating Enkrypt's matter-centric workflow (where each matter links a client to case documents, billing records, and attorney notes) into Odoo's opportunity-tracking and project-task structure. We map Enkrypt clients to res.partner records, matters to crm.lead or project.matter depending on whether they represent sales pipeline or ongoing case work, and Enkrypt document attachments to Odoo ir.attachment records linked to the corresponding partner or lead. Activity history migrates as mail.activity records with original timestamps and assigned user IDs resolved by email match. Odoo's External API (XML-RPC or JSON-RPC) handles the data transfer for Odoo Online and Odoo.sh instances, while direct PostgreSQL writes apply for self-hosted Odoo deployments. Custom fields defined in Enkrypt become x_studio or x_* custom fields in Odoo via Odoo Studio or direct model inheritance. Workflows, automation rules, secure messaging encryption settings, and trust accounting logic do not migrate — these require Odoo-native reconstruction using Odoo automation rules, project templates, and the accounting module.

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

Enkrypt Legal-PRO logo

Enkrypt Legal-PRO

What's pushing teams away

  • The platform is primarily positioned for criminal law practices, so general civil or transactional firms find the workflow templates misaligned with their case types.
  • Limited third-party integrations beyond basic calendaring mean firms using multiple specialized tools face data silos that require manual re-entry.
  • Smokeball and Clio dominate the legal practice management market with larger ecosystems, more robust reporting, and stronger network effects for referrals.

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 Enkrypt Legal-PRO objects map to Odoo CRM

Each row shows how a Enkrypt Legal-PRO 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.

Enkrypt Legal-PRO

Client

maps to

Odoo CRM

res.partner

1:1
Fully supported

Enkrypt client records map directly to Odoo res.partner. The partner_type field in Odoo (customer, vendor, employee) should be set to 'customer' for all migrated client records. This classification ensures proper segmentation in Odoo's contact management and reporting. Enkrypt client IDs are preserved in Odoo's x_studio_source_system_id custom field for delta-run de-duplication, cross-reference during reconciliation, and maintaining the link between the original Enkrypt record and the new Odoo res.partner entry. This source system ID field is essential for future incremental syncs and audit trails.

Enkrypt Legal-PRO

Matter

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Enkrypt matters that represent client engagements or potential matters map to Odoo crm.lead (opportunity). The matter name becomes the lead name, matter status maps to Odoo stage via value_mapping, and the associated client becomes the partner_id lookup on the lead. Matter type (e.g., litigation, corporate, real estate) can be stored as a custom field on crm.lead for segmentation.

Enkrypt Legal-PRO

Matter (ongoing case)

maps to

Odoo CRM

project.matter

1:many
Fully supported

Enkrypt matters that represent active, multi-task case work split into Odoo project.matter records. Each Enkrypt matter becomes a project with tasks derived from case milestones or document categories. This split applies when the firm tracks billable hours, task lists, or milestone deliverables within the matter — these map to project.tasks in Odoo.

Enkrypt Legal-PRO

Document

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Enkrypt file attachments (contracts, briefs, correspondence) migrate as Odoo ir.attachment records linked to the corresponding res.partner or crm.lead via res_model and res_id fields. File binary data is re-uploaded to Odoo's filestore. Inline images in documents are extracted and re-hosted as attachment files.

Enkrypt Legal-PRO

Activity (call, email, note)

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Enkrypt activity logs (calls logged, emails sent, notes recorded) map to Odoo mail.activity records. The activity_type field maps to Odoo activity types (call, email, meeting, upload_document). Original timestamps, user assignments, and activity notes are preserved. The res_model and res_id on the activity link it to the correct partner or lead.

Enkrypt Legal-PRO

User / Attorney

maps to

Odoo CRM

res.users

1:1
Fully supported

Enkrypt user accounts are resolved by email match against Odoo res.users. Unmatched attorneys are flagged before migration. Active Enkrypt users without an Odoo account can be provisioned as Odoo users with the same email, or their records can be assigned to a fallback user (e.g., managing partner) until Odoo accounts are created.

Enkrypt Legal-PRO

Custom Field (Client)

maps to

Odoo CRM

x_studio custom field on res.partner

1:1
Fully supported

Enkrypt custom fields defined on the Client object are created as custom fields on res.partner in Odoo using Odoo Studio or direct model inheritance. Field types are mapped: text → char/text, picklist → selection, number → float/integer, date → date. The custom field API name follows Odoo's naming convention (x_studio_field_name or x_field_name for direct).

Enkrypt Legal-PRO

Custom Field (Matter)

maps to

Odoo CRM

x_studio custom field on crm.lead

1:1
Fully supported

Enkrypt custom fields on the Matter object are created as custom fields on crm.lead in Odoo. Matter-specific properties like practice_area, referral_source, or client_priority become custom selection or char fields on the lead. Fields that represent monetary values (billing_rate, matter_budget) map to Odoo float fields.

Enkrypt Legal-PRO

Client Group / Organization

maps to

Odoo CRM

res.partner (company)

1:1
Fully supported

Enkrypt organizations or client groups that represent companies map to the company_id field on res.partner. The organization's primary contact within the group becomes the main res.partner record with child contacts linked via parent_id. This preserves the hierarchical relationship in Odoo's partner model.

Enkrypt Legal-PRO

Billing Record / Trust Account Entry

maps to

Odoo CRM

account.move

1:1
Fully supported

Enkrypt trust accounting and billing records do not have a direct Odoo CRM equivalent. They migrate as custom financial records for reference, but trust accounting logic must be rebuilt using Odoo's accounting module (account.move, account.payment). We preserve the trust account balance and transaction history as a reference custom field on the client partner record.

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.

Enkrypt Legal-PRO logo

Enkrypt Legal-PRO gotchas

High

No publicly documented API for automated data export

High

Secure messaging content is end-to-end encrypted and not exportable

Medium

Trust account ledger requires separate export handling

Medium

Criminal-law-centric workflow templates may not map cleanly

Low

Free trial terms and promotional access can affect data availability

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

  • Enkrypt matter-to-Odoo lead split requires practice-area logic

    Enkrypt matters serve double duty as both client engagement records and case files. Odoo separates crm.lead (sales pipeline) from project.matter (case work). When migrating, matters with billable-hours tracking, milestone tasks, or task-assignment workflows need to split into Odoo crm.lead plus project.matter, while simple engagement matters map only to crm.lead. We resolve this by reading Enkrypt's matter_type field: if it contains 'case', 'litigation', or 'transaction' with sub-tasks, we create a project.matter alongside the crm.lead. If it is a simple engagement record, it lands only as a crm.lead. This split determines the Odoo pipeline architecture before field mapping begins and affects the number of records processed per matter.

  • Odoo External API requires Custom plan or direct PostgreSQL access

    Odoo Online and Odoo.sh on the Standard plan restrict External API (XML-RPC/JSON-RPC) access. The Odoo Community forum and official documentation confirm that the External API is free only on the Custom plan. For migrations to Odoo Community or Standard, we use direct PostgreSQL INSERT operations into the Odoo database — writing to res_partner, crm_lead, ir_attachment, and mail_activity tables directly. This bypasses API limits but requires careful handling of Odoo's write_date, create_uid, and message_follower_ids fields to maintain referential integrity and avoid triggering Odoo's mail threading on partial records.

  • Enkrypt secure messaging content does not migrate as Odoo mail threads

    Enkrypt Legal-PRO's core value proposition is enterprise-encrypted, attorney-client privileged messaging. This message content is stored in Enkrypt's secure messaging format and cannot be extracted as standard email threads. Migrating message content to Odoo mail.message records would break Odoo's mail.thread model and create privacy/privilege complications. We preserve messaging metadata (message count per matter, participant list, date range) as custom fields on the crm.lead for audit reference. If full message history is required, Enkrypt's export API must be used separately and loaded into a dedicated document repository rather than Odoo's activity log.

  • Odoo stage_id is pipeline-scoped; multi-practice-area matters create stage conflicts

    Odoo CRM stages are scoped per sales team or pipeline. Firms with multiple practice areas (litigation, corporate, real estate) often need different stage sequences per practice. In Odoo, each pipeline (sales_team) has its own stage set. When Enkrypt matters span multiple practice areas, we map them to separate Odoo pipelines. Stage names from Enkrypt (e.g., 'Intake', 'Discovery', 'Settlement', 'Trial') must be value-mapped to the corresponding stage in each Odoo pipeline. We generate a stage-mapping matrix before migration that maps every Enkrypt matter status to the correct pipeline and stage_id combination.

  • Enkrypt trust accounting records lack Odoo accounting module equivalents

    Enkrypt's trust accounting module tracks client funds, retainer balances, and trust disbursements. Odoo's accounting module (account.move, account.payment) handles financial transactions but requires chart of accounts setup, fiscal positions, and tax configuration before client trust records can post correctly. We preserve Enkrypt trust account balances and transaction summaries as custom reference fields on the res.partner record, but the actual accounting entries (retainer deposits, disbursement checks) must be manually re-entered or imported via Odoo's standard accounting CSV import process after the CRM migration completes. This is a known limitation disclosed upfront.

Migration approach

Six steps for a successful Enkrypt Legal-PRO to Odoo CRM data migration

  1. Audit Enkrypt data model and map matter types to Odoo objects

    We read the Enkrypt API or database export to inventory all object types: clients, matters, documents, activities, and custom fields. We classify each matter record by its type and metadata to determine whether it maps to Odoo crm.lead (engagement pipeline) or crm.lead + project.matter (case work). We document the stage-name mapping from Enkrypt matter statuses to Odoo pipeline stages per practice area. This audit produces the migration schema that drives all subsequent steps.

  2. Create Odoo custom fields and configure pipelines before data arrival

    Before any records move, we create the custom fields identified in the audit on Odoo's res.partner, crm.lead, and project.matter models using Odoo Studio (Custom plan) or direct PostgreSQL model updates (Community). We also create the Odoo pipelines and stage sets needed to receive the Enkrypt matter types. We deliver a schema setup checklist so your Odoo admin can pre-approve the field and pipeline configuration before we begin validation.

  3. Resolve users and attorneys by email match against Odoo res.users

    Enkrypt user accounts and responsible attorney assignments are matched to Odoo res.users by email address. Unmatched users are flagged in a pre-migration report. Your team either creates Odoo user accounts for unmatched attorneys before migration or designates a fallback owner for their records. No record lands in Odoo without a valid user_id — unowned records would be invisible in Odoo's activity assignment views.

  4. Run a sample migration with field-level diff before full commit

    A representative slice migrates first — typically 100–300 records covering clients, matters across different practice areas, documents, and activities. We generate a field-level diff showing source values against Odoo destination values for every mapped field. You verify that matter-type-to-pipeline split logic, stage mapping, and user assignment are correct. We adjust the mapping matrix based on your sign-off before the full run commits.

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

    The full migration loads clients to res.partner, matters to crm.lead (and project.matter where applicable), documents to ir.attachment, and activities to mail.activity. A delta-pickup window of 24–48 hours captures any new or modified records created in Enkrypt during the cutover. We generate a migration audit log listing every record created, updated, or skipped with reasons. One-click rollback reverts all Odoo changes if reconciliation fails. Custom fields for trust accounting reference are populated as informational fields — actual accounting entries require Odoo's accounting module setup post-migration.

Platform deep dives

Context on both ends of the pair

Enkrypt Legal-PRO logo

Enkrypt Legal-PRO

Source

Strengths

  • Secure messaging-first design purpose-built for attorney-client communication with automatic notifications on case changes.
  • Account bundling allows multiple related matters under a single client account, simplifying data hierarchy for multi-case clients.
  • Trust accounting and credit reporting features support financial compliance for law practice operations.
  • Free trial and low per-user pricing make it accessible for solo practitioners and small firms to evaluate fit.
  • 24/7 support coverage with multiple channels including live chat, phone, and knowledge base.

Weaknesses

  • Primarily marketed toward criminal law, limiting applicability for civil, corporate, or transactional practices.
  • Minimal public API documentation makes automated data export and third-party integrations difficult to build.
  • Limited ecosystem and fewer integrations compared to established competitors like Clio, MyCase, or Smokeball.
  • Data export capabilities are not clearly documented, which creates risk for firms that need to extract their data for compliance or archival purposes.
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 Enkrypt Legal-PRO 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

    Enkrypt Legal-PRO: Not applicable..

  • Data volume sensitivity

    B

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

Estimator

Estimate your Enkrypt Legal-PRO 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 Enkrypt Legal-PRO to Odoo CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Enkrypt-to-Odoo CRM migrations complete in 48–72 hours for under 25,000 records. Larger firms with 100,000+ records, multiple practice areas requiring separate Odoo pipelines, or extensive custom fields extend to 5–8 days. The longest planning step is mapping Enkrypt matter types to Odoo's crm.lead and project.matter split — this determines the pipeline architecture and stage-value mapping matrix before any data moves. Enkrypt trust accounting records require post-migration Odoo accounting setup and are not part of the clock-time migration run.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Enkrypt Legal-PRO.
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