CRM migration

Migrate from OneHash CRM to Freshsales

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

OneHash CRM logo

OneHash CRM

Source

Freshsales

Destination

Freshsales logo

Compatibility

63%

5 of 8

objects map 1:1 between OneHash CRM and Freshsales.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from OneHash CRM to Freshsales is a migration from an ERPNext-forked platform with Indian-market pricing and limited public API documentation to a Freshworks-native CRM with Freddy AI, a documented REST API, and a USD pricing model suited to global teams. OneHash organizes business data around DocTypes (Leads, Contacts, Customers, Opportunities, Quotations, Sales Orders) inherited from ERPNext, while Freshsales uses a standard CRM object model (Leads, Contacts, Accounts, Deals, Products). We discover the live DocType schema via API introspection before export, handle the lead-conversion model that Freshsales enforces, and flag the absence of a native OneHash bulk-export endpoint as a technical constraint that shapes the migration approach. Custom fields, Item records, and Sales Order headers migrate where equivalent Freshsales objects exist; automations, workflows, and DocType-level approval rules do not migrate and are documented for the customer admin to rebuild in Freshsales.

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

OneHash CRM logo

OneHash CRM

What's pushing teams away

  • Initial complexity requires a steep learning curve — G2 reviewers note the software is 'initially complex' even if it becomes usable with practice.
  • Performance and loading issues reported on larger datasets suggest the platform does not scale as smoothly as enterprise-grade alternatives.
  • Limited documentation and unclear API specifications make custom integrations and data extraction difficult without developer involvement.
  • Businesses with purely US or European operations may find the India-market pricing structure and rupee billing cumbersome for budgeting and invoicing.
  • Some reviewers note the platform's aggressive sales outreach via Calendly and spam booking calls creates a negative first impression, driving early churn.

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

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

OneHash CRM

Lead

maps to

Freshsales

Lead

1:1
Fully supported

OneHash Leads migrate directly to Freshsales Leads. The lead status, source, and conversion log transfer as custom fields if present. Freshsales enforces the Lead model: unqualified prospects live as Leads and convert to Contact, Account, and Deal via the built-in conversion action. We preserve the original OneHash lead creation date in a custom field on the Freshsales Lead for audit trail purposes.

OneHash CRM

Contact

maps to

Freshsales

Contact

1:1
Fully supported

OneHash Contacts follow ERPNext DocType conventions with first_name, last_name, email, phone, and organization linkage. We map these to Freshsales Contacts 1:1. If a OneHash Contact has an associated Customer (organization), we resolve that relationship during the Account migration pass and attach the Contact to the corresponding Freshsales Account by email domain matching.

OneHash CRM

Customer

maps to

Freshsales

Account

1:1
Fully supported

OneHash Customer records map to Freshsales Accounts. The Customer record's billing and shipping addresses transfer to the Freshsales Account address fields. Freshsales supports multi-level account hierarchies (parent-child relationships) which OneHash does not natively expose; if the customer uses parent-company structures in OneHash via custom DocType links, we document them for manual hierarchy setup in Freshsales.

OneHash CRM

Opportunity

maps to

Freshsales

Deal

1:1
Fully supported

OneHash Opportunities track deal stages within Pipelines. We map Opportunity stage names to Freshsales Deal stages, amount fields to Amount, and party information to the linked Account or Contact. Pipeline stage ordering is preserved via a stage-sequence map applied at migration time. Closed-Lost and Closed-Won status from OneHash carry over to the equivalent Freshsales Deal status.

OneHash CRM

Quotation

maps to

Freshsales

Deal (with line items)

lossy
Fully supported

OneHash Quotations carry line items linked to Items, with tax templates and terms. Freshsales Deals can hold line items and notes but do not have a native quotation object. We migrate Quotation content as Deal notes and line items, preserving the quotation-to-opportunity linkage as a custom field linkage_map__c for reference. PDF attachments from quotations migrate as file attachments to the Deal.

