CRM migration

Migrate from Bilr to Freshsales

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

Bilr logo

Bilr

Source

Freshsales

Destination

Freshsales logo

Compatibility

92%

11 of 12

objects map 1:1 between Bilr and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Bilr is a legal-practice billing platform centered on clients, matters, and time/billing records. Its data model has no native CRM concept of pipelines, leads, or contact lifecycles — those concepts do not exist in Bilr's schema. Freshsales inverts that model: it is built around Leads, Contacts, Accounts, and Opportunities with a visual Kanban pipeline, Freddy AI contact scoring, and territory management across Growth, Pro, and Enterprise tiers. The migration therefore requires both a structural translation (matters → opportunities) and a conceptual reorientation (billing records → custom fields or deal line items). We extract Bilr data via its export API, map matters to Freshsales Opportunities, clients to Contacts/Accounts, and preserve billing metadata in custom fields. Workflows, automations, and trust-accounting logic have no Freshsales equivalent — those are exported as documentation for manual rebuild. Our approach runs a sample migration first with field-level diff, then executes the full load against the Freshsales REST API, respecting per-plan rate limits (1,000/hr Growth, 2,000/hr Pro, 5,000/hr Enterprise) and capturing a 24–48h delta window at 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

Bilr logo

Bilr

What's pushing teams away

  • No trust accounting capability means firms subject to IOLTA requirements must run a separate system or leave the platform entirely
  • Limited customization options for templates and workflows frustrate firms with non-standard billing arrangements or practice-area-specific needs
  • Mid-tier and Advanced pricing at $45–55 per user per month scales cost-prohibitively for larger firms evaluating against all-in-one legal practice management suites
  • Smaller ecosystem and fewer integrations compared to dominant legal platforms creates friction for firms needing calendar, document, or accounting sync

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

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

Bilr

Firm / Organization

maps to

Freshsales

Account

1:1
Fully supported

Bilr's top-level firm record maps directly to Freshsales Account. Firm name becomes Account Name; billing address maps to the Account address fields. Multi-office firms with separate addresses require either multiple Account records or the primary office as the parent Account.

Bilr

Client

maps to

Freshsales

Contact + Account

many:1
Fully supported

Bilr clients are merged into Freshsales Contact (the person) linked to an Account (the firm). The client's firm name resolves to an existing Freshsales Account record via AccountId lookup. If no matching Account exists, one is created first to satisfy the foreign key.

Bilr

Matter

maps to

Freshsales

Opportunity

1:1
Fully supported

Each Bilr matter becomes a Freshsales Opportunity. Matter number maps to a custom field (Matter_Number__c). The Opportunity Name is constructed from matter_number + client_name for uniqueness. Pipeline and StageName are set via a default pipeline-stage mapping since Bilr has no native stage concept.

Bilr

Billing Record / Invoice

maps to

Freshsales

Custom Object (Billing_Record__c) + Opportunity Amount

1:1
Fully supported

Bilr invoices have no direct Freshsales equivalent — Freshsales Opportunity stores only Amount, not line-item detail. We create a Billing_Record__c custom object linked to the Opportunity via Lookup. Invoice total populates Opportunity.Amount; individual line items become Billing_Record__c records.

Bilr

Time Entry

maps to

Freshsales

Task (Sales Activity)

1:1
Fully supported

Billable time entries migrate as Freshsales Tasks with Type = 'Custom Activity' and Subject = 'Billable Time'. Duration_in_minutes__c and billing_rate__c custom fields capture the financial data. Date of entry becomes the Task creation date. Time entries link to the parent Opportunity via the WhatId field.

Bilr

Client Note / Document

maps to

Freshsales

Task Note

1:1
Fully supported

Client-level notes and documents in Bilr become Freshsales Tasks with Subject = 'Client Note' and the note body in the Description field. Original attachment filenames are preserved. Attachments are re-uploaded to Freshsales Files and linked to the Contact or Opportunity.

Bilr

Trust Accounting Ledger

maps to

Freshsales

Custom Object (Trust_Accounting__c)

1:1
Fully supported

Bilr's trust accounting ledger has no Freshsales equivalent — Freshsales has no trust or IOLTA module. We create a Trust_Accounting__c custom object with fields for ledger_type, amount, running_balance__c, and reference_number__c. This preserves the ledger for reporting but requires manual reconciliation.

Bilr

User / Staff Member

