CRM migration

Migrate from Case.one to Freshsales

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

Case.one logo

Case.one

Source

Freshsales

Destination

Freshsales logo

Compatibility

90%

9 of 10

objects map 1:1 between Case.one and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Case.one is legal practice management software built for law firms handling collaborative litigation, document exchange, time tracking, and client billing. Freshsales is a sales CRM built for pipeline management, lead scoring, and sales automation. These platforms share a record-association model but diverge sharply on object semantics — Case.one uses Matters and Time Entries where Freshsales uses Opportunities and Tasks. The migration carries Case.one clients into Freshsales Contacts and Accounts, matters into either Opportunities or a custom Legal_Matter__c object depending on your use case, and time/billing data into custom fields or a separate billing module since Freshsales lacks native invoice generation. We map every standard field directly (name, email, phone), transform platform-specific fields (Case.one case_number becomes a custom field on the Freshsales Opportunity), and surface legal-specific properties as custom fields that your team can extend in Freshsales Admin Settings. Workflows, billing automation, and document management constructs in Case.one do not have equivalents in Freshsales and must be rebuilt using Freshsales Flows or Freshdesk integration post-migration.

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

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Case.one objects map to Freshsales

Each row shows how a Case.one object lands in Freshsales, 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 / Party

maps to

Freshsales

Contact + Account

1:1
Fully supported

Case.one client records map directly to Freshsales Contacts with Account association. Individual attorney contacts map to Contact records; law firm or corporate client organizations map to Account records. The client_type field in Case.one determines whether the record lands as a primary Contact under an Account or as a standalone Contact.

Case.one

Matter / Case

maps to

Freshsales

Opportunity or Legal_Matter__c (custom)

1:1
Fully supported

Case.one Matters do not map 1:1 to Freshsales Opportunities because legal matters have billing and milestone semantics that Opportunity Stage does not capture. We create a Legal_Matter__c custom object for matters that need billing history and time tracking, or map simple matters directly to Opportunities with a Matter_Type__c custom field to distinguish practice areas.

Case.one

Time Entry

maps to

Freshsales

Task + Custom Fields

1:1
Fully supported

Case.one time entries become Freshsales Tasks with custom fields: Time_Entry_Duration__c (decimal hours), Billing_Code__c (text), Billed_Status__c (checkbox), and Matter_Link__c (lookup to Legal_Matter__c or Opportunity). The original time entry date is preserved in the Task Activity Date field. Billed time entries are flagged for reference but not re-created as invoices.

Case.one

Invoice / Bill

maps to

Freshsales

Custom Object: Legal_Invoice__c

1:1
Fully supported

Case.one invoices map to a Legal_Invoice__c custom object because Freshsales has no native billing module. Each invoice record stores invoice_number, invoice_date, total_amount, balance_due, payment_status, and a lookup to the associated Contact/Account. Outstanding balances and payment history are preserved for reference; the invoice PDF URL is stored as a text field if available via Case.one export.

Case.one

Document / File

maps to

Freshsales

Salesforce Files (via Freshsales File Attachments)

1:1
Fully supported

Case.one documents attached to matters are downloaded and re-uploaded as Freshsales Files associated with the corresponding Contact, Account, or Legal_Matter__c record. Freshsales 25MB per-file limit applies; files larger than this are flagged for chunked upload or alternative storage. Inline images in notes are extracted and rehosted separately.

Case.one

Attorney / User

maps to

Freshsales

Freshsales User

1:1
Fully supported

Case.one users (attorneys, paralegals, admins) are resolved by email match against Freshsales User records. Unmatched users are flagged before migration — the team either invites them to Freshsales or assigns their Case.one records to a fallback user. Case.one role (Attorney, Paralegal, Admin) is preserved as a custom field on the Freshsales User record for reporting.

Case.one

Calendar Event / Deadline

maps to

Freshsales

Event + Custom Fields

1:1
Fully supported

Case.one calendar events and filing deadlines migrate as Freshsales Events with original start/end datetime, subject, and attendee information preserved. A custom Deadline_Type__c field distinguishes filing deadlines from internal meetings. Recurring events are expanded to individual Event records in Freshsales since the native recurring event model differs.

Case.one

Custom Field: Case Type / Practice Area

maps to

Freshsales

Custom Field on Legal_Matter__c or Opportunity

1:1
Fully supported

Case.one custom fields (practice area, case subtype, jurisdiction, court) migrate as Freshsales custom fields with identical pick-list values where possible. Freshsales field naming conventions apply — spaces become underscores, special characters are stripped (Practice_Area__c, Jurisdiction__c). Value-by-value mapping is applied for pick-list fields to ensure consistent terminology.

Case.one

Trust / Escrow Transaction

maps to

Freshsales

Custom Object: Trust_Transaction__c

1:1
Fully supported

Case.one trust account transactions do not map to any Freshsales standard object. We create a Trust_Transaction__c custom object with fields: transaction_date, transaction_type (deposit/withdrawal), amount, matter_link, running_balance. The trust accounting ledger is preserved for compliance reference but Freshsales does not enforce trust accounting rules — your team manages compliance separately.

Case.one

Lead / Referral Source

maps to

Freshsales

Lead + Custom Field

many:1
Fully supported