OneHash CRM

Item

maps to

Freshsales

Product

1:1
Fully supported

OneHash Items include product and service definitions with pricing, stock data, and custom attributes. We map standard Item fields (name, item_code, description, standard_rate) to Freshsales Product records and create Standard Price Book entries for each item. OneHash custom Item fields require a pre-migration discovery pass to ensure the equivalent custom field exists in Freshsales before import.

OneHash CRM

Sales Order

maps to

Freshsales

Deal + Product Line Items

lossy
Fully supported

OneHash Sales Orders reference Customers and Items and carry delivery and billing status flags. Freshsales does not have a native Sales Order object. We map Sales Order headers to Deals with the order number preserved in a custom field so_order__c, and line items attach to the Deal as Product entries. Order status flags migrate as Deal custom fields. This is a partial mapping; the customer admin may need to adjust Deal layouts for order-specific workflows.

OneHash CRM

Custom Fields

maps to

Freshsales

Custom Fields

lossy
Mapping required

OneHash allows unlimited custom fields per DocType via ERPNext's Customize Form tool. These fields do not appear in standard API responses unless explicitly requested. We run a pre-migration discovery pass that introspects each DocType's custom field definitions via the API before mapping, ensuring no custom property is dropped. We then pre-create matching custom fields in Freshsales with equivalent field types before the data import phase begins.

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.

OneHash CRM logo

OneHash CRM gotchas

Medium

OneHash is a fork of ERPNext with Indian-market pricing

Medium

Annual billing is mandatory for paid plans above the free tier

High

No publicly documented API rate limits or bulk export endpoints

Medium

Custom Fields are DocType-specific and require schema discovery

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

  • OneHash has no published bulk export API

    OneHash inherits ERPNext's REST API but does not publish bulk or batch export endpoints, and API rate limits are not documented. We discover rate limits dynamically during migration by monitoring 429 responses and applying exponential backoff. For large data volumes, we recommend requesting a read-only API key with elevated limits from OneHash support before migration begins. Without elevated API access, large migrations may require chunked pagination across multiple DocTypes, which extends the timeline.

  • Freshsales converts Leads to Contact, Account, and Deal

    Freshsales enforces a distinct lead-to-contact conversion model: Leads convert to a Contact, Account (or linked to an existing Account), and Deal upon qualification. OneHash handles this more fluidly with its DocType model. We compute the split rule during scoping and apply it at migration time so that migrated Leads are created in the correct converted state if they were already qualified in OneHash, rather than arriving as unconverted Leads that require manual conversion.

  • Custom fields require schema discovery before export

    OneHash custom fields per DocType do not appear in standard API responses unless explicitly requested via the Customize Form tool. We run a discovery pass introspecting each DocType's custom field definitions before any data is exported. If a custom field has no equivalent in Freshsales, we either create the matching custom field before migration or flag it as an unmapped field requiring manual post-migration entry.

  • Date format validation in Freshsales imports

    Freshsales enforces strict date format validation during import. If the date format in the CSV or API payload does not match the instance's configured date format (set in Admin Settings > CRM Settings > Date format), the import rejects those records with an invalid date error. We normalize all date fields to ISO 8601 (YYYY-MM-DD) during the transform phase and confirm the Freshsales instance date format during scoping.

  • Sales Order and Item records lack native Freshsales equivalents

    OneHash Sales Orders and Items do not have direct Freshsales object equivalents. Sales Orders map to Deals with line items and a custom order number field, and Items map to Products. However, Freshsales Deals are not full order management records. If the customer relies on Sales Order workflows (delivery tracking, fulfillment status, multi-address shipping), those require rebuild as Freshsales Workflows or custom solutions post-migration.

Migration approach

