CRM migration

Migrate from Case.one to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between Case.one and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

Case.one logo

Case.one

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

100%

12 of 12

objects map 1:1 between Case.one and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Case.one structures its data around Matters (cases), Clients, Bills, Time Entries, and Documents — a legal practice-management model that predates CRM conventions. Salesforce Sales Cloud uses Accounts, Contacts, Opportunities, Cases (service-focused), Tasks, Events, and Notes with a different relationship model: Contacts belong to Accounts, Activities are polymorphic Task/Event objects, and time tracking requires custom fields or app-level solutions rather than a native object. We map Case.one Clients to Salesforce Contacts with AccountId links (using a default Account or a pre-created Legal Clients Account), Matters to Salesforce Cases for matter tracking or Opportunities for deal-cycle visibility, Bills to a custom Invoice__c object, and Time Entries to Tasks with a custom Duration__c field capturing billable hours. Documents migrate as Salesforce Files with parent-id links to the target object. What does not migrate: Case.one billing automation, matter workflows, custom legal templates, and third-party integrations — those require Salesforce-side rebuilds using Flow, Apex, or AppExchange apps post-migration. Our migration runs via Case.one REST API export followed by Salesforce Bulk API 2.0 ingestion, with a staged sequence so foreign-key dependencies resolve in the right order (Accounts → Contacts → Cases → Activities → Files). A 24–48 hour delta-pickup window captures any changes made during the final cutover before you go live in Salesforce.

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

Case.one logo

Case.one

What's pushing teams away

  • Workflow automation limitations frustrate firms with complex multi-step processes that require more flexibility than the native rules engine provides.
  • Performance degradation reported when managing large document repositories within individual matters.
  • Customer support response times are a common complaint in negative reviews, particularly for billing or technical issues.
  • Mobile application lacks feature parity with the desktop version, limiting remote access to full case details.
  • Integration ecosystem is narrower than competitors, making connectivity with niche legal tools and custom software challenging.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Case.one objects map to Salesforce Sales Cloud

Each row shows how a Case.one object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Case.one

Client

maps to

Salesforce Sales Cloud

Contact + Account

1:1
Fully supported

Case.one Clients map to Salesforce Contacts with an AccountId lookup. If the client is an individual without a company, we create a default Account record (e.g., 'Individual Clients') and link all solo contacts there. Multi-matter clients get a single Contact record with all related matters linked via the Case object's AccountId.

Case.one

Matter

maps to

Salesforce Sales Cloud

Case

1:1
Fully supported

Case.one Matters translate directly to Salesforce Cases. The Matter Number becomes Case.CaseNumber for traceability. Case.Type and Case.Reason map to matter-type and practice-area pick-lists from Case.one's schema. If your firm tracks matters as sales-cycle opportunities, we offer an Opportunity mapping instead — your admin chooses before migration.

Case.one

Matter (alternative)

maps to

Salesforce Sales Cloud

Opportunity

1:1
Fully supported

Firms that track matter revenue as a pipeline use Opportunity instead of Case. Matter name becomes Opportunity.Name; billable amount maps to Opportunity.Amount; matter stage maps to Opportunity.StageName. This requires your admin to confirm the use-case and pre-create the Opportunity record type for legal matters.

Case.one

Bill

maps to

Salesforce Sales Cloud

Invoice__c (custom object)

1:1
Fully supported

Case.one Bills have no Salesforce native equivalent. We create a custom Invoice__c object with fields for Invoice_Number__c, Invoice_Date__c, Total_Amount__c, Status__c, and a lookup to the Case (matter). Line items are stored in a custom Invoice_Line_Item__c junction object with Description__c, Hours__c, Rate__c, and Amount__c.

Case.one

Time Entry

maps to

Salesforce Sales Cloud

Task

1:1
Fully supported

Case.one Time Entries map to Salesforce Tasks with Type='Time Entry'. Custom fields Duration__c (decimal hours), Billable__c (checkbox), and Rate__c (currency) preserve billing detail. Task.Subject is constructed from the matter name + 'Time Entry' + date. OwnerId resolves via email match to the Salesforce user who logged the time.

Case.one

Document

maps to

Salesforce Sales Cloud

ContentDocument / ContentVersion

1:1
Fully supported

Case.one documents attached to matters migrate as Salesforce Files (ContentVersion + ContentDocumentLink). Each file is downloaded from Case.one and re-uploaded to Salesforce with the target Case or Contact as the parent. File size limits (25MB per file) apply; files over 25MB are flagged for manual handling or chunked upload.

Case.one

Calendar Event

maps to

Salesforce Sales Cloud

Event

1:1
Fully supported

Case.one calendar events (depositions, hearings, client meetings) migrate as Salesforce Events with original start/end times, location, and attendees preserved. Event WhoId links to the Contact; Event WhatId links to the related Case (matter). Recurring events are expanded to individual Event records.

