CRM migration

Migrate from Criminal Case Management to Freshsales

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

Criminal Case Management logo

Criminal Case Management

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

13 of 13

objects map 1:1 between Criminal Case Management and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Criminal Case Management systems store legal-vertical data — cases, parties in multiple roles, evidence, hearings, sentencing, and billing — that has no native equivalent in Freshsales's B2B sales CRM. FlitStack AI maps Cases to Freshsales Deals, multi-party relationships (defendant, plaintiff, attorney, witness) to Contacts with custom role fields, and legal metadata (court name, judge, statute, filing date) to custom fields on the Deal. Attorney-to-case links migrate as Deal Contact Roles or a custom junction object when parties span multiple roles. Evidence and documents re-upload to Freshsales Files with per-file and per-user storage limits. We sequence the migration so foreign keys resolve in the right order — Contacts and Accounts first, then Cases as Deals, then secondary objects — and run a delta pickup window to capture in-flight records during cutover. Workflows, court-triggered automations, and billing rules do not migrate; we export them as rebuild references for your Freshsales admin to reconstruct in Freshsales's workflow engine.

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

Criminal Case Management logo

Criminal Case Management

What's pushing teams away

  • Firms growing beyond 10-15 users report that CaseFleet lacks the multi-office, multi-user permission controls and advanced reporting that comparable platforms provide.
  • Support response times frustrate users when critical deadlines approach, and the knowledge base does not cover edge-case workflows in depth.
  • Annual contract billing catches firms off guard when they attempt to cancel mid-year, with prorated refunds processed slowly or inconsistently.
  • Firms needing native accounting, trust accounting, or client billing features find CaseFleet requires third-party integrations that add cost and complexity.
  • Lawyers expecting API access for custom integrations discover CaseFleet exposes limited or undocumented endpoints, blocking automation workflows.

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 Criminal Case Management objects map to Freshsales

Each row shows how a Criminal Case Management 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.

Criminal Case Management

Case / Matter

maps to

Freshsales

Deal

1:1
Fully supported

Cases map directly to Freshsales Deals. The case number migrates as Deal_Name or a custom text field (Case_Number__c). Pipeline and stage in Freshsales represent the legal case status, though pick-list values require custom mapping from the source status taxonomy. We also preserve the original case type in a custom field for reporting continuity.

Criminal Case Management

Defendant / Respondent

maps to

Freshsales

Contact

1:1
Fully supported

Defendants map to Freshsales Contacts. The contact record holds name, date of birth, address, and phone. If the defendant is also a client in a separate intake pipeline, the same Contact record serves both contexts. We retain the original defendant ID in a custom field (Defendant_ID__c) for audit traceability and to support future integrations with court record systems.

Criminal Case Management

Plaintiff / Complainant

maps to

Freshsales

Contact

1:1
Fully supported

Plaintiffs and complainants map to Freshsales Contacts using the same object as defendants. A custom role field (Party_Type__c) distinguishes between defendant, plaintiff, and co-counsel on the same case. We also store the original plaintiff identifier (Plaintiff_ID__c) as a custom field to maintain reference integrity and enable downstream reporting on complainant demographics.

Criminal Case Management

Attorney / Counsel

maps to

Freshsales

Contact

1:1
Fully supported

Defense attorneys and prosecutors map to Contacts. If attorneys are internal staff, they map to Freshsales Users; if external, they map to Contacts with a custom field for Bar_Number__c and a link to the relevant case. The internal vs. external classification determines the user lookup or contact role, ensuring attorney case assignments are visible in Freshsales reporting views.

Criminal Case Management

Witness

maps to

Freshsales

Contact

1:1
Fully supported

Witnesses map to Contacts with a custom Witness_Details__c field capturing testimony summary and credibility notes. Witnesses that are also clients appear as the same Contact record with a dual role field. We also preserve the original witness identifier (Witness_ID__c) in a custom field to support future linkage to court testimony databases and maintain audit trails.

Criminal Case Management

Bond / Bail Record

maps to

Freshsales

Custom Object: Bond_Details__c

1:1
Fully supported

Freshsales has no native bond or bail object. We create a Bond_Details__c custom object (Enterprise plan required) linked to the Deal, storing bond amount, type, posting date, and status. The Bond_Details__c object also includes fields for the bondsman contact reference and the court jurisdiction, enabling automated alerts when bond conditions change.

Criminal Case Management

Hearing / Court Date

maps to

Freshsales

Event (Appointment)

1:1
Fully supported

Court hearings map to Freshsales Events with Subject set to the case name + hearing type, Start_Time set to the scheduled court date, and description capturing courtroom number and presiding judge. Recurring hearings generate multiple Event records. We also preserve the original hearing identifier (Hearing_ID__c) as a custom field for reference and to support integration with court calendar feeds.

Criminal Case Management

Evidence / Exhibit

maps to

Freshsales

Custom Object: Evidence__c

1:1
Fully supported