Six steps for a successful OneHash CRM to Freshsales data migration

  1. Discovery and DocType schema introspection

    We audit the OneHash instance across every active DocType, identifying standard and custom fields, inter-DocType links (Opportunity-to-Quotation, Customer-to-Contact, Sales Order-to-Item), and the current annual billing status. We run a schema discovery pass that introspects each DocType's custom field definitions via the API before any mapping is designed. We also confirm the Freshsales instance date format, existing custom fields, and user count during this phase. The discovery output is a written scope and a DocType-to-Freshsales object mapping matrix.

  2. Freshsales schema preparation and custom field provisioning

    We pre-create any missing custom fields in Freshsales to match the discovered OneHash custom fields. This includes field type selection (text, number, date, picklist), API name assignment, and visibility configuration. We also configure any required Freshsales Record Types or Sales Processes if the customer uses multiple pipelines. Custom fields are deployed to a Freshsales sandbox or staging environment first for validation before production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Freshsales test environment using a representative data sample. The customer reconciles record counts across all migrated objects (Leads, Contacts, Accounts, Deals, Products), spot-checks 20-30 random records against the OneHash source, and validates that custom field values transferred correctly. Any mapping corrections happen in this phase. We also validate date format normalization and multi-select field handling during this pass.

  4. User reconciliation and owner provisioning

    We extract every distinct OneHash user referenced on Lead, Contact, Account, and Deal records and map them to Freshsales users by email match. Any OneHash owner without a matching Freshsales user goes to a reconciliation queue for the customer admin to provision. Migration cannot proceed past this step because OwnerId references are required on most Freshsales standard objects. We confirm the Freshsales admin has active user accounts for all migrated owners before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Products (Item records first, so Deals can reference them), Accounts (from OneHash Customers), Contacts (with AccountId resolved), Leads (with the lead qualification split applied), Deals (with AccountId, OwnerId, and product line items resolved), and custom field data. Each phase emits a row-count reconciliation report before the next phase begins. We use Freshsales bulk import where available and API-based migration for records that require lookup resolution.

  6. Cutover, validation, and workflow handoff

    We freeze OneHash writes during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver a written inventory of every active OneHash workflow, DocType approval rule, and automation with its trigger, conditions, and a recommended Freshsales Workflow equivalent. We do not rebuild these in Freshsales as part of the migration scope. We support a brief reconciliation window where the customer raises any data issues for resolution.

Platform deep dives

Context on both ends of the pair

OneHash CRM logo

OneHash CRM

Source

Strengths

  • Free starter plan for up to 2 users with chat history and inbox support, per official pricing page.
  • All-in-one bundling of CRM with ERP modules reduces tool sprawl for small and mid-sized businesses.
  • Multi-currency and multi-language support enables global operations from a single platform.
  • Workflow automation for approvals, role assignments, and repetitive tasks, per product feature documentation.
  • Strong customer support responsiveness highlighted across multiple review sources.

Weaknesses

  • Steep initial learning curve due to ERPNext-inherited complexity, cited by G2 reviewers.
  • Limited public API documentation makes programmatic data extraction difficult without reverse-engineering.
  • Performance degrades on large datasets, according to review themes around loading and lag issues.
  • Limited customization compared to true ERPNext forks; white-label and DocType customization are restricted relative to self-hosted ERPNext.
  • Aggressive outbound sales tactics, including Calendly booking spam, noted in Trustpilot reviews.
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 OneHash CRM 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

    OneHash CRM: Not publicly documented — discovered dynamically during migration.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts under 10,000 Leads and 3,000 Deals with minimal custom fields. Migrations with extensive custom DocTypes, large Item or Sales Order histories, or multiple DocType dependencies move to six to ten weeks because of the ERPNext schema discovery pass, custom field provisioning, and Freshsales bulk import validation. The OneHash API's lack of a bulk export endpoint is the primary variable that affects timeline for larger data volumes.

Adjacent paths

Related migrations to explore

Ready when you are

Move from OneHash CRM.
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