Case.one

Custom Matter Field

maps to

Salesforce Sales Cloud

Custom Field (__c) on Case

1:1
Fully supported

Case.one custom fields on Matters (e.g., Practice_Area__c, Court_Date__c, Insurance_Claim_Number__c) are created as custom fields on the Salesforce Case object. Field type is preserved: pick-lists become global value sets, date fields become Date fields, currency fields become Currency fields. Your admin reviews and approves the custom field plan before creation.

Case.one

Staff / User

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

Case.one staff records resolve to Salesforce Users by email address match. Unmatched staff are flagged before migration — your team either creates Salesforce User accounts first or assigns their matters to a fallback owner. Inactive Case.one staff map to inactive Salesforce users; active matters are reassigned per your rule.

Case.one

Billing Automation / Matter Workflow

maps to

Salesforce Sales Cloud

No equivalent

1:1
Fully supported

Case.one billing rules, auto-invoicing workflows, and matter-phase automation do not export. These are destination-side constructs that must be rebuilt in Salesforce using Flow (for workflow automation), Apex triggers (for complex billing logic), or an AppExchange billing app post-migration. We provide an export of your Case.one workflow definitions as a rebuild reference.

Case.one

Client Contact Association

maps to

Salesforce Sales Cloud

AccountContactRelation

1:1
Fully supported

Case.one allows multiple staff contacts per matter and multiple matters per client contact. In Salesforce, the AccountContactRelation object handles multi-relationship links between a Contact and an Account. We create one AccountContactRelation per unique client-contact-to-account link, with Roles populated from Case.one's contact-role field.

Case.one

Matter Note

maps to

Salesforce Sales Cloud

Note

1:1
Fully supported

Case.one notes on matters migrate as Salesforce Notes (not the legacy Note object). The Note.Body field preserves rich-text formatting including bold, bullet points, and embedded links from the original matter note. Note.ParentId links each note to its target Case record. To maintain accurate historical reporting, the original creation timestamp from Case.one is stored in a custom Original_Create_Date__c field, since Salesforce's native CreatedDate will reflect the migration execution time rather than the source record's actual creation date.

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.

Case.one logo

Case.one gotchas

High

Trust account balance migration requires financial reconciliation

Low

Per-active-case pricing means closed matters do not count toward billing

Medium

Custom field schemas are firm-specific and require enumeration

Medium

Large document repositories may require chunked export with integrity verification

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Matter model split: Case vs. Opportunity creates schema-first decision

    Case.one has one primary record type (Matter). Salesforce has no equivalent legal-matter object — Cases are for customer support, Opportunities are for revenue cycles. Choosing the wrong Salesforce object means every report, dashboard, and automation built on that object will reflect the wrong record model. We surface this decision before migration starts: if your firm tracks matter revenue as a pipeline with stages and probabilities, Opportunity is the correct target; if matters are service-level records with status and priority, Case is correct. Your Salesforce admin must pre-create the appropriate record type and page layout before data lands, or the field-mapping plan cannot validate.

  • Bills and time entries require custom Salesforce objects — no native billing ledger

    Case.one's native Bill and Time Entry objects carry complete billing ledgers per matter: invoice numbers, line-item descriptions, hours, rates, and payment status. Salesforce Sales Cloud has no native billing object — the standard Case and Opportunity objects track work and revenue but not invoices as line-item documents. We create a custom Invoice__c object with Invoice_Line_Item__c junction records, but this is a data migration, not a billing automation replacement. Auto-invoicing rules, payment reminders, and billing approval workflows from Case.one do not transfer — they must be rebuilt in Salesforce using Flow, Apex triggers, or an AppExchange billing app such as Billing Platform.

  • Multi-contact per matter collapses to Contact Roles on the target Case

    Case.one allows multiple client contacts and multiple staff contacts on a single matter. Salesforce Cases and Opportunities use a Contact Roles mechanism (for Opportunities) or a simple ContactId lookup (for Cases) — both support only one primary contact as the direct link. We handle this by migrating the primary client contact as the Case.ContactId and creating additional contacts as Case Contact Relations or Opportunity Contact Roles. The challenge is when Case.one uses N:N client-to-matter associations that change over the matter lifecycle — those historical role changes are preserved as custom datetime-stamped records in a Case_Contact_Role__c junction object.

  • Salesforce Files 25MB per-file limit can strand large matter documents

    Case.one matter documents can include briefs, exhibits, correspondence, and discovery files of varying sizes. Salesforce Files (ContentVersion) enforce a 25MB per-file limit for uploads via API; larger files return a CONTENT_FILE_SIZE_LIMIT_EXCEEDED error. We flag every Case.one document over 25MB before migration, giving your team three options: chunk the PDF into smaller parts and upload as separate versions, store the file in Salesforce Files + an external link field (e.g., SharePoint__c), or manually upload the large file post-migration. This is not a data-loss risk — it's a process decision your admin makes before the migration runs.

  • Salesforce CreatedDate and LastModifiedDate reflect migration time, not source timestamps

    Every record inserted into Salesforce via Bulk API 2.0 receives a CreatedDate timestamp at the moment of insertion, regardless of when the record was created in Case.one. The same applies to LastModifiedDate — it reflects the migration run, not the last edit in Case.one. For reporting continuity (e.g., matters created in 2022 showing up in Salesforce as 2025 records), we create custom datetime fields Original_Create_Date__c and Original_Last_Modified_Date__c on every migrated object. Your dashboards should reference these custom fields for time-series reporting rather than the native Salesforce system fields.