Evidence records require a custom Evidence__c object linked to the Deal. Fields include evidence description, item number, custody chain, and a file attachment. Chain-of-custody notes migrate as a long-text custom field. We also map the evidence type (e.g., physical, digital, testimonial) to a custom pick-list and preserve the original evidence ID for traceability to law enforcement records.

Criminal Case Management

Sentencing Record

maps to

Freshsales

Custom Object: Sentencing__c

1:1
Fully supported

Sentencing details (sentence type, incarceration dates, probation terms, fines) migrate to a Sentencing__c custom object linked to the Deal. Consecutive vs concurrent terms require a custom pick-list value. We also store the sentencing judge name and court jurisdiction as custom fields, enabling reporting on judge-specific sentencing patterns and jurisdictional compliance.

Criminal Case Management

Probation / Parole Record

maps to

Freshsales

Custom Object: Probation__c

1:1
Fully supported

Probation officer name, start and end dates, conditions, and violation history map to a Probation__c custom object. The supervising officer migrates as a Contact with role 'Probation Officer' linked to the case. We also capture the original probation case number (Probation_Case_ID__c) for reference and to support integration with state probation department portals.

Criminal Case Management

Case Document / Filing

maps to

Freshsales

File / Attachment

1:1
Fully supported

Court filings, motions, and case documents migrate as Freshsales Files attached to the Deal record. Files exceeding 25MB are flagged for chunking or external storage — we note each oversized file in the migration report. We also generate a file manifest with source URLs, file sizes, and recommended storage actions to assist your team in managing the document migration process.

Criminal Case Management

Warrant

maps to

Freshsales

Custom Object: Warrant__c

1:1
Fully supported

Warrant records (issue date, status, served date, court) migrate as a Warrant__c custom object linked to the Contact record of the named individual. Warrant status (active, executed, recalled) maps to a custom pick-list. We also preserve the original warrant number (Warrant_Number__c) as a custom field for audit continuity and to enable integration with law enforcement warrant databases.

Criminal Case Management

Legal Billing / Fee Record

maps to

Freshsales

Custom Fields on Deal or Product Object

1:1
Fully supported

Freshsales has no native legal billing. Fee records map to custom currency fields on the Deal (e.g., Hourly_Rate__c, Total_Fees_Billed__c, Trust_Balance__c) or to the Products catalog for itemized billing lines. We also recommend setting up a Products-based billing module for recurring retainers and creating custom currency fields for trust account reconciliations to meet legal accounting standards.

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.

Criminal Case Management logo

Criminal Case Management gotchas

High

Limited export options for bulk data extraction

Medium

Annual subscription billing with prorated cancellation

Medium

Custom field schemas vary by account and plan

Medium

Document blob extraction may require manual intervention

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

  • Legal case status has no native Freshsales pipeline equivalent — workflow triggers require manual rebuild

    Criminal Case Management systems use domain-specific status values (arraignment scheduled, pre-trial conference held, sentencing imposed, probation violated) that have no one-to-one mapping in Freshsales pipeline stages. Freshsales stages are sales-cycle-oriented (Appointment Scheduled, Presentation, Proposal Sent) and cannot natively represent court-triggered status transitions. We map each source status value to a Freshsales stage per pipeline, but the underlying workflow triggers — auto-advancing a case when a court date passes, or flagging a warrant when a bond is revoked — do not exist in Freshsales. Your Freshsales admin must rebuild these as Freshsales workflow rules using date-based conditions and field-update actions. We provide an export of the source workflow logic as a rebuild reference. This is pair-level: other CRM migrations don't need legal status mapping at all.

  • Multi-party case structures (defendant + attorney + witness on one case) require Freshsales custom junction objects or Contact Roles

    Criminal Case Management systems store N:1 relationships between cases and parties — a single case can have multiple defendants, multiple attorneys (defense and prosecution), witnesses, and victims, each with their own role. Freshsales Deals have a primary Contact and an optional Contact Roles feature that supports a small set of predefined roles. When a case has more than three associated parties or roles that don't fit the Contact Roles pick-list (e.g., co-defendant, expert witness, bail bondsman), we create a custom Case_Party__c junction object linking Contact to Deal with a Role__c pick-list. This is pair-level: CRM-to-CRM migrations typically map 1:1 Contact-to-Deal relationships, but legal cases are inherently multi-party and require this additional junction logic in Freshsales.

  • Freshsales file storage limits will break migration of large evidence and court filing packages

    Freshsales enforces per-file size limits: 25MB per file on Growth and Pro plans, 100MB per file on Enterprise. Criminal case management systems commonly store large evidence files — police reports, forensic images, body camera footage, and multi-page docket PDFs — that routinely exceed these limits. We flag every file over the destination plan's limit in the pre-migration audit. For files between 25MB and 100MB, migration requires an Enterprise plan upgrade or re-hosting the file externally with a link stored in Freshsales. Files over 100MB cannot be stored in Freshsales Files and require an external document management reference. This is pair-level: standard CRM record attachments are typically under 10MB.

  • Custom objects for Evidence, Sentencing, and Probation require a Freshsales Enterprise plan upgrade

    Freshsales custom objects — Evidence__c, Sentencing__c, Bond_Details__c — are only available on the Enterprise plan (starting at $59/user/month). Criminal case management migrations typically require three to five custom objects to represent legal-specific data that has no native Freshsales equivalent. Teams on Growth ($9/user/mo) or Pro ($39/user/mo) plans must upgrade to Enterprise before these custom objects can be created via the Freshsales Settings → Objects UI or API. We document the required custom objects in the migration plan and flag plan-level requirements before the data migration step begins.

  • Legal billing and trust accounting fields have no native Freshsales equivalent — fee data requires custom fields or Products

    Criminal Case Management systems frequently include legal billing components: hourly attorney fees, court costs, expert witness fees, and trust account balances. Freshsales has no native billing or accounting module — it offers a Product catalog for one-time and recurring charges, but not time-tracking, trust accounting, or client ledger functionality. We map fee records to custom currency fields on the Deal (Total_Fees_Billed__c, Court_Costs__c, Trust_Balance__c) or to the Products object for itemized billing. Firms requiring full legal accounting capabilities should plan to run Freshsales alongside a dedicated legal billing tool such as CosmoLex or Clio Manage.

