CRM migration
Field-level mapping, validation, and rollback between Case.one and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Case.one
Source
HubSpot
Destination
Compatibility
12 of 12
objects map 1:1 between Case.one and HubSpot.
Complexity
BStandard
Timeline
48–72 hours
Overview
Case.one organizes around matters and parties within each case, while HubSpot organizes around contacts and companies with deals as the revenue-tracking construct. The migration requires mapping Case.one's matter-centric hierarchy (cases → parties → time entries → invoices) into HubSpot's contact-company-deal model, with Case.one case types becoming deal pipelines and party roles becoming either contact properties or custom pick-list values. HubSpot has no native time-tracking or legal billing module, so Case.one time entries and invoice histories migrate as custom properties on the deal record or as a custom object linked by case reference. We preserve all original create dates, matter open dates, and billing timestamps as custom datetime fields so historical reporting continuity is maintained. Case.one workflows (matter-stage automations, conflict checks, document generation triggers) do not migrate and must be rebuilt in HubSpot using HubSpot's workflows or a legal-specific integration layer. Our migration engine uses Case.one's API to extract full matter histories, transforms the data model during load, and runs a delta-pickup window at cutover to capture any matter updates during the switch.
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 Case.one object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Case.one
Matter / Case
HubSpot
Deal + Custom Object (Matter_Reference__c)
1:1Case.one matters map to HubSpot Deals because both represent revenue-trackable entities with stages, amounts, and close dates. The matter number and case type become custom text properties. Matter open date and close date migrate as custom datetime fields for historical continuity. If the firm tracks retainer balances, those become custom currency fields on the deal.
Case.one
Party (Contact within Matter)
HubSpot
Contact
1:1Named parties from Case.one (plaintiff, defendant, opposing counsel, expert) map to HubSpot Contacts. The party role within the matter becomes a custom pick-list property (Party_Role__c) on the contact, optionally linked to the deal via a custom junction object if the same person appears in multiple roles across matters. Primary attorney assignments become the contact's OwnerId.
Case.one
Party Organization
HubSpot
Company
1:1Organizations named in Case.one matters (law firms, corporate clients, opposing parties) map to HubSpot Companies. Company domain, address, and industry are carried over directly. Multi-party organizations within a single matter collapse to the primary Company record with the contact linked via primary association.
Case.one
Time Entry
HubSpot
Custom Object (Time_Entry__c) linked to Deal
1:1HubSpot has no native time-tracking object. Case.one time entries (date, duration, attorney, billing rate, description) become a custom object linked to the Deal via a lookup field. This preserves the full time-entry history per matter without cluttering the contact record. Billing rate and amount calculate from the migrated rate fields.
Case.one
Invoice / LEDES Bill
HubSpot
Custom Object (Invoice__c) linked to Deal
1:1Case.one invoices and LEDES-formatted bills have no HubSpot equivalent. We create a custom Invoice object linked to the Deal, storing invoice number, date, amount, status (sent/paid/overdue), and the original LEDES billing code as a text field. Line items migrate as a long-text custom field for reference.
Case.one
Task / To-Do
HubSpot
Task
1:1Case.one tasks within a matter map directly to HubSpot Tasks. Original due dates, assignees, and matter linkage (via custom property) are preserved. Completed status and completion timestamps carry over. Court-deadline tasks get a custom pick-list flag (Court_Deadline__c) for prioritization.
Case.one
Note
HubSpot
Note
1:1Case.one notes on matters migrate as HubSpot Notes attached to the corresponding Deal. Rich-text formatting is preserved where possible. Original author and create date are stored in HubSpot's native note metadata. Notes from specific case milestones (deposition, settlement conference) get a custom property for categorization.
Case.one
Document / File Attachment
HubSpot
File (attached to Deal)
1:1Documents attached to Case.one matters re-upload to HubSpot Files linked to the corresponding Deal. File size limits (25MB per file in HubSpot) apply; large document sets are batched. Document names and matter context are preserved in the file description field. Version history from Case.one is not replicated in HubSpot.
Case.one
Calendar Event / Court Date
HubSpot
Event + Custom Property (Court_Date__c)
1:1Case.one calendar events map to HubSpot Events with original start/end times preserved. Court dates get a custom checkbox (Is_Court_Date__c) and court jurisdiction stored in a custom text field. Events are linked to the Deal representing that matter. Recurring court appearances require manual recreation in HubSpot's event recurrence settings.
Case.one
Custom Matter Properties (Court Jurisdiction, Billing Arrangement, Refferer Source)
HubSpot
Custom Properties on Deal
1:1Case.one custom fields per matter — such as court jurisdiction, billing arrangement (hourly/flat/contingency), referring source, and case subtype — migrate as HubSpot custom properties on the Deal. Pick-list values are mapped one-by-one to HubSpot pick-list options. Cross-field dependencies (e.g., court jurisdiction gating billing arrangement options) cannot be enforced in HubSpot without workflow rebuilding.
Case.one
User / Attorney
HubSpot
User
1:1Case.one users (attorneys, paralegals, admins) resolve to HubSpot Users by email match. If Case.one users have no email in the system, they are flagged for admin assignment. Inactive Case.one users become inactive HubSpot users to preserve historical attribution on time entries and notes.
Case.one
Billing Arrangement / Fee Structure
HubSpot
Custom Pick-list Property on Deal (Billing_Arrangement__c)
1:1Case.one billing arrangements (hourly, flat fee, contingency, pro bono) map to a HubSpot custom pick-list. Each value migrates one-to-one. If Case.one uses custom billing arrangement names, we create matching HubSpot pick-list options. Retainer balance amounts migrate as a custom currency field on the deal.
| Case.one | HubSpot | Compatibility | |
|---|---|---|---|
| Matter / Case | Deal + Custom Object (Matter_Reference__c)1:1 | Fully supported | |
| Party (Contact within Matter) | Contact1:1 | Fully supported | |
| Party Organization | Company1:1 | Fully supported | |
| Time Entry | Custom Object (Time_Entry__c) linked to Deal1:1 | Fully supported | |
| Invoice / LEDES Bill | Custom Object (Invoice__c) linked to Deal1:1 | Fully supported | |
| Task / To-Do | Task1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Document / File Attachment | File (attached to Deal)1:1 | Fully supported | |
| Calendar Event / Court Date | Event + Custom Property (Court_Date__c)1:1 | Fully supported | |
| Custom Matter Properties (Court Jurisdiction, Billing Arrangement, Refferer Source) | Custom Properties on Deal1:1 | Fully supported | |
| User / Attorney | User1:1 | Fully supported | |
| Billing Arrangement / Fee Structure | Custom Pick-list Property on Deal (Billing_Arrangement__c)1: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.
Case.one gotchas
Trust account balance migration requires financial reconciliation
Per-active-case pricing means closed matters do not count toward billing
Custom field schemas are firm-specific and require enumeration
Large document repositories may require chunked export with integrity verification
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
Audit Case.one data model and surface custom fields, billing arrangements, and document volumes
We connect to Case.one via API to enumerate all matter types, custom fields, party role structures, time-entry schemas, and invoice formats. A pre-migration audit report identifies LEDES-formatted invoices, multi-party matters with role conflicts, oversized documents, and inactive users. This report drives the HubSpot schema design: pipeline count, custom property definitions, and whether time-entry/invoice custom objects are needed. We deliver this audit before any data moves.
Design HubSpot schema: pipelines, custom properties, custom objects, and user mapping
Based on the audit, we design HubSpot pipelines (one per Case.one case type), custom properties for court jurisdiction, billing arrangement, retainer balance, and party role. If time-entry or invoice history is material, we create the Time_Entry__c and Invoice__c custom objects with lookup fields to the Deal. User resolution mapping is established by email — inactive Case.one users flagged for admin assignment. We deliver a schema design document for HubSpot admin approval before creating the schema.
Run sample migration with field-level diff across a representative matter slice
We migrate a sample set of 10–25 matters spanning different case types, party counts, and billing arrangements. The sample includes time entries, invoices, tasks, and documents. We generate a field-level diff comparing source values to destination values for every mapped field, showing nulls, truncation, and value-mapping results. You review the diff and approve field mappings before the full run commits. Unresolved party roles and document size issues surface here.
Execute full migration with delta-pickup window at cutover
The full migration runs in sequenced batches: matters first (for deal creation), then parties and companies (with owner resolution), then time entries and invoices as linked custom objects, then tasks, notes, and files. During cutover, a 24–48 hour delta-pickup window captures any Case.one records modified while the migration was running. All operations are logged in the audit trail. One-click rollback is available if reconciliation reveals data integrity issues. Documents exceeding HubSpot file limits are flagged for external storage with HubSpot links.
Platform deep dives
Case.one
Source
Strengths
Weaknesses
HubSpot
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 Case.one and HubSpot.
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
Case.one: Not publicly documented.
Data volume sensitivity
Case.one 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 Case.one to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Case.one to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Case.one
Other ways to arrive at HubSpot
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.