Migration approach

Six steps for a successful Case.one to Salesforce Sales Cloud data migration

  1. Audit Case.one schema and matter lifecycle

    FlitStack AI exports your full Case.one schema — all matter fields, custom fields, client properties, bill structure, and time-entry schema — via the Case.one API. We compare this against the Salesforce target org's available standard fields and flag every custom field that needs a __c property. Your team confirms the Case vs. Opportunity decision for matters at this stage. We deliver a field-mapping spreadsheet and Salesforce custom-field creation plan (with field types, pick-list values, and help text) for your admin to approve before any custom fields are created.

  2. Create Salesforce custom objects and fields

    Your Salesforce admin (or FlitStack's team acting with your org credentials) creates the custom objects and fields from the approved plan: Invoice__c, Invoice_Line_Item__c, and any custom fields on Contact, Case, Task, and Event (Practice_Area__c, Duration__c, Billable__c, Rate__c, Original_Create_Date__c, Source_System_ID__c, etc.). Standard pick-list value sets are created globally so they can be reused across objects. This step runs in a Salesforce sandbox if your org has one; otherwise it runs in production with a rollback plan. No data moves until this step is complete and validated.

  3. Resolve users and contacts by email before data loads

    Salesforce requires every Contact to have an AccountId and every Case/Task/Event to have a resolved OwnerId. We match Case.one client emails to existing Salesforce Contacts, create Account records for companies, and match Case.one staff emails to Salesforce Users. Unmatched records are flagged with a resolution report: either create the missing Salesforce user/contact or assign a fallback owner/contact before the migration run commits. No record lands in Salesforce without a resolved foreign key — this prevents orphaned Cases and Tasks that would break reports.

  4. Run sample migration with field-level diff

    A representative slice migrates first — typically 200–500 records spanning clients, matters, time entries, and documents. We generate a field-level diff showing source value vs. destination value for every mapped field so your team can verify that matter numbers, client names, time-entry hours, and document links resolve correctly. The diff report is reviewed in a sandbox or read-only Salesforce view; no records are committed to production. Your team signs off before the full run proceeds.

  5. Execute full migration with delta-pickup cutover

    The full migration runs in migration-clock order: Accounts (for company names), Contacts (with AccountId links), Cases (with ContactId and OwnerId), Tasks and Events (with WhatId linking to Cases), Invoices (with Case__c links), and ContentDocuments (with ContentDocumentLinks). A 24–48 hour delta-pickup window runs after the main pass completes, capturing any Case.one records modified during the cutover window. The audit log records every insert, update, and skip. One-click rollback reverts all migrated records if reconciliation fails. Post-migration, we deliver a reconciliation report comparing record counts and key field values between Case.one export and Salesforce insert.

Platform deep dives

Context on both ends of the pair

Case.one logo

Case.one

Source

Strengths

  • Per-active-case pricing aligns cost with actual caseload rather than seat count.
  • Consolidated platform reduces switching between separate billing, document, and case tools.
  • Collaborative litigation workspace built natively into the case management flow.
  • Integrated trust accounting handles client fund tracking within the same system.
  • Free tier available for very small firms or evaluation purposes.

Weaknesses

  • Narrower third-party integration ecosystem compared to established legal CRM competitors.
  • Mobile application feature set lags behind the full desktop experience.
  • Workflow automation is less flexible than platforms with programmable rule engines.
  • Limited public documentation on API endpoints and capabilities.
  • Smaller market share means fewer third-party migration resources and community templates.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Case.one and Salesforce Sales Cloud.

  • Object compatibility

    B

    2 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

    Case.one: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Case.one to Salesforce Sales Cloud 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 Case.one to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during Case.one to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Case.one to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Case.one to Salesforce migrations complete in 48–72 hours for setups with fewer than 25,000 matter and client records. Larger setups with 100,000+ records, multiple custom matter fields, or heavy document volume extend to 7–10 days. The longest planning step is confirming the Case vs. Opportunity decision for matters and approving the Salesforce custom-field creation plan — those run before any data moves. Time-entry and billing migration adds 4–8 hours to the cutover window depending on record count.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Case.one.
Land in Salesforce Sales Cloud, 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