maps to

Freshsales

User (Freshsales)

1:1
Fully supported

Bilr staff records map to Freshsales Users by email match. Unmatched staff are flagged before migration — either invited to Freshsales or assigned to a fallback user. Role and permission sets are destination-side configuration not migrated.

Bilr

Custom Field (Billing Rate, Practice Area, LEDES Code)

maps to

Freshsales

Custom Field on Contact / Opportunity

1:1
Fully supported

Bilr custom properties are mapped to Freshsales custom fields on the corresponding object. Field type is preserved (pick-list, text, number, currency). Note that Freshsales Growth plan limits custom fields to 10 — migration to Growth requires consolidation of non-essential fields.

Bilr

Sub-Matter / Nested Matter

maps to

Freshsales

Custom Object or Lookup

1:1
Fully supported

Bilr supports nested matter hierarchies. Freshsales has no native sub-opportunity structure. We handle this by creating a Sub_Matter__c custom object linked to the parent Opportunity, or by flattening hierarchy into Parent_Matter_Number__c text fields — the approach is chosen during the sample migration review.

Bilr

Attachment / Uploaded File

maps to

Freshsales

Freshsales Files

1:1
Fully supported

Bilr file attachments on matters, clients, and invoices are downloaded and re-uploaded to Freshsales Files. Files are linked to the corresponding Contact or Opportunity record. File size limits (25MB per file in Freshsales) are respected; oversized files are flagged for manual handling.

Bilr

Workflow / Automation (Bilr)

maps to

Freshsales

Not Migrated

1:1
Fully supported

Bilr's automated templates and workflow triggers have no functional equivalent in Freshsales. We export Bilr workflow definitions as a structured JSON document that the Freshsales admin uses as a rebuild reference when configuring Freshsales Workflows under Admin Settings > Workflows.

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.

Bilr logo

Bilr gotchas

High

No trust accounting support is a hard blocker for IOLTA firms

Medium

Limited workflow and template customization

Medium

Per-seat pricing model is migration-cost-sensitive

Low

Export scope discovery is required before migration

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

  • Freshsales Growth plan caps custom fields at 10 — migration will be throttled by destination plan tier

    Bilr setups with more than 10 custom properties (billing rate, practice area, responsible attorney, LEDES code, trust flags, etc.) exceed the Freshsales Growth plan limit of 10 custom fields per module. We flag every custom field and its destination object during the pre-migration audit. If the destination is on the Growth plan, we recommend upgrading to Pro before migration or consolidating non-essential Bilr fields into JSON-encoded text blobs. This is a migration-blocking decision if not resolved before data lands — Freshsales will reject records with unmapped custom field values.

  • Trust accounting has no Freshsales equivalent — ledger history must be preserved as a custom object

    Bilr's trust accounting module tracks IOLTA and client trust ledgers with running balances. Freshsales has no trust accounting, no IOLTA, and no LEDES billing code structure. We create a Trust_Accounting__c custom object with ledger_type, amount, running_balance, and reference_number fields — but Freshsales cannot run trust reconciliation natively. The ledger data migrates as read-only historical records; actual trust accounting must be handled in a dedicated legal billing system post-migration. This is a material gap for law firms that rely on trust accounting as part of their compliance workflow.

  • Matter hierarchies require a custom module — Freshsales has no sub-opportunity structure

    Bilr supports nested sub-matters where a parent matter can have child matters, each with their own billing records. Freshsales Opportunities have no native sub-opportunity or hierarchical opportunity structure. We handle this by creating a Sub_Matter__c custom object linked to the parent Opportunity via a lookup relationship. The custom object preserves the matter number, relationship type, and billing attribution. During the sample migration, we verify that the custom object and lookup field are correctly configured in the destination Freshsales portal before committing to the full load.

  • API rate limits constrain bulk migration speed — Growth plan is capped at 1,000 requests per hour

    The Freshsales REST API enforces rate limits by plan tier: 1,000 requests per hour on Growth, 2,000 on Pro, and 5,000 on Enterprise. A migration with 50,000 Bilr records can require 15,000–25,000 API calls when accounting for read, create, and update operations. We batch records into chunks, throttle requests to respect the per-hour limit, and use the 429 (Too Many Requests) response to trigger automatic back-off. For large migrations on Growth plan, a dedicated migration window with night-time batching is recommended to avoid hitting limits during business hours.

  • Bilr workflows and automation templates do not transfer — manual rebuild required

    Any automated processes, templated workflows, or billing automations configured in Bilr have no equivalent in Freshsales and cannot be migrated as data. We export the Bilr workflow definitions as a structured JSON document listing triggers, conditions, and actions. The Freshsales admin then rebuilds these in Freshsales under Admin Settings > Workflows, using the exported document as a functional specification. Freshsales Workflows support trigger-based automation (record creation, field update, stage change) and time-based delays, which cover most legal billing automation patterns — but LEDES-specific billing rules may require external tooling.