Case.one referral sources (client referrals, vendor referrals, marketing leads) merge into Freshsales Lead records with a Referral_Source__c custom field preserving the original source label. If the referral already exists as a Case.one Contact, it is merged into the corresponding Freshsales Contact by email match to avoid duplicate records.

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

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Billing and trust accounting have no native Freshsales home

    Case.one generates invoices, tracks trust account balances, and manages retainer deposits — all of which require separate accounting logic. Freshsales has no native billing, accounts receivable, or trust accounting module. We create Legal_Invoice__c and Trust_Transaction__c custom objects that preserve the data for reference, but Freshsales does not enforce payment terms, late fee rules, or trust accounting compliance. Your team must manage these separately post-migration or integrate with dedicated legal accounting software (Clio, CosmoLex) via Freshsales API webhooks.

  • Matters require a custom object or Opportunity split by practice area

    Case.one Matters contain practice-specific metadata (court, jurisdiction, filing deadlines, opposing counsel) that Freshsales Opportunities do not natively capture. Freshsales Opportunities are keyed by StageName and Amount, with no standard fields for court or jurisdiction. We recommend creating a Legal_Matter__c custom object that mirrors Case.one's matter schema — this avoids cramming legal metadata into Opportunity custom fields. The custom object requires Freshsales admin creation before migration data lands, adding a pre-migration schema setup step.

  • Client-to-contact association is 1:N in Case.one but N:1 in Freshsales

    Case.one allows a single client record to have relationships to multiple matters, and matters can have multiple client parties (plaintiff, defendant, co-counsel). Freshsales Contact-to-Opportunity associations use Opportunity Contact Roles, but the primary Contact-to-Account relationship is N:1 — each Contact has exactly one AccountId. Multi-party matter associations in Case.one require either Opportunity Contact Roles (for multiple contacts on one matter) or a custom matter-party junction object. We surface the association mapping plan before migration runs.

  • Document attachments exceed Freshsales file size limits for large case files

    Case.one document exports can include large files — depositions, discovery productions, exhibit packages — that exceed Freshsales' 25MB per-file attachment limit. We chunk large files into smaller batches during migration, and flag any file exceeding the limit for alternative storage (S3, SharePoint) with a URL reference stored on the related record. The document metadata (filename, upload date, uploader) is preserved regardless of file size.

  • Case.one workflow rules and automation do not transfer to Freshsales Flows

    Case.one automation handles matter milestone triggers, client communication reminders, and deadline escalation rules that have no Freshsales equivalent. Freshsales Flows are event-driven on record create/update and do not support date-based escalation logic out of the box. We export Case.one workflow definitions as a JSON reference document that your Freshsales admin can use to rebuild equivalent Flows. The automation rebuild is scoped separately from the data migration.

Migration approach

Six steps for a successful Case.one to Freshsales data migration

  1. Export Case.one data and map the schema to Freshsales objects

    We extract all Case.one records via API export — clients, matters, time entries, invoices, trust transactions, documents, calendar events, and user accounts. We build a schema map that routes each Case.one object to its Freshsales equivalent (standard object, custom object, or custom field). If Legal_Matter__c and Trust_Transaction__c custom objects are needed, we deliver a setup specification for your Freshsales admin to create before migration data lands.

  2. Resolve Case.one attorneys and users to Freshsales User records

    We match Case.one user email addresses against Freshsales User records. Unmatched users are flagged in a pre-flight report — your team either provisions Freshsales licenses for them or assigns their records to a fallback attorney user. Owner resolution must complete before matters migrate so every Opportunity has a valid OwnerId and your Freshsales reporting reflects accurate attorney assignments.

  3. Migrate clients, accounts, and contacts before matters

    Freshsales requires AccountId on Contact records and Contact associations on Opportunities. We sequence the migration so Client records map to Contacts (with Account association for organizations), then Matter records map to Opportunities or Legal_Matter__c. Time entries and trust transactions migrate after matters so the matter lookups resolve correctly without dangling references.

  4. Run a sample migration with field-level diff for validation

    A representative slice — typically 100–500 records spanning clients, matters, time entries, and invoices — migrates first. We generate a field-level diff between the Case.one export and the Freshsales destination so you can verify that practice area pick-lists, billing codes, trust transaction amounts, and matter stage mapping all resolve correctly before the full run commits.

  5. Cut over with delta-pickup window for in-flight changes

    The full migration runs against Freshsales with a delta-pickup window (24–48 hours) capturing any Case.one records modified during cutover. Documents re-upload to Freshsales Files. Trust transactions and invoices post to custom objects. An audit log captures every operation, and one-click rollback is available if reconciliation fails. After go-live, Case.one workflows must be rebuilt in Freshsales Flows using the exported definition reference.

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.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

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 Freshsales.

  • 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 Freshsales 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 Freshsales data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Case.one-to-Freshsales migrations complete in 48–72 hours of clock time for under 50,000 records (clients, matters, time entries, invoices). Larger setups with 200,000+ records, multi-party matter associations, or custom Legal_Matter__c object creation extend to 5–10 days. The longest planning step is schema setup for custom objects — Freshsales admins must create Legal_Matter__c, Trust_Transaction__c, and Legal_Invoice__c before data lands in the target environment.

Adjacent paths

Related migrations to explore

Ready when you are

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