CRM migration
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
Source
Odoo CRM
Destination
Compatibility
9 of 10
objects map 1:1 between Enkrypt Legal-PRO and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Odoo CRM
res.partner
1:1Enkrypt 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
Odoo CRM
crm.lead
1:1Enkrypt 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)
Odoo CRM
project.matter
1:manyEnkrypt 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
Odoo CRM
ir.attachment
1:1Enkrypt 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)
Odoo CRM
mail.activity
1:1Enkrypt 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
Odoo CRM
res.users
1:1Enkrypt 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)
Odoo CRM
x_studio custom field on res.partner
1:1Enkrypt 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)
Odoo CRM
x_studio custom field on crm.lead
1:1Enkrypt 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
Odoo CRM
res.partner (company)
1:1Enkrypt 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
Odoo CRM
account.move
1:1Enkrypt 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.
| Enkrypt Legal-PRO | Odoo CRM | Compatibility | |
|---|---|---|---|
| Client | res.partner1:1 | Fully supported | |
| Matter | crm.lead1:1 | Fully supported | |
| Matter (ongoing case) | project.matter1:many | Fully supported | |
| Document | ir.attachment1:1 | Fully supported | |
| Activity (call, email, note) | mail.activity1:1 | Fully supported | |
| User / Attorney | res.users1:1 | Fully supported | |
| Custom Field (Client) | x_studio custom field on res.partner1:1 | Fully supported | |
| Custom Field (Matter) | x_studio custom field on crm.lead1:1 | Fully supported | |
| Client Group / Organization | res.partner (company)1:1 | Fully supported | |
| Billing Record / Trust Account Entry | account.move1:1 | Fully supported |
Gotchas + challenges
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 gotchas
No publicly documented API for automated data export
Secure messaging content is end-to-end encrypted and not exportable
Trust account ledger requires separate export handling
Criminal-law-centric workflow templates may not map cleanly
Free trial terms and promotional access can affect data availability
Odoo CRM gotchas
Odoo.sh version gating blocks assisted migrations from trial
Enterprise modules fail to install on Community after database restore
Custom module view inheritance breaks between Odoo major versions
Custom fields risk losing their application context on Community
API access for Community is gated behind the Custom Plan
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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
Enkrypt Legal-PRO
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Enkrypt Legal-PRO and Odoo CRM.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Enkrypt Legal-PRO: Not applicable..
Data volume sensitivity
Enkrypt Legal-PRO doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Enkrypt Legal-PRO to Odoo CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Enkrypt Legal-PRO
Other ways to arrive at Odoo CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.