CRM migration
Field-level mapping, validation, and rollback between OneHash CRM and Zoho CRM. We move data and schema; workflows are rebuilt natively in Zoho CRM.
OneHash CRM
Source
Zoho CRM
Destination
Compatibility
9 of 12
objects map 1:1 between OneHash CRM and Zoho CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from OneHash CRM to Zoho CRM is primarily a schema translation exercise. OneHash inherits its data model from ERPNext — DocTypes, custom field definitions, and ERPNext API conventions — while Zoho CRM uses a module-and-field architecture with a 300-field ceiling per module and a maximum of 5 lookup fields per module. We run a pre-migration discovery pass that introspects each OneHash DocType's custom field definitions via the API, counts them against the Zoho destination module's field budget, and flags any DocType that requires field consolidation or custom module creation before migration begins. Quotations carry line items and tax templates that map to Zoho Quotes; Sales Orders carry delivery and billing flags that map to Zoho Sales Orders. Both are 1:1 mappings with notes on the Item lookup resolution. We do not migrate Workflows, Sequences, automations, or reports as code; we deliver a written inventory of every active OneHash workflow for the customer's admin to rebuild in Zoho's Workflow Rules and Blueprints.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a OneHash CRM object lands in Zoho CRM, 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
Zoho CRM
Lead
1:1OneHash Leads map directly to Zoho Leads with standard field mapping for name, email, phone, source, and status. Lead conversion history from OneHash — including conversion date and the resulting Customer or Contact record reference — is preserved as a custom text field for audit. Zoho Lead Status values are mapped from OneHash's lead status options; any OneHash-specific statuses are added to the Zoho picklist during schema setup.
OneHash CRM
Customer
Zoho CRM
Account
1:1OneHash Customer records (organization-level) map to Zoho Accounts. The Customer's primary contact email and billing address carry over. We use the Account Name as the dedupe key during import. OneHash's organization-level linkage to Contacts is preserved by creating Accounts first, then resolving the AccountId lookup on Contact records during the contact import phase.
OneHash CRM
Contact
Zoho CRM
Contact
1:1OneHash Contacts follow ERPNext conventions (first_name, last_name, email, phone, organization linkage). They map 1:1 to Zoho Contacts, with the AccountId lookup resolved from the Account created from the associated OneHash Customer record. Any contact-level custom fields from OneHash DocTypes are mapped to Zoho Contact custom fields, subject to the 300-field module ceiling.
OneHash CRM
Opportunity
Zoho CRM
Deal
1:1OneHash Opportunities track deal stages within Pipelines. They map to Zoho Deals with stage names, amount, probability, and party information preserved. The pipeline stage sequence from OneHash is mapped to Zoho Stage values; if OneHash uses multiple pipelines, each becomes a Zoho Deal Pipeline with its own stage sequence. Closed-Won and Closed-Lost reasons from OneHash custom fields become Zoho custom picklist fields.
OneHash CRM
Opportunity Stage
Zoho CRM
Deal Stage
lossyOneHash pipeline stages map to Zoho Deal stages. We configure each Zoho Deal stage with probability percentages matching the OneHash stage values. If OneHash has custom probability settings per stage, these are applied to the corresponding Zoho stage during the Zoho configuration phase before migration begins.
OneHash CRM
Quotation
Zoho CRM
Quote
1:1OneHash Quotations carry line items linked to Items, with tax templates and terms. They map to Zoho Quotes. The Quotation-to-Opportunity linkage is preserved as a custom field Quote_Linked_Opportunity_ID__c on the Zoho Quote record so that the relationship is recoverable after migration even if Zoho's native opportunity-quote link requires reconfiguration. Item lookups are resolved against the Product records imported from OneHash Items.
OneHash CRM
Sales Order
Zoho CRM
Sales Order
1:1OneHash Sales Orders reference Customers and Items and carry delivery and billing status flags. They map to Zoho Sales Orders. Order item rows are mapped field-by-field; custom Item fields from OneHash are preserved as custom fields on the Zoho Products where they appear, or consolidated into a JSON-encoded custom text field if they exceed the Zoho field ceiling. Delivery and billing status flags are preserved as Zoho Sales Order custom fields.
OneHash CRM
Item
Zoho CRM
Product
1:1OneHash Items include product and service definitions with pricing, stock data, and custom attributes. They map to Zoho Products. Standard pricing migrates as Zoho's Standard Price Book entries. Any OneHash-specific Item fields (such as custom dimensions, HS codes, or industry-specific attributes) are mapped to Zoho Product custom fields, subject to the 300-field module limit. Items without a matching Zoho Product record are pre-created before the Sales Order import phase.
OneHash CRM
Employee
Zoho CRM
User
1:1OneHash Employee records (designation, department, salary structure) include org-chart relationships that map to Zoho Users. We resolve OneHash Employee email addresses against the Zoho destination User table. Any OneHash Employee without a matching Zoho User is held in a reconciliation queue for the customer's admin to provision. Salary structure and HR-specific fields do not map to Zoho CRM standard fields; they are preserved in a custom Notes field or excluded from migration scope depending on the customer's preference.
OneHash CRM
Project
Zoho CRM
Custom Module
lossyOneHash Projects carry Tasks, assignees, and time tracking. Zoho CRM does not have a native Projects module at the standard tier; Projects migrate as a Zoho custom module named Projects with a Tasks sub-module or linked custom module named Project Tasks. Open vs. completed status is preserved as a status field. Task-level comments are mapped as notes attached to the parent Project Task record.
OneHash CRM
Custom Fields (DocType-level)
Zoho CRM
Custom Fields (module-level)
lossyOneHash allows unlimited custom fields per DocType via ERPNext's Customize Form tool. We run a pre-migration discovery pass that introspects each DocType's custom field definitions. We count the custom field total per destination Zoho module and compare it against the 300-field ceiling. Any DocType that exceeds the ceiling requires a field consolidation strategy: multi-value custom fields are encoded as JSON in a single text field, or the fields are split across a linked custom module. The consolidation approach is agreed with the customer during scoping.
OneHash CRM
Attachments
Zoho CRM
Attachments
1:1Documents attached to any OneHash DocType are migrated as binary blobs. We preserve the original filename and linkage to the parent record. Zoho CRM stores attachments as ContentDocument records linked via ContentDocumentLink. Large attachments may require chunked download and upload due to API payload limits; we flag any attachment exceeding 10 MB during discovery for manual handling or alternative transfer.
| OneHash CRM | Zoho CRM | Compatibility | |
|---|---|---|---|
| Lead | Lead1:1 | Fully supported | |
| Customer | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Opportunity Stage | Deal Stagelossy | Fully supported | |
| Quotation | Quote1:1 | Fully supported | |
| Sales Order | Sales Order1:1 | Fully supported | |
| Item | Product1:1 | Fully supported | |
| Employee | User1:1 | Fully supported | |
| Project | Custom Modulelossy | Fully supported | |
| Custom Fields (DocType-level) | Custom Fields (module-level)lossy | Fully supported | |
| Attachments | Attachments1:1 | Mapping required |
Gotchas + challenges
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 gotchas
OneHash is a fork of ERPNext with Indian-market pricing
Annual billing is mandatory for paid plans above the free tier
No publicly documented API rate limits or bulk export endpoints
Custom Fields are DocType-specific and require schema discovery
Zoho CRM gotchas
API access requires Professional tier or above
Subform fields do not export cleanly via CSV
API credit consumption is non-linear
Export download links expire in 7 days
Owner (User) assignments require pre-mapped user IDs
Pair-specific challenges
Migration approach
Pre-migration discovery and DocType audit
We run a discovery pass against the OneHash instance using its REST API. We enumerate every active DocType (Leads, Contacts, Customers, Opportunities, Quotations, Sales Orders, Items, Employees, Projects), introspect custom field definitions per DocType, and count them against the Zoho destination module's 300-field ceiling. We also identify API rate limits by running a probe export of 500 records and monitoring 429 responses. The discovery output is a written scope document with the DocType inventory, custom field count per module, a flag for any module exceeding the Zoho field ceiling, and a recommendation for whether to request elevated API access from OneHash support.
Schema design and Zoho configuration
We design the destination Zoho CRM schema based on the discovery output. This includes creating any required custom modules for Projects and custom field consolidation, configuring Deal stages and Pipelines to match OneHash pipeline structures, setting up Quote and Sales Order modules if not present in the destination edition, adding custom picklist values to match OneHash status options, and creating custom fields for preserved linkage IDs (quotation-to-opportunity, custom field consolidation JSON fields). Schema is configured in a Zoho Sandbox or staging org first for validation before production migration begins.
Data export, transformation, and field mapping
We extract data from OneHash via the ERPNext REST API, organizing records by DocType. Each export is transformed to CSV aligned with Zoho's import format, with field-level mapping applied per the discovery phase mapping spreadsheet. Multi-select and checkbox fields from OneHash are converted to Zoho's multi-select picklist format. Date formats are standardized to YYYY-MM-DD. Custom field values that cannot map directly to Zoho fields are encoded into JSON in a custom text field or held for the consolidation strategy agreed with the customer. The transformation output is a set of CSVs ready for Zoho bulk import.
Test migration and reconciliation
We run a full migration into the Zoho destination org using production-like data volume. The customer's admin reviews record counts across all modules, spot-checks 25-50 records per module against the OneHash source, and confirms that Deal stage assignments, custom field values, and Opportunity-to-Quote linkage are correct. Any field mapping corrections, custom field creation, or picklist value additions happen in this phase. The customer signs off on the test migration before the production date is scheduled.
Production migration in dependency order
We run production migration in dependency order: Users (manually provisioned, validated), Accounts (from OneHash Customers), Contacts (with AccountId resolved), Leads, Products (from OneHash Items with Price Book entries), Deals (with Pipeline and stage resolved), Quotes (with Opportunity linkage preserved), Sales Orders (with Product lookups resolved), then attachments. Each phase emits a row-count reconciliation report. Custom fields and custom modules are imported after their parent standard records to satisfy lookup dependencies.
Cutover, validation, and workflow inventory handoff
We freeze OneHash writes during cutover, run a final delta migration of records modified during the migration window, then enable Zoho CRM as the system of record. We deliver a written inventory of every active OneHash workflow, automation, and DocType configuration that requires rebuild in Zoho Workflow Rules, Blueprints, or custom modules. This document is handed off to the customer's Zoho admin. We do not rebuild automations as Zoho workflows or Blueprints as part of the migration scope; that is a separate engagement or internal admin task. We support a one-week post-cutover window for reconciliation issues raised by the customer's team.
Platform deep dives
OneHash CRM
Source
Strengths
Weaknesses
Zoho CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across OneHash CRM and Zoho CRM.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
OneHash CRM: Not publicly documented — discovered dynamically during migration.
Data volume sensitivity
OneHash CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during OneHash CRM to Zoho CRM migration scoping. Not seeing yours? Book a call.
Walk through your OneHash CRM to Zoho CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave OneHash CRM
Other ways to arrive at Zoho CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.