CRM migration
Field-level mapping, validation, and rollback between Dubsado and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Dubsado
Source
Freshsales
Destination
Compatibility
8 of 10
objects map 1:1 between Dubsado and Freshsales.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Dubsado to Freshsales is a platform-model migration. Dubsado organizes data around Projects and Clients with no Deals, Pipelines, or Leads; Freshsales uses the standard CRM triad of Contacts, Accounts, and Deals with a separate Lead object for unqualified prospects. We resolve that structural gap by mapping Dubsado's Project status history to Freshsales custom fields on Contact, mapping active client Projects to Deals with the Dubsado project title as deal name, and mapping completed Projects to historical records. Invoices and Contracts migrate as custom field data attached to the Contact record since Freshsales has no native Project or Contract object. Dubsado's Workflows (Premier tier) cannot be exported and do not migrate; we deliver a written Workflow Audit Template for manual rebuild in Freshsales. Email history lives in the connected IMAP/SMTP account, not in Dubsado's database, so customers must export from their email provider separately.
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 Dubsado 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.
Dubsado
Client
Freshsales
Contact
1:1Dubsado Clients map directly to Freshsales Contacts. First Name, Last Name, Email, Phone, Company, Address, and Internal Notes migrate as standard Contact fields. Dubsado Custom Fields on Clients map to Freshsales custom contact fields; dropdown options from Dubsado map to Freshsales picklist values. Email is the primary dedupe key. The migration requires the Contact to be created first since most other Dubsado objects (Projects, Invoices, Contracts) link back to the Client as a parent.
Dubsado
Project
Freshsales
Deal (or custom Project object)
1:1Dubsado Projects are the central data container with no direct Freshsales equivalent. Active Dubsado Projects with a status of Active or In Progress map to Freshsales Deals with the project title as Deal Name and the project status preserved in a custom field project_status__c. Completed and Archived Projects map to historical Deal records with a Closed status. If the customer needs to preserve full project context, we create a custom Project object in Freshsales with a lookup to Contact. Dubsado project creation dates and last-modified timestamps migrate as custom date fields for historical reference.
Dubsado
Project
Freshsales
Account
1:manyDubsado Clients without a separate Company field link their company name to the Client record itself. If a Dubsado Client has a populated Company field, we create a Freshsales Account for that company and link the Contact to it via the Account Lookup. Multiple Dubsado Clients that share the same Company name are consolidated into a single Freshsales Account with multiple Contacts. This is a common scenario for agencies managing multiple contacts within the same client organization.
Dubsado
Invoice
Freshsales
Custom Object: Invoice (lookup to Contact)
1:1Dubsado Invoices have no direct Freshsales equivalent. We create a custom Invoice object in Freshsales with fields for Invoice ID, Amount, Status (paid/unpaid/partial), Due Date, and line items (via a custom Line Item child object or a multi-line text field). The Invoice links to the parent Contact via a Lookup relationship. Payment records and Dubsado Payments transaction IDs are preserved in a custom text field. Recurring invoice schedules migrate as metadata notes. Note that Freshsales does not process payments natively; customers should plan for a Stripe or FreshBooks integration post-migration for ongoing invoicing.
Dubsado
Contract
Freshsales
Custom Object: Contract (lookup to Contact)
1:1Dubsado Contracts store templates and executed agreements with signature data and timestamps. We create a custom Contract object in Freshsales with fields for Contract ID, Status (draft/sent/signed/expired), Related Contact, Signature Date, and a link to the contract PDF stored as a file attachment. The actual contract PDF migrates as a ContentDocument attached to the Contract record. Note that Freshsales does not have native e-signature; customers using Dubsado's built-in signature feature should plan for a DocuSign or HelloSign integration in Freshsales.
Dubsado
Proposal
Freshsales
Note (linked to Contact)
1:1Public Proposals are a Premier-tier feature in Dubsado. Proposal status and linked Client/Project data migrate as a Freshsales Note with a custom note type field set to Proposal. The proposal content body requires separate export from Dubsado (a PDF or HTML export per proposal) and attaches to the Note as a file. Proposals sent but not yet converted migrate as draft notes for the customer's sales team to follow up on manually.
Dubsado
Custom Field (Client/Project)
Freshsales
Custom Field (Contact/Deal)
lossyDubsado Custom Fields on Clients and Projects migrate as Freshsales custom fields. We extract the field type from Dubsado (text, number, date, dropdown, checkbox) and map to the equivalent Freshsales field type. Dropdown options require validation against Freshsales picklist limits. Dubsado's custom mapped fields use smart field syntax ({{client.name}}) which does not transfer; these are documented as merge field reference notes for the customer's admin to rebuild in Freshsales templates.
Dubsado
Task
Freshsales
Task
1:1Dubsado Tasks within Projects migrate to Freshsales Tasks linked to the parent Contact or Deal. Task assignees, due dates, completion status, and creation timestamps migrate directly. Full task history including completion timestamps is preserved. Note that Freshsales Tasks do not have the same project hierarchy context as Dubsado; we document the original Dubsado Project ID in a custom field task_source_project__c for audit purposes.
Dubsado
Workflow
Freshsales
Workflow (documented for rebuild)
1:1Dubsado Workflows cannot be exported via any native tool or documented API endpoint. This is not a technical limitation we can work around; the automation data does not exist in an exportable format. We do not migrate Workflows. We provide a Workflow Audit Template that maps every trigger, condition, and action sequence for the customer's admin to rebuild in Freshsales' workflow builder. Customers on Premier tier should expect to spend 1-3 days documenting their workflows before migration begins.
Dubsado
User/Team Member
Freshsales
User
1:1Dubsado User accounts (Owner, Manager, Team Member roles) map to Freshsales User records by email match. The Dubsado role maps to a Freshsales custom role field since Freshsales roles are defined per workspace. Users without a matching Freshsales User go to a reconciliation queue for the customer's admin to provision. Active and inactive status migrates directly.
| Dubsado | Freshsales | Compatibility | |
|---|---|---|---|
| Client | Contact1:1 | Fully supported | |
| Project | Deal (or custom Project object)1:1 | Fully supported | |
| Project | Account1:many | Fully supported | |
| Invoice | Custom Object: Invoice (lookup to Contact)1:1 | Fully supported | |
| Contract | Custom Object: Contract (lookup to Contact)1:1 | Fully supported | |
| Proposal | Note (linked to Contact)1:1 | Fully supported | |
| Custom Field (Client/Project) | Custom Field (Contact/Deal)lossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Workflow | Workflow (documented for rebuild)1:1 | Fully supported | |
| User/Team Member | 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.
Dubsado gotchas
No native API export for workflows blocks automation migration
CSV export scope requires per-status pagination
Inbox email history lives outside Dubsado
Free tier limited to 3 clients blocks full migration testing
Premier-tier features gate proposal and scheduler 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 Dubsado export preparation
We audit the source Dubsado account across plan tier (Free/Starter/Premier), client count, project count and status types, active invoices and contracts, Premier-tier usage (Proposals, Workflows, Scheduler), and custom field definitions. We prepare the per-status CSV export instructions and a Workflow Audit Template for the customer to complete before migration begins. We confirm the email provider and IMAP/SMTP configuration so that email history export is planned separately. The discovery output is a written migration scope document covering every object type, estimated record counts, and any tier-gated data that requires customer confirmation.
Freshsales schema design and custom object creation
We design the destination Freshsales schema before any data moves. This includes creating custom Invoice and Contract objects (with the required fields and lookup relationships to Contact), creating custom fields on Contact and Deal for Dubsado Project metadata (project_status__c, project_id__c, original_project_name__c), and mapping Dubsado custom field definitions to Freshsales field types. We also configure the Freshsales pipeline and default deal stages. Schema design happens in the customer's Freshsales sandbox or a parallel trial account first for validation.
Data quality assessment and Dubsado CSV export sequencing
We run the Dubsado CSV export across every project status, deduplicate the resulting files, and assess data quality. Common issues include duplicate clients (created by multiple project imports), incomplete custom field values, and missing email addresses (required for Freshsales Contact creation). We produce a data quality report with row counts per status, duplicate candidates, and records missing required fields. The customer resolves data quality issues in Dubsado before the production migration window.
Contact migration with dedupe and Account linkage
We run the production migration starting with Contacts (from Dubsado Clients). Email is the dedupe key. For each Contact, we check whether the Company field is populated; if so, we create a Freshsales Account first and link the Contact via the Account Lookup. Dubsado custom fields on Clients migrate as Freshsales custom contact fields with type alignment. Once Contacts are in and reconciled (row counts match), we proceed to Deals.
Deal migration and Project status mapping
We map Dubsado Projects to Freshsales Deals using the project title as Deal Name, project status mapped to a deal stage (Active/In Progress maps to the open stage; Completed maps to Closed Won; Archived maps to Closed Lost), and the original project ID preserved in a custom field. Custom fields from Dubsado Projects migrate as custom fields on the Freshsales Deal. We resolve the Contact Lookup on each Deal using the Dubsado Client-to-Contact mapping from the previous step.
Custom object migration and attachment processing
We migrate Invoice and Contract custom objects with their full field sets, then attach PDF documents (contract PDFs, proposal exports) as ContentDocuments linked to the parent records. Tasks migrate as Freshsales Tasks linked to the parent Contact or Deal. The Workflow Audit Template is delivered at this step as a structured spreadsheet for the customer's admin to complete. We do not migrate Dubsado Workflows or email history; these are documented gaps in the migration checklist.
Delta pass, cutover, and workflow handoff
We run a final delta migration of any records modified during the migration window (typically same-day changes to client records or project statuses), then enable Freshsales as the system of record. We deliver the Workflow Audit Template and a Migration Summary Report showing record counts, object mapping decisions, and any unmigrated data with the reason why. We do not rebuild Dubsado Workflows in Freshsales; that work is handled by the customer's admin using the audit template and Freshsales' workflow builder. We offer a one-week hypercare window for reconciliation issues raised during initial Freshsales use.
Platform deep dives
Dubsado
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Dubsado and Freshsales.
Object compatibility
2 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
Dubsado: Not publicly documented.
Data volume sensitivity
Dubsado 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 Dubsado to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Dubsado 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 Dubsado
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.