CRM migration

Migrate from BackDocket to Odoo CRM

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

BackDocket logo

BackDocket

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

10 of 10

objects map 1:1 between BackDocket and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

BackDocket is a legal practice management platform built around case files, intake records, and client relationship tracking for law firms. Its data model centers on contacts, cases (called claims), tasks, and calendar events, all structured for legal workflows. Odoo CRM uses a Lead-to-Opportunity model backed by crm.lead, res.partner for contacts, and project.task for deliverables, with stage-based pipeline management. FlitStack AI migrates your BackDocket contacts, active and closed cases, custom intake fields, and activity history into the equivalent Odoo objects. We handle the schema translation from BackDocket's legal-specific taxonomy to Odoo's sales-oriented crm.lead stages, resolve owner assignments by email match against Odoo users, and preserve file attachments and notes. Workflows, document templates, and billing configurations do not transfer — those require manual rebuild in Odoo. The migration uses Odoo's xmlrpc API for record creation and attachment re-upload to Odoo's ir.attachment model, with a test run providing field-level diff before the full cutover commits.

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

BackDocket logo

BackDocket

What's pushing teams away

  • BackDocket's small development team of approximately 2 employees limits the speed of feature development and responsiveness to feature requests from growing firms.
  • The platform lacks a publicly documented API, making third-party integrations and automated data exports difficult without manual intervention or custom development work.
  • Firms scaling beyond 20-30 users sometimes report outgrowing BackDocket's feature set and seeking more robust reporting or advanced workflow automation found in enterprise legal platforms.
  • Limited third-party app ecosystem compared to competitors like Clio or Practice Management add-ons means firms needing native integrations may need to replace that functionality manually.
  • Some firms report that while the dashboard is customizable, the underlying data model can be rigid for non-standard legal workflows, driving migrations to more flexible platforms.

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

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

BackDocket

Client / Contact

maps to

Odoo CRM

res.partner

1:1
Fully supported

BackDocket client records map directly to Odoo res.partner. The res.partner record is created with type='contact' for individual clients and type='company' for corporate clients. Primary email, phone, and address fields map 1:1. BackDocket contacts without a company association land as standalone res.partner records.

BackDocket

Case / Claim

maps to

Odoo CRM

crm.lead

1:1
Fully supported

BackDocket case records translate to Odoo crm.lead. Cases with status='active' become crm.lead records in the New or Qualified stage depending on BackDocket's case_type field. Closed cases migrate with stage='Lost' or 'Won' based on BackDocket's resolved_outcome field. The crm.lead name field receives the BackDocket case reference number for traceability.

BackDocket

Intake Form Fields

maps to

Odoo CRM

Custom Fields on crm.lead

1:1
Fully supported

BackDocket's custom intake fields (practice area, referral source, matter type) have no native Odoo CRM equivalent. FlitStack creates corresponding custom fields on crm.lead using Odoo's field definition system before migration. Each intake field is assessed for data type (picklist, text, date) and mapped to the appropriate Odoo field definition.

BackDocket

Case Task

maps to

Odoo CRM

mail.activity

1:1
Fully supported

BackDocket tasks linked to cases migrate as mail.activity records on the corresponding crm.lead in Odoo. Activity type (call, email, meeting, todo) maps to Odoo's activity_type_id. Original due dates and assigned user IDs are preserved via email-matched res.users lookup. The activity summary field captures the BackDocket task name, providing immediate context within Odoo's activity chatter view.

BackDocket

Staff Note

maps to

Odoo CRM

mail.message

1:1
Fully supported

BackDocket internal notes attached to cases become mail.message records with message_type='comment' on the Odoo crm.lead. Author is resolved by email match to Odoo res.users. Note body text transfers as plaintext; rich formatting is preserved where BackDocket exports HTML. Attachments embedded within notes are extracted and migrated separately as ir.attachment records linked to the same crm.lead.

BackDocket

Document / Attachment

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

BackDocket file attachments (PDFs, Word docs, images) linked to cases are downloaded and re-uploaded to Odoo's ir.attachment model, linked to the corresponding crm.lead via res_model='crm.lead' and res_id equal to the migrated lead ID. File size limit of 25MB per attachment applies; larger files are flagged for manual handling.

BackDocket

Calendar Event

maps to

