CRM migration

Migrate from Aderant Milana to Freshsales

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

Aderant Milana logo

Aderant Milana

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

14 of 14

objects map 1:1 between Aderant Milana and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Aderant Milana is a legal-specific docketing and matter-management platform with a case-centric data model. Freshsales is a general SMB CRM with standard Lead, Contact, Account, and Opportunity objects. The core migration challenge is that Milana's matter/case hierarchy, attorney associations, and docketing fields have no native equivalents in Freshsales — they require custom fields, user lookups, and relationship restructuring. We map Milana matters to Freshsales Accounts, case contacts to Account Contacts, and attorneys to Freshsales Users. Docketing fields (court, judge, statute, deadline type) become custom fields on the Account object. Milana's parent-child matter hierarchy maps via Freshsales' Parent Account field. Attorney-matter relationships require either a primary user assignment per matter or a custom contact-role field for non-primary attorneys. Milana workflows, document attachments, court e-filing integrations, and billing timers do not migrate — these must be rebuilt in Freshsales or handled manually post-migration. The migration runs via Milana's API pulling matters, attorneys, and contacts, then transforms and bulk-loads into Freshsales using Freshsales' REST API with batch operations. A 24–48 hour delta window captures in-flight changes during the cutover.

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

Aderant Milana logo

Aderant Milana

What's pushing teams away

  • The user interface is consistently described as unintuitive and difficult to navigate, creating a steep learning curve for attorneys and docketing staff.
  • Enterprise pricing with no public tier structure makes budget forecasting difficult and locks smaller practices out of the platform.
  • Customizations and integrations built in the on-premise CompuLaw era do not transfer cleanly to Milana's cloud environment, requiring costly reconfiguration.
  • Complex data transfer costs between legal tech integrations catch firms unprepared, adding unanticipated expenses during system migrations.
  • Support responsiveness and case resolution times frustrate users managing high-stakes deadline calendars with limited IT resources.

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 Aderant Milana objects map to Freshsales

Each row shows how a Aderant Milana 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.

Aderant Milana

Matter / Case

maps to

Freshsales

Account

1:1
Fully supported

Milana matters map directly to Freshsales Accounts. The primary responsible attorney becomes the Account Owner, while secondary attorneys are stored as Account Contacts with a custom Contact_Role__c field. Milana’s matter type (litigation, corporate, IP) is preserved as a custom pick‑list field on the Account for practice‑area reporting. The Milana matter number is kept as a custom external ID (Account_Id__c) for reference in Freshsales reports.

Aderant Milana

Parent Matter

maps to

Freshsales

Parent Account

1:1
Fully supported

Milana supports nested matter hierarchies (parent matter with sub‑matters). The hierarchy maps via Freshsales' Parent Account field on the Account object. Sub‑matters land as child Accounts linked to their parent. We validate that parent matters migrate before children to resolve foreign keys correctly.

Aderant Milana

Case Contact

maps to

Freshsales

Account Contact

1:1
Fully supported

Every contact on a Milana matter becomes an Account Contact in Freshsales. The contact's primary role on the matter (client, opposing counsel, third party) is preserved as a custom contact role field. Freshsales allows multiple contacts per Account — we map all roles, not just the primary.

Aderant Milana

Attorney / Responsible Attorney

maps to

Freshsales

User

1:1
Fully supported

Milana attorneys map to Freshsales Users by email match. Attorney bar number and firm association become custom fields on the User record. Non‑primary attorneys assigned to a matter are stored as a custom Account Contact role (Attorney) rather than the Account Owner, since Freshsales supports one owner per Account.

Aderant Milana

Internal Team Member / Staff

maps to

Freshsales

Account Contact

1:1
Fully supported

Internal staff on a matter (paralegals, billing contacts, secretaries) become Account Contacts with a custom Internal_Staff_Role__c field. The Staff role label from Milana is preserved as the field value so the firm can segment internal versus external contacts. These internal contacts are linked to the corresponding Account, allowing attorneys to view support staff involvement on a case and enabling reporting on staff hours or billing allocations across the firm.

Aderant Milana

Court Rule / Deadline Rule

maps to

Freshsales

Custom Field on Account

1:1
Fully supported

Milana's court rule definition (the specific rule that triggered a deadline) has no Freshsales equivalent — we map it as a custom text field (Court_Rule__c) on the Account. Rule text and applicable jurisdiction are preserved for reference but do not drive automation in Freshsales.

Aderant Milana

Deadline / Docket Entry

maps to

Freshsales

Custom Field on Account + Task

1:1
Fully supported

Milana deadlines and docket entries are stored as custom date fields (Deadline_Date__c, Deadline_Type__c) on the Account. Active deadlines within 90 days are also surfaced as Freshsales Tasks so attorneys see upcoming deadlines in their task list. Historical deadlines migrate as read‑only custom fields.

Aderant Milana

Docketing Information

maps to

Freshsales

Custom Field on Account

1:1
Fully supported

