CRM migration
Field-level mapping, validation, and rollback between Rocket Matter and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Rocket Matter
Source
Odoo CRM
Destination
Compatibility
12 of 12
objects map 1:1 between Rocket Matter and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Rocket Matter organizes legal data around matters, clients, time entries, and trust accounting. Odoo CRM unifies contacts and companies into res.partner with leads and opportunities managed in crm.lead. The migration carries Rocket Matter's client records, matter records, time entries, documents, and custom fields into Odoo's relational model, preserving original timestamps, matter statuses, and owner assignments. We extract via Rocket Matter's API, transform the matter-centric structure into Odoo's lead/opportunity model, and load through Odoo's XML-RPC interface at approximately 1 call per second to respect rate limits. Trust accounting and legal-specific billing configurations require Odoo-side accounting module setup — we document the configuration targets but those are destination-side decisions. Custom fields on Rocket Matter matters and clients become Odoo ir.model.fields, with field types mapped value-by-value to match Odoo's supported types. All documents and attachments migrate as ir.attachment records linked to their parent records by external ID reference. The transformation preserves all primary key relationships and foreign key references to enable Odoo-native reporting across the migrated dataset.
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 Rocket Matter 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.
Rocket Matter
Client
Odoo CRM
res.partner
1:1Rocket Matter clients map directly to Odoo res.partner records. Individual clients use partner_type='individual'; organizational clients use partner_type='company'. The Rocket Matter client ID is preserved in a custom field (rm_client_id__c) for delta-run deduplication. Primary matter relationships carry over as partner_tags. This mapping ensures that all client-matter associations are preserved and can be queried using standard Odoo filters and reports.
Rocket Matter
Matter
Odoo CRM
crm.lead
1:1Rocket Matter matters map to Odoo crm.lead as opportunities. Matter name becomes crm.lead name; matter description becomes crm.lead description. Matter status (Open/Closed/Archived) maps to Odoo stage IDs via a value-mapping table. Matter type (e.g., Litigation, Corporate, Family) maps to crm.lead tag or a custom field (rm_matter_type__c) based on your Odoo stage configuration.
Rocket Matter
Time Entry
Odoo CRM
account.analytic.line
1:1Rocket Matter time entries map to Odoo account.analytic.line records linked to the corresponding crm.lead. Billable flag from Rocket Matter becomes the analytic line's non-zero unit_amount with unit_price set from the rate table. Non-billable entries migrate with unit_amount only. Rate lookup uses Rocket Matter's fee-earner rate table keyed by user ID.
Rocket Matter
Document
Odoo CRM
ir.attachment
1:1Rocket Matter documents attached to matters migrate as Odoo ir.attachment records with res_model='crm.lead' and res_id referencing the mapped matter ID. File content downloads from Rocket Matter's storage and re-uploads to Odoo's filestore (or configured external storage). Merge field templates in Rocket Matter export as standard document files.
Rocket Matter
Task
Odoo CRM
project.task or crm.activity
1:1Rocket Matter tasks tied to matters map to crm.activity records (activity_type, date_deadline, user_id) on the corresponding crm.lead. If your Odoo deployment includes the Project module, tasks also create project.task records linked via project_id. Task dependencies from Rocket Matter require Odoo project task dependencies module (oca/project-task-dependency) if needed.
Rocket Matter
Event
Odoo CRM
calendar.event
1:1Rocket Matter calendar events map to Odoo calendar.event records with start datetime, stop datetime, and partner_ids linking to the res.partner for the associated client or matter. Recurring events in Rocket Matter generate individual Odoo calendar.event entries with the recurrence pattern stored in description.
Rocket Matter
Note
Odoo CRM
mail.message
1:1Rocket Matter notes attached to matters migrate as Odoo mail.message records with message_type='comment' and res_id pointing to the crm.lead. Author is the Rocket Matter user who created the note, resolved to Odoo res.users by email. Rich-text formatting in Rocket Matter notes converts to Odoo's HTML-safe format.
Rocket Matter
Custom Field (Matter)
Odoo CRM
ir.model.field (on crm.lead)
1:1Rocket Matter matter-level custom fields require Odoo custom field creation before migration. FlitStack delivers a custom-field creation plan specifying field name, Odoo field type (char, selection, float, date, etc.), and any selection-list value mappings. Select-list fields in Rocket Matter become Odoo selection fields with values mapped via value_mapping type.
Rocket Matter
Custom Field (Client)
Odoo CRM
ir.model.field (on res.partner)
1:1Rocket Matter client custom fields create as res.partner custom fields in Odoo. Same field-type mapping logic applies. Client-type custom fields are created before partner migration begins so the fields exist at load time. Multi-select lists in Rocket Matter map to Odoo char fields with comma-separated values or to tags on res.partner.
Rocket Matter
Fee Earner/User
Odoo CRM
res.users
1:1Rocket Matter fee earners map to Odoo res.users by email address match. If a Rocket Matter user has no Odoo counterpart, records assign to a fallback admin user and the original owner ID is preserved in a custom field (rm_owner_id__c) for post-migration reassignment. User active status and access groups require Odoo-side configuration.
Rocket Matter
Billing/Trust Data
Odoo CRM
account.move / account.account
1:1Rocket Matter trust accounting records (retainer balance, LEDES billing codes, IOLTA tracking) have no direct Odoo equivalent. We export trust data as a structured JSON report and a CSV ledger for your Odoo accounting consultant to configure the accounting module correctly. Odoo accounting setup requires your CPA involvement — we document the configuration targets but do not modify accounting entries.
Rocket Matter
Invoice/Payment
Odoo CRM
account.move
1:1Rocket Matter invoices and payments require separate accounting migration. We export invoices as account.move draft records for import into Odoo's accounting module. Invoices must reconcile with the trust ledger, so your Odoo accountant reviews before posting. This is scoped out of the standard CRM migration unless accounting is included in the project.
| Rocket Matter | Odoo CRM | Compatibility | |
|---|---|---|---|
| Client | res.partner1:1 | Fully supported | |
| Matter | crm.lead1:1 | Fully supported | |
| Time Entry | account.analytic.line1:1 | Fully supported | |
| Document | ir.attachment1:1 | Fully supported | |
| Task | project.task or crm.activity1:1 | Fully supported | |
| Event | calendar.event1:1 | Fully supported | |
| Note | mail.message1:1 | Fully supported | |
| Custom Field (Matter) | ir.model.field (on crm.lead)1:1 | Fully supported | |
| Custom Field (Client) | ir.model.field (on res.partner)1:1 | Fully supported | |
| Fee Earner/User | res.users1:1 | Fully supported | |
| Billing/Trust Data | account.move / account.account1:1 | Fully supported | |
| Invoice/Payment | 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.
Rocket Matter gotchas
Trust account ledgers require IOLTA compliance verification before go-live
Batch billing data carries forward write-off history that can affect revenue reporting
Document automation templates use merge field syntax that is Rocket Matter-specific
Workflow automations with task dependencies do not export via API
User billing rate tables are tied to matter-level assignments, not global rate cards
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
Pre-migration schema planning and custom field creation
Before any data moves, your Odoo admin (or our team) creates the custom fields on crm.lead and res.partner that correspond to Rocket Matter matter-level and client-level custom fields. We deliver a field creation plan specifying Odoo field name, type (char, selection, float, date), and any selection-list value mappings. We also map Rocket Matter matter types to Odoo crm.lead tags and confirm stage IDs for the status-value mapping table. The Odoo database must be field-ready before validation runs.
Extract Rocket Matter data via API
We pull all clients, matters, time entries, documents, tasks, events, and notes via Rocket Matter's API. For each record we capture the internal ID, all standard and custom fields, create/update timestamps, owner email, and parent-child relationships. Documents are downloaded to local storage with their original filename and MIME type preserved. The extract produces a structured staging dataset with foreign keys replaced by UUID references.
Resolve users by email and validate owner mapping
Rocket Matter fee earners are matched to Odoo res.users by email address. Unmatched users are flagged with the list of records they own. Your team either creates Odoo user accounts for those attorneys before migration or assigns those records to a fallback admin user. We provide the unresolved-owner report as part of the pre-flight check so no record lands in Odoo without a resolved user_id.
Run sample migration with field-level diff
A representative slice — typically 100–500 records spanning clients, matters, time entries, and documents — migrates first. We generate a field-level diff comparing source values against Odoo-loaded values so you can verify status-to-stage mapping, custom field data, owner resolution, and document attachment integrity. Any mapping errors surface here before the full run commits. The sample validation includes checks for data truncation, date format compliance, and proper relationship linkage between parent and child records.
Full migration with delta-pickup window
The full dataset loads into Odoo via XML-RPC respecting the 1 req/sec rate limit. A delta-pickup window (24–48 hours) captures any records modified or created in Rocket Matter during the cutover window so Odoo reflects Rocket Matter's final state at go-live. All operations are logged in an audit trail, and one-click rollback is available if reconciliation detects data integrity issues.
Platform deep dives
Rocket Matter
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 Rocket Matter 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
Rocket Matter: Not publicly documented in available documentation.
Data volume sensitivity
Rocket Matter 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 Rocket Matter to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Rocket Matter 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 Rocket Matter
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.