Odoo CRM

calendar.event

1:1
Fully supported

BackDocket calendar entries (court dates, client appointments, deadlines) migrate to Odoo calendar.event linked to the res.partner or crm.lead record. Start datetime, stop datetime, and allday flag are preserved. Attendees are resolved by email match to Odoo res.partner records. Recurring calendar events in BackDocket are recreated as recurring events in Odoo using the calendar.event recurrence rules.

BackDocket

User / Owner

maps to

Odoo CRM

res.users

1:1
Fully supported

BackDocket user accounts are matched to Odoo res.users by email address. Unmatched owners are assigned to a fallback 'Migration User' in Odoo and flagged in the pre-migration report. BackDocket admin accounts without a corresponding Odoo user are excluded from owner mapping.

BackDocket

Claim Type Template

maps to

Odoo CRM

Custom Field Value on crm.lead

1:1
Fully supported

BackDocket ships 22 prepared claim type templates spanning plaintiff, defense, transactional, and specialty practice areas. These map to a custom picklist field (Claim_Type__c) on crm.lead. Each BackDocket template name is matched to an Odoo custom field selection option; unmapped templates default to a generic 'Legal Matter' value.

BackDocket

Lead Source

maps to

Odoo CRM

source_id on crm.lead

1:1
Fully supported

BackDocket captures lead referral source on intake forms. This maps to the crm.lead source_id field using Odoo's utm.source values. Sources are created as utm.source records in Odoo if they do not already exist, ensuring campaign attribution continuity. The utm.medium and utm.campaign fields are set to default values unless explicitly mapped from BackDocket intake data.

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.

BackDocket logo

BackDocket gotchas

High

No publicly documented API for data export

Medium

Pricing inconsistency across published sources

Medium

Onsite Data Warehouse data locality uncertainty

Low

Check Approvals has no direct equivalent in most destination platforms

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

  • BackDocket claim types require custom field creation in Odoo before migration

    BackDocket ships 22 claim type templates covering plaintiff, defense, transactional, and specialty practice areas. Odoo CRM has no native claim_type field — these map to a custom picklist field (x_claim_type) on crm.lead that must be created in Odoo before data loads. If the custom field is not pre-created, BackDocket claim type values land as free-text in the description field. FlitStack delivers a field creation script as part of the pre-migration schema plan so the custom field exists before record migration begins. Migration of values depends on the field being in place at load time.

  • Odoo ir.attachment requires file re-upload — direct import not supported

    BackDocket stores file attachments (PDFs, documents, images) linked to case records. Odoo does not support direct database import of ir.attachment records — attachments must be re-uploaded via Odoo's xmlrpc API using base64-encoded content with the correct res_model and res_id. Files exceeding Odoo's 25MB per-attachment limit require chunked upload or manual handling. BackDocket's attachment export must be downloaded first, then uploaded to Odoo with the correct crm.lead res_id after lead creation. This adds per-attachment API overhead that scales with file count.

  • Owner resolution by email fails for BackDocket users without Odoo accounts

    BackDocket assigns case owners by email within its internal user list. Odoo requires a res.users record to assign user_id on crm.lead and mail.activity. FlitStack resolves BackDocket owner emails against existing Odoo res.users by exact email match. BackDocket users without a corresponding Odoo account are assigned to a migration fallback user and flagged in the pre-migration report. If your Odoo deployment uses multi-company mode, owner resolution must account for company_id scoping — an email may match a user in a different company partition, causing silent assignment failures.

  • Odoo crm.lead stage model requires stage records pre-created per team

    Odoo CRM stages (crm.stage) are scoped per team (crm.team). BackDocket's case status flags (Open, Pending, Closed) map to Odoo stage records that must exist before migration. If your Odoo deployment has multiple sales teams, each team needs its own stage set — BackDocket's single status field must split across multiple team-specific stage configurations. FlitStack creates a stage mapping plan as part of the migration specification, but stage records must be created in Odoo before the migration run. Missing stage records cause records to land in Odoo's default stage instead of the intended pipeline position.

  • BackDocket billing and check approval data does not migrate to Odoo CRM

    BackDocket includes billing calculation and check approval workflows as native features for law firms. Odoo handles billing through the separate Odoo Accounting application (invoicing, vendor bills, payments) which is not part of the CRM migration scope. BackDocket billing records, trust account transactions, and approval histories are not migrated. If you need financial continuity, Odoo Accounting migration is a separate engagement. We preserve BackDocket billing data as a structured export file for manual import into Odoo Accounting if needed.