All remaining docketing metadata — court, judge, opposing counsel, statute of limitations, practice area — map to Freshsales custom fields on the Account object. Each Milana docketing field becomes a named custom field with the same label so attorneys recognize the data immediately.

Aderant Milana

Case Activity / Log Entry

maps to

Freshsales

Task

1:1
Fully supported

Milana case activities and log entries migrate as Freshsales Tasks. Activity type (phone call, email, filing, meeting) maps to the Task Type pick‑list, and the original activity date becomes the Task due date. Attorney assignments are preserved as task owners, and each task is linked to the relevant Account so attorneys can view the activity history. Timestamps and descriptions are transferred with original values, preserving all details.

Aderant Milana

Task / Calendar Event

maps to

Freshsales

Task / Event

1:1
Fully supported

Milana calendar events and reminders migrate as Freshsales Tasks or Events depending on duration. All‑day events and docketing reminders map to Tasks; attorney meetings map to Events with start and end times preserved. Owner is set to the responsible attorney.

Aderant Milana

Matter Note / Document Note

maps to

Freshsales

Note

1:1
Fully supported

Matter‑level notes and document annotations in Milana migrate as Freshsales Notes attached to the corresponding Account record. Notes retain the author (mapped to a Freshsales user) and original create timestamp. Rich‑text formatting is preserved as plain text if conversion is required.

Aderant Milana

Custom Matter Fields

maps to

Freshsales

Custom Field on Account

1:1
Fully supported

Any custom fields defined by the firm on Milana matter records map to Freshsales custom fields on the Account object. We preserve the Milana field label, data type, and pick‑list values. Value‑by‑value mapping is applied for pick‑list fields. Fields referencing other matters require lookup resolution to Freshsales record IDs.

Aderant Milana

Billable Product / Rate

maps to

Freshsales

Product

1:1
Fully supported

Products and billing rates tracked against a matter in Milana map to Freshsales Products with pricing. These link to the Account for reporting. We preserve unit price, billing code, and description so the firm's product catalog carries over intact.

Aderant Milana

Milana User / Login

maps to

Freshsales

User

1:1
Fully supported

Milana user accounts map to Freshsales Users by email address. If an email is not found in Freshsales, the user is flagged before migration and the firm provisions the user first or assigns their records to a fallback owner. We provide a user‑mapping report that lists Milana users and Freshsales User IDs. Permissions and profiles must be set in Freshsales after migration, as they are destination‑side configuration.

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.

Aderant Milana logo

Aderant Milana gotchas

High

CompuLaw legacy data requires pre-migration transformation

Medium

Court rules jurisdiction mapping must be validated per-matter

Medium

Document repositories require path remapping

Low

User and calendar ownership requires explicit re-assignment

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

  • Milana has no contact lifecycle stage — Freshsales requires manual segmentation setup

    Freshsales uses Contact Lifecycle Stages (Lead, Marketing Qualified, Sales Qualified, Customer, Evangelist) to route contacts through the pipeline. Milana has no equivalent lifecycle concept — contacts are tied to matters by role, not by lifecycle status. After migration, firms must define their lifecycle model in Freshsales Settings and assign stage values to migrated contacts based on their current matter involvement. FlitStack preserves the matter role as a custom field so the firm can use it to drive stage assignments post‑migration.

  • Attorney-matter relationships are many-to-many but Freshsales Accounts have one owner

    Milana allows multiple attorneys to be assigned to a single matter, and an attorney can work across many matters simultaneously. Freshsales Accounts have a single OwnerId field. We resolve the primary responsible attorney from Milana to the Account Owner. Secondary attorneys are stored as Account Contacts with a custom Contact_Role__c field set to 'Attorney'. Firms that rely on granular matter‑level attorney assignment must configure custom Account views or a custom junction object to replicate the full assignment matrix Milana supports.

  • Milana matter hierarchies require parent-before-child migration sequencing

    Milana supports nested matter structures (parent matter with sub‑matters under it). Freshsales maps hierarchy via the ParentId field on Account. Foreign‑key constraints in Freshsales require that parent Accounts exist before child Accounts can reference them. We sequence the migration so all parent matters are loaded first, then child matters are processed with their ParentId resolved. Circular references (if Milana allows a matter to be its own parent) are flagged and quarantined before the full run.

  • Freshsales API rate limits cap bulk migration throughput

    Freshsales imposes API rate limits per account that vary by plan tier. The Growth plan allows roughly 100 calls per minute, while Pro and Enterprise tiers raise that to 300 and 500 calls per minute respectively. For migrations exceeding 10,000 records, we implement batch sizing, request throttling, and exponential backoff to stay within the limits without triggering 429 Too Many Requests errors. We monitor the X‑RateLimit‑Remaining headers in each response and dynamically adjust the request pace. Large Milana datasets may require the migration to be split across multiple runs or scheduled after‑hours to avoid impacting daytime CRM usage.

  • Milana workflows, e‑filing integrations, and document templates do not migrate

    Milana's docketing workflows, automated court rule triggers, e‑filing integrations, and matter document templates are platform‑specific configurations built on Milana’s own event model. Freshsales does not have a native docketing automation model; its Workflow Builder operates on Leads, Contacts, Accounts, and Opportunities using different trigger types. We export Milana workflow definitions—including conditional branches, time‑based triggers, and email notification steps—as a structured reference document for your Freshsales admin to rebuild. Any court e‑filing integrations must be re‑established directly with the e‑filing vendor; many vendors provide REST APIs that can be connected to Freshsales via webhooks or the Freshsales Integration Builder.

