CRM migration
Field-level mapping, validation, and rollback between Basic Online CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Basic Online CRM
Source
Freshsales
Destination
Compatibility
6 of 8
objects map 1:1 between Basic Online CRM and Freshsales.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Basic Online CRM's sparse data model (Contacts, Companies, Deals, Notes) maps cleanly to Freshsales, but three structural gaps require explicit handling during migration. First, Basic Online CRM's CSV export silently truncates at approximately 5,000 rows, so large contact lists must be split across multiple exports and reassembled. Second, Deal-to-Contact associations are stored by internal numeric ID rather than name or email, requiring a dual-export cross-reference step to recreate the relationship in Freshsales by name match. Third, all custom field values export as untyped strings, so date fields in particular may appear in conflicting formats; we standardise these during the transform phase but ask customers to validate custom field type assignments before the final import. Freshsales uses a Leads module alongside Contacts, and if Basic Online CRM records include any lead-stage data, we resolve that during scoping to determine whether they land as Freshsales Leads or Contacts. We do not migrate workflows or automations; Basic Online CRM has no native automation engine, but any informal automation expectations should be documented for rebuild in Freshsales's automation builder.
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 Basic Online 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.
Basic Online CRM
Contact
Freshsales
Contact
1:1Basic Online CRM Contact records map 1:1 to Freshsales Contact. We extract name, email, phone, address, and any custom field values as strings. The Freshsales Contact record is created first so that subsequent Deal imports can resolve the Contact lookup by name or email. If Basic Online CRM records include any lead-stage designation (prospect, qualified), we map those to Freshsales Lead records during scoping based on customer input on whether the destination should use Freshsales Leads as a separate object.
Basic Online CRM
Company
Freshsales
Account
1:1Basic Online CRM Companies map to Freshsales Account. Companies are a flat list without hierarchy, so we import by name match and flag duplicates where the same company name appears multiple times in the export. Account is created before Contact import so that the AccountId lookup is satisfied at the moment of Contact insert.
Basic Online CRM
Deal
Freshsales
Deal
1:1Basic Online CRM Deals map to Freshsales Deal. Basic Online CRM exports Deals with linked Contact referenced by an internal numeric ID, not name or email. We run a dual export of Contacts and Deals, cross-reference the IDs during the mapping phase, and recreate the association in Freshsales by matching Contact name to the Contact record created in the prior import phase. If a Deal references a deleted Contact in Basic Online CRM, we flag it as an orphaned Deal for customer resolution before write-back.
Basic Online CRM
Deal Stage
Freshsales
Deal Stage
lossyBasic Online CRM's pipeline stages are simple text labels. We map each stage name to a corresponding Freshsales Deal stage. If Basic Online CRM has more than the default five stages, we configure additional stages in Freshsales before migration. Stage probability percentages are not tracked in Basic Online CRM, so we set default probabilities matching Freshsales standard stage values unless the customer specifies custom values.
Basic Online CRM
Note
Freshsales
Note / Activity Note
1:1Basic Online CRM Notes are free-text, untyped entries with no timestamp enforcement. We migrate them as Freshsales Notes linked to the parent Contact or Account record. Any timestamp that was explicitly set in Basic Online CRM is preserved; notes without timestamps are assigned the import date as a fallback. Notes are imported after parent Contact and Account records exist so that the lookup relationship is satisfied.
Basic Online CRM
Task
Freshsales
Task
1:1If the Basic Online CRM instance contains task records (simple title-and-status items with no due-date enforcement), we migrate them as Freshsales Tasks. Basic Online CRM does not surface assignee fields on tasks, so we ask the customer upfront which team member should own migrated tasks in Freshsales and apply bulk owner assignment during write-back.
Basic Online CRM
Custom Field
Freshsales
Custom Field
lossyBasic Online CRM custom fields exist but are not typed — all values export as plain strings regardless of intended type (date, number, dropdown). We migrate custom field values as-is to Freshsales custom fields, but we ask customers to confirm intended data types before Freshsales schema creation. Date fields exported in conflicting formats (e.g., Jan 15 2024 vs 15/01/2024) are flagged for manual review before the final import batch.
Basic Online CRM
User
Freshsales
User
1:1Basic Online CRM has a basic user concept but no explicit owner assignment on records. We extract every user referenced in the export and match by name or email against the Freshsales destination account's user list. Users without a matching Freshsales account go to a reconciliation queue for the customer's admin to provision before record import. We ask customers which Contact should be assigned as Owner in Freshsales for all records that lack an owner in the source.
| Basic Online CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Deal Stage | Deal Stagelossy | Fully supported | |
| Note | Note / Activity Note1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| User | User1:1 | Fully supported |
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.
Basic Online CRM gotchas
CSV export silently truncates large contact lists
Deal-Contact associations are stored by internal ID only
Custom field data types are not preserved on export
No native attachment storage means files are not migrated
User/owner structure is not explicit in exported data
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and export batch planning
We audit the Basic Online CRM instance to count Contacts, Companies, Deals, Notes, and Tasks, and identify any custom fields. If any object exceeds 5,000 records, we flag the truncation risk and request that the customer run multiple CSV exports before scoping begins. We also ask which team member should own migrated records in Freshsales and whether any records should map to Freshsales Leads rather than Contacts based on their current stage in the pipeline.
Dual export and ID cross-reference
We request simultaneous exports of Contacts and Deals from Basic Online CRM to support the ID cross-reference step. We match each Deal's contact_id against the contact list to resolve the actual Contact name, then build a Deal-to-Contact mapping table with the resolved names for Freshsales write-back. Any Deal with an unresolved or deleted Contact ID is flagged as orphaned for customer resolution.
Custom field standardisation and Freshsales schema review
We review all exported custom field values and identify format inconsistencies, particularly in date fields. We present a custom field mapping sheet to the customer for validation, confirming intended data types (date, number, text, dropdown) before Freshsales schema creation. We also detect multi-select fields and reformat comma-separated values to semicolons for Freshsales compatibility.
Test migration into Freshsales
We run a full migration into a Freshsales test account or sandbox using the live CSV exports. The customer reconciles record counts and spot-checks 20-30 records against the Basic Online CRM source. We specifically verify Deal-Contact associations, custom field values, and note content. Any mapping corrections are made before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Contacts first (with owner assignment), then Accounts, then Deals (with Contact name resolved), then Notes and Tasks. Each phase emits a row-count reconciliation report before the next phase begins. If any object required multiple CSV files due to the 5,000-row truncation, we process each file sequentially and merge before the Freshsales import batch.
Cutover, validation, and automation handoff
We freeze Basic Online CRM writes during the cutover window, run a final delta migration of any records modified during the migration period, then mark Freshsales as the system of record. We deliver a written automation inventory if the customer has informal automation expectations or is planning to use Freshsales's automation builder. We do not rebuild automations as part of the migration scope. A post-migration review call confirms record counts and flags any orphaned Deals for manual resolution.
Platform deep dives
Basic Online CRM
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Basic Online CRM and Freshsales.
Object compatibility
4 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
Basic Online CRM: Not publicly documented.
Data volume sensitivity
Basic Online 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 Basic Online CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Basic Online CRM to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Basic Online CRM
Other ways to arrive at Freshsales
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.