CRM migration
Field-level mapping, validation, and rollback between Lead Docket and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Lead Docket
Source
Odoo CRM
Destination
Compatibility
12 of 12
objects map 1:1 between Lead Docket and Odoo CRM.
Complexity
BStandard
Timeline
2–4 days
Overview
Lead Docket organizes legal-intake data around leads, contacts, and case types with 11 configurable lead statuses, source tracking, and attorney rotation. Odoo CRM unifies leads and opportunities under one crm.lead model with a Kanban pipeline, stage probability, and team-based assignment — but stores contacts as res.partner records rather than a separate contact object. The migration carries every Lead Docket lead, contact, custom field, and status value into Odoo's crm.lead and res.partner records. Odoo has no native case-type concept, so case types migrate as custom Selection fields on crm.lead. Lead Docket's source rules, attorney rotation assignments, and custom contact fields map to Odoo custom fields. FlitStack AI sequences the migration to resolve foreign-key dependencies — res.partner must exist before crm.lead records link to it — and runs a delta pickup window to capture any leads created during the cutover. Automations and integrations (Filevine, Vinesign) do not migrate and must be rebuilt or reconnected manually.
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 Lead Docket 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.
Lead Docket
Lead
Odoo CRM
crm.lead
1:1Lead Docket leads map directly to Odoo crm.lead records. The Odoo crm.lead model stores both pre-conversion leads and post-conversion opportunities in one object differentiated by the type and stage_id fields. Original Lead Docket create dates are preserved as Original_Create_Date__c (via x_ prefix field) because Odoo's create_date reflects migration insertion time.
Lead Docket
Contact
Odoo CRM
res.partner
1:1Lead Docket contacts migrate to Odoo res.partner records. In Odoo, res.partner is the unified contact/person record used across CRM, Sales, and Accounting modules. Linked contacts are inserted before leads so crm.lead.partner_id foreign keys resolve correctly during migration sequencing. Email addresses serve as the deduplication key, and any duplicate contacts detected are merged into a single res.partner record with multiple x_lead_docket_contact_id references preserved for traceability.
Lead Docket
Lead Status
Odoo CRM
crm.stage
1:1Lead Docket's 11 default lead statuses (New, Attempted Contact, Bad Contact Info, Consultation Scheduled, Consultation Completed, Signed Up, Not Interested, Lost Lead, etc.) map value-by-value to Odoo crm.stage records within the default CRM pipeline. Custom account-specific statuses require stage creation in Odoo before value mapping runs.
Lead Docket
Case Type
Odoo CRM
x_case_type (custom field on crm.lead)
1:1Lead Docket case types — the legal-matter classification that drives case-type–dependent custom fields — have no Odoo CRM native equivalent. FlitStack creates a custom Selection field (x_case_type) on crm.lead and migrates each lead's case type as a selection value. If Odoo Enterprise with Studio is available, the field can be built there; otherwise it requires module definition or direct database field insertion.
Lead Docket
Lead Custom Field
Odoo CRM
x_ custom field on crm.lead
1:1Every Lead Docket lead custom field (dropdown, text, date, currency, etc.) is recreated in Odoo using the x_ field-name prefix convention. Field type is preserved — text fields become Char, date fields become Date, currency fields become Monetary (linked to res.currency). Multi-select dropdowns become Char with comma-delimited values unless Odoo custom.selection is configured.
Lead Docket
Contact Custom Field
Odoo CRM
x_ custom field on res.partner
1:1Lead Docket contact custom fields — tied to a contact record rather than a lead — migrate as x_ custom fields on Odoo's res.partner model. This preserves the per-contact metadata (e.g., referral source, intake channel) that Lead Docket allows clients to attach directly to contacts. Note: Lead Docket contact custom fields cannot be made dependent on case type because they are contact-level, not lead-level.
Lead Docket
Source Rule
Odoo CRM
x_source_rule (custom Char on crm.lead)
1:1Lead Docket source rules automate marketing source selection when inbound leads arrive. This Odoo automation has no direct equivalent. We preserve the source rule output (the selected marketing source) as a custom Char field x_source_rule on crm.lead for reporting continuity. The automation logic itself must be rebuilt in Odoo using Server Actions or Odoo Workflow triggered on lead creation.
Lead Docket
Attorney Assignment / Rotation
Odoo CRM
crm.team + user_id on crm.lead
1:1Lead Docket attorney rotation distributes incoming leads fairly among attorneys based on configurable rules. In Odoo CRM, team-based lead assignment is managed via crm.team membership. FlitStack maps each Lead Docket assigned attorney (stored as a user reference) to the matching Odoo user by email lookup and preserves the pre-assignment as x_original_attorney_id. The rotation algorithm itself must be re-implemented as an Odoo Server Action or Assignment Rules on crm.team.
Lead Docket
Attachment / File
Odoo CRM
ir.attachment (Odoo native)
1:1Lead Docket file attachments on leads and contacts are downloaded and re-uploaded to Odoo's ir.attachment model, linked to the corresponding crm.lead or res.partner record. Odoo stores attachments in its filestore; large files (over 25MB per file) are handled in chunks. Inline images embedded in Lead Docket notes are extracted and rehosted as ir.attachment records linked to the note body.
Lead Docket
Lead-to-Contact Association
Odoo CRM
crm.lead.partner_id (foreign key to res.partner)
1:1Lead Docket's 1:1 contact-to-lead association becomes crm.lead.partner_id pointing to the migrated res.partner record. Lead Docket allows each lead to have one primary contact; this maps cleanly to Odoo's partner_id link. N:1 associations from Lead Docket (if any lead has multiple contacts) are handled by storing the primary contact as partner_id and additional contacts as a Char field x_secondary_contact_ref for manual resolution in Odoo.
Lead Docket
Lead Docket Integration (Filevine sync)
Odoo CRM
No equivalent
1:1Lead Docket integrates with Filevine for case management and Vinesign for document signing. Odoo has no native Filevine connector. These integrations must be disconnected before migration and rebuilt separately after go-live. FlitStack preserves the Filevine case reference stored in Lead Docket's custom fields as x_filevine_ref for post-migration reconnection.
Lead Docket
Automations
Odoo CRM
Server Actions / Odoo Workflow
1:1Lead Docket automations (a paid add-on) trigger status changes, lead form submissions, and Filevine/Vinesign sends based on lead events. Each automation is audited as a JSON definition before migration. FlitStack exports the automation configuration as a rebuild reference document so your Odoo admin can recreate equivalent Server Actions on crm.lead triggered by the same events.
| Lead Docket | Odoo CRM | Compatibility | |
|---|---|---|---|
| Lead | crm.lead1:1 | Fully supported | |
| Contact | res.partner1:1 | Fully supported | |
| Lead Status | crm.stage1:1 | Fully supported | |
| Case Type | x_case_type (custom field on crm.lead)1:1 | Fully supported | |
| Lead Custom Field | x_ custom field on crm.lead1:1 | Fully supported | |
| Contact Custom Field | x_ custom field on res.partner1:1 | Fully supported | |
| Source Rule | x_source_rule (custom Char on crm.lead)1:1 | Fully supported | |
| Attorney Assignment / Rotation | crm.team + user_id on crm.lead1:1 | Fully supported | |
| Attachment / File | ir.attachment (Odoo native)1:1 | Fully supported | |
| Lead-to-Contact Association | crm.lead.partner_id (foreign key to res.partner)1:1 | Fully supported | |
| Lead Docket Integration (Filevine sync) | No equivalent1:1 | Fully supported | |
| Automations | Server Actions / Odoo Workflow1:1 | Not 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.
Lead Docket gotchas
API write-only limitation blocks record updates
Automations are excluded from all export methods
Filevine integration has documented one-way sync issues
50-automation-change cap per lead
Custom fields require manual recreation and type mapping
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
Export and validate Lead Docket CSV
FlitStack guides you through generating a complete CSV export from Lead Docket's reporting interface, including all standard fields and every custom field you want migrated. We validate the export against your Lead Docket field inventory — because the API cannot read data, the CSV is the only extraction path. We flag any custom fields missing from the export template and help you re-export with the full column set before the migration run begins.
Create Odoo custom fields and stage mapping
Before data moves, FlitStack delivers an Odoo pre-setup plan: the x_ custom fields to create on crm.lead and res.partner, the crm.stage records to create for your Lead Docket lead status values, and the case-type Selection field definition. If you have Odoo Enterprise with Studio, we provide the field definitions as a Studio export. For Community edition, we provide SQL field definitions or a Python script to insert the fields via XML-RPC. Stage mapping plan maps each of your 11 Lead Docket lead statuses to the nearest Odoo crm.stage by name.
Resolve users and build partner records first
Odoo crm.lead records require a partner_id foreign key to res.partner for every linked contact. We sequence the migration so all res.partner records (Lead Docket contacts) are inserted first, deduplicated by email, with their x_lead_docket_contact_id preserved. Lead Docket leads insert second, with partner_id resolved by email match to the newly created res.partner records. Any Lead Docket leads without a matching contact create a new res.partner inline. Unmatched owners are flagged; records are assigned to a fallback Odoo user you designate.
Run sample migration with field-level diff
A representative slice — typically 100–300 records spanning leads, contacts, and records with custom fields — migrates first. We generate a field-level diff comparing the source CSV values against the resulting Odoo crm.lead and res.partner records. You verify case type mapping, lead status-to-stage mapping, attorney ID preservation, and custom field population. Any mapping errors are corrected in the plan before the full run commits. This sample run also surfaces data quality issues — duplicate contacts, missing emails, malformed dates — so your team can decide on deduplication rules.
Full migration with delta-pickup and rollback
The full record set migrates into your Odoo instance via XML-RPC. A delta-pickup window of 24–48 hours after the initial run captures any new Lead Docket records created during the cutover. FlitStack maintains an audit log of every insert, update, and foreign-key resolution. One-click rollback reverts all migrated records if reconciliation against the source CSV fails. After rollback confirmation, you continue operating in Lead Docket until the issue is resolved and migration re-runs.
Platform deep dives
Lead Docket
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 Lead Docket 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
Lead Docket: Not publicly documented.
Data volume sensitivity
Lead Docket 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 Lead Docket to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Lead Docket 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 Lead Docket
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.