Migration approach

Six steps for a successful BackDocket to Odoo CRM data migration

  1. Map BackDocket data model to Odoo schema

    FlitStack inventories all BackDocket record types (clients, cases, intake forms, tasks, notes, calendar events, attachments) and maps each to the corresponding Odoo model (res.partner, crm.lead, mail.activity, mail.message, calendar.event, ir.attachment). We identify custom intake fields on BackDocket cases and create matching custom fields on Odoo's crm.lead before migration. A schema plan document is delivered for your Odoo admin to apply. The inventory phase also captures data volume estimates per object type, enabling accurate timeline and cost projections for the migration scope.

  2. Resolve BackDocket owners against Odoo res.users

    BackDocket user accounts are matched to Odoo res.users by email address. We generate a pre-migration owner resolution report showing matched users, unmatched BackDocket owners, and the fallback assignment plan. Your Odoo admin creates missing user accounts or confirms fallback assignment before the migration run. Owner resolution must complete before records load because crm.lead.user_id and mail.activity.user_id are set at insert time.

  3. Create Odoo crm.stage records per team

    BackDocket case status values are mapped to Odoo crm.stage records. If your Odoo deployment uses multiple crm.team instances, we generate a team-specific stage mapping plan. Your Odoo admin creates the stage records in Odoo before migration. We verify stage existence via the xmlrpc API before the migration run begins to prevent records landing in the wrong pipeline position. The stage mapping also includes probability percentages for each stage, enabling Odoo's forecast and revenue prediction features to function correctly from day one after migration.

  4. Run test migration with field-level diff

    A representative slice of BackDocket records (typically 200-500 per object type) migrates to Odoo first. FlitStack generates a field-level comparison report showing source values versus destination field contents for every mapped field. You verify claim type mapping, owner resolution, stage assignment, and note migration before the full run commits. Adjustments to field mapping or value translation are made before the production migration.

  5. Execute full migration with delta-pickup window

    The full BackDocket dataset migrates to Odoo via xmlrpc API calls. A delta-pickup window of 24-48 hours captures any BackDocket records created or modified during the cutover period. All ir.attachment records are re-uploaded with the correct res_model and res_id after lead creation. An audit log records every operation. One-click rollback reverts Odoo to pre-migration state if reconciliation fails. The migration engine processes records in batches of 100 to optimize API throughput while avoiding Odoo's request timeout limits.

Platform deep dives

Context on both ends of the pair

BackDocket logo

BackDocket

Source

Strengths

  • Flat-rate pricing of $59.99/user/month with all features included eliminates surprise billing when firms add users or enable capabilities.
  • Customizable dashboard allows each firm to configure its own layout for the most relevant intake, contacts, and case data.
  • 148+ capabilities across 17 feature categories provide a broad functional coverage that reduces the need for third-party tools.
  • Strong customer satisfaction ratings of 4.9/5 indicate consistent usability and reliable service for small to mid-sized law firms.
  • 22 claim type templates spanning multiple practice areas help new users adopt structured workflows immediately.

Weaknesses

  • Very small development team (approximately 2 employees) limits product development velocity and customer support responsiveness.
  • No publicly documented API means automated data extraction and third-party integrations require custom development work.
  • Limited third-party application ecosystem compared to larger competitors like Clio or PracticePanther.
  • Small company footprint (37 LinkedIn followers, founded 2019) may raise long-term viability concerns for firms making decade-long software commitments.
  • Firms with non-standard legal workflows may find BackDocket's data model too rigid for their specific practice needs.
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 BackDocket 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

    BackDocket: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most BackDocket to Odoo CRM migrations complete within 48-72 hours of clock time for under 25,000 total records. Larger firms with 200,000+ records, extensive custom intake fields, or multiple Odoo teams should plan for 5-10 days. The longest single step is typically owner resolution and Odoo stage creation — those pre-migration tasks run before any data moves. Attachment re-upload via xmlrpc adds per-file latency that scales with total file count.

Adjacent paths

Related migrations to explore

Ready when you are

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