CRM migration
Field-level mapping, validation, and rollback between MerusCase and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
MerusCase
Source
Twenty CRM
Destination
Compatibility
12 of 12
objects map 1:1 between MerusCase and Twenty CRM.
Complexity
BStandard
Timeline
3–6 weeks
Overview
MerusCase organizes law-firm data around cases, parties, and case-type-specific fields like UTBMS codes and statute references. Twenty CRM uses a generalized CRM model: People for contacts, Companies for organizations, Opportunities for deals, and Tasks or Notes for activities. FlitStack AI extracts MerusCase data via its REST API (contacts, activities, case ledgers, custom fields) and transforms it into Twenty's object structure — mapping party records to People with name fields split, firm records to Companies, case records to Opportunities or a custom Case object, and case activities to Tasks with original timestamps and assigned staff preserved. MerusCase workflows, automations, and statute-triggered reminders do not migrate; these must be rebuilt in Twenty's workflow builder. The migration runs against Twenty's CSV import API and bulk API, with a delta-pickup window capturing any in-flight records created or modified during the cutover window. The biggest migration risk is the object-model divergence: MerusCase's case-centric design has no direct equivalent in Twenty's standard CRM schema, so a custom object strategy and careful field mapping are required before data lands.
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 MerusCase object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
MerusCase
Party
Twenty CRM
People
1:1MerusCase Party records map directly to Twenty People. Each Party has first name, last name, email, phone, and firm association. We split full-name Party records into FirstName and LastName fields on Twenty People. Parties without an email receive a placeholder identifier for import validation. Primary firm association maps to the companyId relation on the People record.
MerusCase
Firm / Company
Twenty CRM
Companies
1:1MerusCase stores the law firm itself as the primary organization — this maps to Twenty Companies. Domain, address fields, industry (Legal Services), and employee count migrate as Company fields. Multi-party associations to the same firm collapse to one Company record with multiple People linked via companyId.
MerusCase
Case
Twenty CRM
Custom Object: Case
1:1MerusCase Case records have no standard equivalent in Twenty CRM. We create a custom Case object in Twenty (or map to Opportunities with a case-type field) to preserve case number, case status, jurisdiction, assigned staff, and case-type. Case records must exist before importing related Activities and Party-Case associations.
MerusCase
CaseType
Twenty CRM
Custom Field: Case.CaseType
1:1MerusCase CaseType (personal injury, workers' comp, criminal, family law) determines which specialty tabs and fields appear. We map CaseType as a select field on the custom Case object. Each case type value creates a corresponding option in Twenty's field configuration before import.
MerusCase
CaseLedger (time entries)
Twenty CRM
Custom Object: CaseLedger
1:1MerusCase CaseLedger stores billable time with task codes (UTBMS L-Codes) and expense codes (E-Codes). Twenty has no native ledger — we create a CaseLedger custom object with fields for hours, rate, amount, task_code, expense_code, and a relation to the Case object. Bill-to contact resolves to a People record.
MerusCase
Activity (calls, emails, filings)
Twenty CRM
Task
1:1MerusCase Activity records (with activity_type, description, date, contact_id, staff_id) map to Twenty Tasks. Activity type determines Task status and type field. Original activity date and assigned staff map to dueDate and assigneeId respectively. Filing-related activities preserve the activity_type value in a custom field.
MerusCase
Statute (deadline/filing triggers)
Twenty CRM
Custom Field: Case.StatuteDate
1:1MerusCase Statute records auto-generate calendar entries and filing reminders. Statute dates migrate as a date field on the custom Case object. Statute-triggered workflow reminders must be rebuilt in Twenty's workflow builder — we export the statute configuration as a reference document for your Twenty admin.
MerusCase
Document (file attachments)
Twenty CRM
Note (with file attachment)
1:1MerusCase Document Archive (per case) includes case documents and a CSV of case activities. We download document files and re-upload them as Note attachments linked to the corresponding Case record in Twenty. File size limits apply — documents over Twenty's attachment size cap are noted for manual retrieval.
MerusCase
Custom Field (firm-wide)
Twenty CRM
Custom Field (on relevant object)
1:1MerusCase supports up to 50 firm-wide custom fields (Date, Currency, Text, Numeric, Yes/No). We map each to a Twenty custom field with matching type on the relevant object (Case, People, or Companies). Text fields capped at 250 characters map to Twenty Text fields without truncation.
MerusCase
Staff / User
Twenty CRM
WorkspaceMember
1:1MerusCase staff records (name, email, role) map to Twenty WorkspaceMembers. Owner resolution uses email match — each MerusCase staff_id on activities and cases resolves to the corresponding WorkspaceMember by email. Unmatched staff are flagged before migration for manual user provisioning.
MerusCase
Workflow (automated task triggers)
Twenty CRM
Workflow (in Twenty)
1:1MerusCase Workflows trigger on Activity Tags or descriptions (e.g., statute filing reminders). Twenty's workflow builder handles automation differently — event-based triggers, field-update actions, and task creation. We export MerusCase workflow definitions as a reference JSON so your Twenty admin can rebuild them. This is not a data migration; it is a configuration-rebuild task.
MerusCase
MerusPay billing configuration
Twenty CRM
No equivalent
1:1MerusCase's MerusPay (3% credit card transaction fee, 1.3% eCheck) is a payment-processing configuration with no Twenty CRM equivalent. Payment processing must be handled by an external payment tool integrated via Twenty's API or webhook system. We preserve the MerusPay fee structure as a reference note.
| MerusCase | Twenty CRM | Compatibility | |
|---|---|---|---|
| Party | People1:1 | Fully supported | |
| Firm / Company | Companies1:1 | Fully supported | |
| Case | Custom Object: Case1:1 | Fully supported | |
| CaseType | Custom Field: Case.CaseType1:1 | Fully supported | |
| CaseLedger (time entries) | Custom Object: CaseLedger1:1 | Fully supported | |
| Activity (calls, emails, filings) | Task1:1 | Fully supported | |
| Statute (deadline/filing triggers) | Custom Field: Case.StatuteDate1:1 | Fully supported | |
| Document (file attachments) | Note (with file attachment)1:1 | Fully supported | |
| Custom Field (firm-wide) | Custom Field (on relevant object)1:1 | Fully supported | |
| Staff / User | WorkspaceMember1:1 | Fully supported | |
| Workflow (automated task triggers) | Workflow (in Twenty)1:1 | Fully supported | |
| MerusPay billing configuration | No equivalent1: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.
MerusCase gotchas
Annual subscription and data access tied together
Outbound migration is not supported by MerusCase
Document Archive exports are per-case, not bulk
Built-in CSV import tools are not easy to use
Custom Fields apply to Cases only and have a 50-field cap
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit MerusCase data volume and case-type schema
FlitStack AI connects to your MerusCase account via API read access and enumerates all record types: Party counts, Case counts by type, Activity volumes per case, and Custom Field usage. We identify which MerusCase case types map to which Twenty object structures and deliver a pre-migration data audit report. This step identifies duplicate Party records (same person across multiple cases), orphaned Activities with no case link, and custom fields that exceed Twenty's text-length constraints.
Design Twenty CRM schema: Case custom object and custom fields
Before any data moves, your Twenty admin (guided by FlitStack's schema plan) creates the Case custom object, adds all case-type-specific fields (CaseType__c select, Jurisdiction__c, StatuteDate__c, SettlementAmount__c, etc.), and configures UTBMS fields on the CaseLedger custom object. We deliver a step-by-step schema setup checklist based on your MerusCase custom field count and case type inventory. All custom fields must exist in Twenty before the import step runs.
Provision Twenty users and resolve owner assignments by email
FlitStack AI matches MerusCase staff records to Twenty WorkspaceMembers by email address. All MerusCase staff who appear as activity owners or case assignees must have a corresponding Twenty user account before the migration. We flag any MerusCase staff without a matching Twenty account and provide a CSV of unmatched owner IDs so your admin can invite or create the corresponding users. No record lands in Twenty without a resolved assignee.
Run a sample migration: Companies → People → Cases → CaseLedger → Activities
FlitStack AI executes the migration in the correct dependency order: Companies first (as the one-side of the relationship), then People with companyId lookups resolved, then Cases linked to People, then CaseLedger records linked to Cases and People, then Activities linked to Cases and People. A representative slice of 200–500 records migrates first, generating a field-level diff report so you can verify case-type mapping, UTBMS code migration, and owner resolution before the full run commits.
Full migration with delta-pickup and rollback verification
The full dataset migrates against Twenty CRM. A delta-pickup window (24–48 hours after the main run) captures any records created or modified in MerusCase during the cutover period. FlitStack AI generates an audit log of every record migrated, the field mappings applied, and any records that failed validation. One-click rollback reverts the Twenty workspace to its pre-migration state if reconciliation reveals data integrity issues. After rollback verification, the migration is considered complete and MerusCase read access is revoked.
Platform deep dives
MerusCase
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 MerusCase and Twenty CRM.
Object compatibility
2 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
MerusCase: Not publicly documented.
Data volume sensitivity
MerusCase 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 MerusCase to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your MerusCase to Twenty 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 MerusCase
Other ways to arrive at Twenty 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.