Migration approach

Six steps for a successful Criminal Case Management to Freshsales data migration

  1. Audit source schema and legal object inventory

    FlitStack AI reads the full Criminal Case Management object and field inventory via API — including all custom fields on Case, Contact, Hearing, Evidence, Sentencing, and Bond objects. We capture field data types, pick-list values, required-field constraints, and any conditional field logic. We also identify files exceeding Freshsales storage limits, multi-party case structures requiring junction objects, and records with missing required fields that need default-value fallbacks before migration.

  2. Plan Freshsales schema and custom objects

    Based on the source audit, FlitStack AI generates a Freshsales schema setup plan: custom objects to create (Evidence__c, Sentencing__c, Bond_Details__c, Case_Party__c), custom fields to add to Deal and Contact, pipeline stage mapping for legal status values, and Contact Role pick-list values. If Enterprise plan is required for custom objects, we flag that in the plan. Your Freshsales admin (or our team) creates the schema before data migration begins so target fields are ready for validation.

  3. Migrate Contacts, then Cases as Deals, then secondary legal objects

    We sequence the migration to respect Freshsales foreign-key constraints: Contacts and Accounts load first, then Cases migrate as Deals with owner_id resolved by email match against Freshsales Users. Secondary legal objects (Evidence, Sentencing, Bond Details) load next with their lookup relationships to Deals. Events (Hearings) migrate last, linked to the correct Deal by case number. Each object batch is validated independently before the next begins.

  4. Run sample migration with field-level diff

    A representative sample — typically 100–300 records spanning contacts, cases, hearings, and evidence — migrates first. We generate a field-level diff comparing source values to destination field values for every mapped field. You verify that case status → pipeline stage mapping, party role → Party_Role__c mapping, and court name preservation are correct before the full run commits. File-size issues are surfaced in the sample audit report.

  5. Execute full migration with delta-pickup and rollback plan

    The full migration runs against Freshsales with all objects in sequence. A delta-pickup window (24–48 hours) captures any cases, contacts, or hearings created or modified in the source system during the cutover. FlitStack AI generates a migration audit log covering every record created, updated, or skipped, with reason codes for any skipped records. One-click rollback is available if reconciliation fails — the audit log documents the rollback boundary.

Platform deep dives

Context on both ends of the pair

Criminal Case Management logo

Criminal Case Management

Source

Strengths

  • Visual chronological timeline builder reconstructs case facts in a single view for litigation narrative planning.
  • Matter-centric architecture keeps all case data grouped under one container without manual cross-referencing.
  • Built-in evidence library with tagging keeps documents organized and linked to specific case events.
  • Time tracking integrated with case tasks captures billable activity without switching applications.
  • Task management with deadline calendars alerts attorneys to court dates and filing deadlines.

Weaknesses

  • API access is limited or undocumented, blocking custom integrations and automated data pipelines.
  • Annual contract billing with opaque cancellation terms creates friction for firms evaluating alternatives.
  • Multi-user permission controls are basic, making CaseFleet unsuitable for larger firms with role-based access requirements.
  • Reporting and analytics are limited compared to full-practice-management platforms.
  • Limited third-party integrations require firms to maintain separate accounting or communication tools.
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 Criminal Case Management 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

    Criminal Case Management: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Criminal Case Management 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 Criminal Case Management to Freshsales data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Migration times vary: for up to 5,000 case records, expect 48–72 hours. Larger datasets with more than 50,000 records or complex multi-party structures requiring custom objects (Evidence, Sentencing, Bond Details) extend the timeline to 5–10 days. The longest planning step is schema setup — creating the custom objects and fields that legal-specific data requires in Freshsales before validation runs. We also recommend scheduling a post-migration review to confirm data integrity and user training needs.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Criminal Case Management.
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