Migration approach

Six steps for a successful Aderant Milana to Freshsales data migration

  1. Audit Milana schema and map legal fields to Freshsales custom field design

    We read the Milana API schema to enumerate all matter fields, custom fields, attorney records, contact roles, and matter hierarchies. We then map each Milana field to a Freshsales equivalent — standard Account fields for direct matches, custom fields (created in your Freshsales UI first) for legal‑specific data. We produce a field mapping spreadsheet for your review before any data moves.

  2. Provision Freshsales users and resolve attorney-to-user mappings

    Milana attorneys and staff are matched to Freshsales Users by email address. We run a pre‑flight check against Freshsales to identify which Milana users have matching accounts and which do not. Unmatched users are flagged — your team provisions their Freshsales accounts first, or we assign their migrated records to a designated fallback user. No data loads without a resolved owner.

  3. Migrate parent matters first, then child matters, then contacts and activities

    We sequence the migration to respect Freshsales foreign‑key constraints. Parent matters load as Accounts first, then child matters load with their ParentId resolved. We validate each child record’s parent reference before insertion, quarantining any that point to non‑existent parents. Contacts and case activities are loaded after Accounts are stable, ensuring that relationship fields can be resolved. This ordering prevents orphaned records, maintains the matter hierarchy integrity, and allows activity logs to attach to the correct Account without foreign‑key violations.

  4. Run a sample migration with field-level diff for attorney-matter roles and deadlines

    A representative slice — typically 100–500 records spanning matters, attorneys, contacts, and activities — migrates first. We generate a field‑level diff that shows each Milana field name, its migrated value, and the corresponding Freshsales custom field side‑by‑side. The diff highlights pick‑list value mismatches, missing parent references, and any truncated text. You can review the report, request field‑level adjustments, and confirm that attorney‑matter role mapping, deadline field translation, and parent‑child hierarchy resolution look correct before we commit to the full data load.

  5. Execute full migration and capture delta changes during the cutover window

    The full dataset migrates against your live Freshsales instance using the Freshsales REST API with upsert operations keyed on the external ID fields we created (e.g., Account_Id__c). During the cutover window (typically 24–48 hours), FlitStack maintains scoped read‑only API access to Milana to capture any new or modified matters, contacts, or activities after the initial export. An audit log records every record created, updated, or skipped, together with the mapping decisions and any error messages. If reconciliation discovers unexpected discrepancies, a one‑click rollback reverts the Freshsales instance to its pre‑migration snapshot, ensuring you can start over without data loss.

Platform deep dives

Context on both ends of the pair

Aderant Milana logo

Aderant Milana

Source

Strengths

  • Industry-leading court rules library covering U.S. federal and state jurisdictions with automated rule updates.
  • Cloud-hosted docketing eliminates on-premise infrastructure and provides near-five-nines uptime.
  • Integration path with Aderant Expert Financials for unified financial and practice management.
  • E-filing connectivity through American LegalNet for direct court submission workflows.
  • Rules-driven event generation reduces manual calendar entry errors across large practice groups.

Weaknesses

  • Interface design lags behind modern SaaS standards, with a steep onboarding curve for new users.
  • Pricing is opaque enterprise-only with no public tier or per-seat model, complicating procurement for mid-size firms.
  • Legacy CompuLaw customizations require significant re-engineering to function in Milana's cloud environment.
  • Limited third-party integration ecosystem compared to modern legal practice management platforms.
  • Mobile access and offline capability are restricted, creating friction for attorneys working outside the office.
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 Aderant Milana 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

    Aderant Milana: Not publicly documented — Aderant's API Terms reserve the right to enforce usage limits at their discretion, with no published numeric thresholds. Confirmed during vendor scoping..

  • Data volume sensitivity

    B

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

Estimator

Estimate your Aderant Milana 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 Aderant Milana to Freshsales data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Milana-to-Freshsales migrations complete in 48–72 hours of clock time for under 5,000 matter records. Larger setups with 50,000+ records or complex matter hierarchies extend to 5–7 days. The longest phase is mapping Milana's legal‑specific fields (court rules, attorney‑matter roles, deadlines) to Freshsales custom fields before data moves. During this phase we also validate email addresses, resolve attorney bar numbers to Freshsales Users, and verify parent matter IDs exist before loading child records. A pilot of 100–200 records is run first to confirm field alignment and adjust pick‑list values. The timeline includes a 24–48 hour delta window at the end to capture any changes made in Milana after initial export.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Aderant Milana.
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