Migration approach

Six steps for a successful Bilr to Freshsales data migration

  1. Audit Bilr schema and data quality before mapping

    We connect to Bilr via read-access API and export a full schema inventory: firm records, clients, matters, billing records, time entries, trust ledger entries, notes, and attachments. We profile field fill rates, identify duplicate records, and flag any Bilr custom properties that will exceed Freshsales Growth plan custom field limits. The audit output is a Bilr-to-Freshsales field mapping document reviewed by the client before any data movement begins.

  2. Set up Freshsales destination schema

    Before loading data, we create the custom fields, pick-list values, custom objects (Billing_Record__c, Trust_Accounting__c), and lookup relationships required by the mapping plan. If the destination is on the Growth plan and the Bilr setup exceeds 10 custom fields, we recommend upgrading to Pro or consolidating fields. We also configure the default sales pipeline and stage mapping so that Bilr matter statuses route to appropriate Freshsales Opportunity stages.

  3. Run a sample migration with field-level diff

    A representative slice of 100–500 records migrates first: 10–20 clients, 20–40 matters, billing records, time entries, and a sample trust ledger. We generate a field-level diff comparing source values to Freshsales values, verified by the client. This catches mapping errors (wrong stage values, broken lookups, truncated text) before the full run commits. The sample run also calibrates API throughput against Freshsales rate limits for the chosen plan tier.

  4. Execute full migration with phased loads and delta pickup

    The full migration loads in sequence: Accounts and Contacts first (no foreign key dependencies), then Matters and related time entries, then trust accounting records, then notes and attachments. We throttle API calls to stay within Freshsales per-hour rate limits. A delta-pickup window (24–48 hours after initial load) captures any Bilr records modified during the cutover window. After delta pickup, we run a record-count reconciliation against Bilr exports and a spot-check of critical fields (matter number, invoice total, client email).

  5. Deliver audit log and go-live support

    We provide a migration audit log listing every record migrated: source Bilr ID, destination Freshsales ID, record type, and timestamp. Any records that failed migration are flagged with error codes for manual resolution. After the client validates data in Freshsales and approves the final reconciliation report, the Bilr account is placed in read-only mode and Freshsales becomes the production CRM. We remain available for 5 business days post-go-live for any data corrections identified after the cutover.

Platform deep dives

Context on both ends of the pair

Bilr logo

Bilr

Source

Strengths

  • Purpose-built for legal billing workflows with time entry, expense tracking, and invoice generation within a single platform
  • Per-user pricing from $33.99/month provides a low barrier to entry for solo practitioners and small law firms
  • Three tiers (Basic, Pro, Advanced) offer a clear upgrade path as firm size and billing complexity grow
  • 24/5 support and on-demand training included across all tiers, differentiating from platforms that charge extra for support
  • Mobile apps on iOS and Android allow attorneys to log time and review bills from outside the office

Weaknesses

  • No trust accounting or IOLTA-compliant ledger means firms with client fund requirements cannot use Bilr as their sole financial system
  • Limited workflow customization and template flexibility frustrate firms with non-standard billing arrangements or practice-area-specific needs
  • Smaller third-party integration ecosystem compared to dominant legal practice management platforms creates friction for calendar, document, and accounting sync
  • Per-seat pricing scales cost linearly, which may become expensive for larger firms with many non-billing staff who need access
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 Bilr 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

    Bilr: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Bilr-to-Freshsales migrations complete within 48–72 hours of clock time for setups under 10,000 records. Complex matter hierarchies, multi-tier trust accounting ledgers, or record volumes exceeding 100,000 extend the timeline to 7–14 days. The pre-migration audit and Freshsales schema setup add 2–3 days of planning before any data moves. Growth-plan API rate limits (1,000 requests per hour) can extend load windows for large datasets.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Bilr.
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