CRM migration
Field-level mapping, validation, and rollback between Dubsado and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Dubsado
Source
Nutshell
Destination
Compatibility
7 of 10
objects map 1:1 between Dubsado and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Dubsado to Nutshell requires a model translation, not a direct record copy. Dubsado organizes all client work inside Projects with no formal pipeline, Deal, or Lead object. Nutshell uses a standard CRM hierarchy with Accounts, Contacts, Leads, and a Pipeline of Deals. We map Dubsado Clients to Nutshell Contacts, flag Projects as Notes or Convert to Deals based on revenue-recognition patterns, and preserve Invoice and Contract records as Document-attached Notes. Dubsado's CSV export requires per-status pagination with no bulk option, and Dubsado stores email history in the connected IMAP account rather than its own database. Workflow automations and task history do not migrate. We deliver a written workflow audit template for Nutshell rebuild so your admin has a complete action list after cutover.
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 Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Dubsado
Client
Nutshell
Contact
1:1Dubsado Clients map to Nutshell Contacts with First Name, Last Name, Email, Phone, Company, Address, and Internal Notes preserved. Email is required in Dubsado and maps directly to Contact.Email. Any Dubsado Client flagged as a business entity with multiple contacts becomes a Nutshell Account with a primary Contact, and secondary contacts are created as additional Contact records linked to that Account. Custom Field values on Clients migrate to Nutshell Custom Fields on Contact.
Dubsado
Project
Nutshell
Note + Contact Custom Fields or Deal
1:manyDubsado Projects have no direct Nutshell equivalent. During scoping we determine the mapping strategy: Projects with tracked revenue or recurring billing become Nutshell Deals in the Pipeline, with project status mapped to Pipeline stage, project value mapped to Deal value, and a reference Note on the Contact. Projects that are informational or service-oriented without a formal sale become Notes on the Contact record, with project status, creation date, and related tasks documented in the Note body. The customer chooses strategy per-project-type during discovery.
Dubsado
Invoice
Nutshell
Note with Document attachment
1:1Dubsado Invoices (ID, amount, status, due date, line items, payment records, recurring schedules) migrate as Nutshell Notes on the Contact record with a Document attachment for the PDF. Invoice status (paid, unpaid, partial) and Dubsado Payments transaction IDs are stored as Note body metadata. Nutshell does not have a native invoice object; the PDF Document preserves the authoritative billing record. Recurring invoice schedules migrate as Note metadata with next occurrence date and frequency.
Dubsado
Contract
Nutshell
Note with Document attachment
1:1Dubsado Contracts migrate as Nutshell Notes on the Contact record with the contract PDF attached as a Document. Contract status, related Client, signature timestamps, and Dubsado signature data migrate as Note body metadata. Nutshell has no native contract object; the signed PDF is the authoritative record. If the contract was created from a Dubsado template, the template name and version are documented in the Note so the customer's admin can identify which templates need rebuilding in Nutshell.
Dubsado
Lead Capture Form
Nutshell
Note
lossyDubsado Lead Capture Forms store questionnaire responses and link to Projects. We export form submissions with field labels and values as Nutshell Notes on the Contact record. Because Nutshell has no native form submission object, the form field names and response values are serialized into the Note body using a structured template. Custom form field definitions in Dubsado must be mapped to Nutshell Custom Fields on Contact during schema design so future form responses can populate typed fields rather than Notes.
Dubsado
Custom Field
Nutshell
Custom Field
lossyDubsado Custom Field definitions (type, label, options for dropdown) must be pre-created in Nutshell before Contact migration begins. Dropdown options migrate from Dubsado picklists to Nutshell picklists; multi-select dropdowns map to Nutshell multi-select picklists; text fields map to Nutshell text fields. Value mapping requires destination schema configuration upfront so that Contact import populates typed fields rather than falling back to Note text. We provide a Custom Field mapping matrix during discovery.
Dubsado
Time Entry
Nutshell
Note
1:1Dubsado Time Entries (duration, date, linked Task ID, billable flag) migrate as Nutshell Notes on the Contact record with a structured template capturing duration, date, task reference, and billable status. Nutshell has no native time tracking object. Time entries linked to invoiced work are cross-referenced with the migrated Invoice Note to preserve the billing audit trail. We flag time entry export as a separate CSV extraction during discovery because Dubsado's main CSV export does not include time data.
Dubsado
Client Portal
Nutshell
Contact Custom Field
1:1Dubsado Client Portal access is a per-Client boolean flag with optional portal URL. We migrate the portal access status as a Nutshell Contact Custom Field (portal_active__c: checkbox) and store the portal URL in a text field (portal_url__c) for reference. Nutshell does not have a native client portal feature. If the customer relies on Dubsado client portals for document sharing or approval workflows, we document the portal URLs and contents in the migration handoff so the customer's admin can evaluate Nutshell's document sharing or a third-party portal replacement.
Dubsado
User / Team Member
Nutshell
Contact
1:1Dubsado Users (Owner, Manager, Team Member roles) are exported with name, email, and role. Nutshell does not have a separate user-as-contact concept. We create a Contact record for each active Dubsado User so the team member's name and email are preserved in the CRM even if they do not correspond to an external client. The Dubsado role is stored as a Note on the Contact for admin reference. Nutshell's own User accounts for the destination platform are provisioned separately by the customer's admin.
Dubsado
Workflow
Nutshell
No migration
1:1Dubsado Workflows cannot be exported. The trigger-condition-action sequences exist only in Dubsado's platform with no documented API export. We cannot migrate Workflows as code. We deliver a Workflow Audit Template that documents every active Dubsado Workflow (trigger, conditions, actions, delays, and CRM objects affected) so the customer's Nutshell admin has a complete specification for rebuilding in Nutshell's native workflow builder. This template is the critical handoff deliverable for the automation rebuild phase.
| Dubsado | Nutshell | Compatibility | |
|---|---|---|---|
| Client | Contact1:1 | Fully supported | |
| Project | Note + Contact Custom Fields or Deal1:many | Fully supported | |
| Invoice | Note with Document attachment1:1 | Fully supported | |
| Contract | Note with Document attachment1:1 | Fully supported | |
| Lead Capture Form | Notelossy | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Time Entry | Note1:1 | Fully supported | |
| Client Portal | Contact Custom Field1:1 | Fully supported | |
| User / Team Member | Contact1:1 | Fully supported | |
| Workflow | No migration1: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
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Discovery and mapping strategy
We audit the source Dubsado account for client count, project count and status distribution, invoice volume, contract count, active custom field definitions, active workflows, and time entry history. We pair this with a mapping strategy session: which Dubsado Projects map to Nutshell Deals in the Pipeline, which map to Notes on Contact records, and how Custom Fields on each object type are configured in Nutshell before migration begins. The discovery output is a written migration scope document, a Project-to-Deal mapping matrix, and a Custom Field configuration checklist for the destination Nutshell account.
CSV extraction from Dubsado
Dubsado does not have a public API for automated extraction. We extract data via the built-in CSV export, paginating through each project status (Active, Completed, Archived, On Hold, and any custom statuses) and deduplicating across exports to build the complete project dataset. Invoice, contract, and time entry data are extracted as separate CSV files. Custom field definitions are exported separately from their values. This CSV-heavy process is the primary time driver for large Dubsado accounts and is completed before any Nutshell import begins.
Project-to-Deal or Note reconciliation
Using the mapping strategy from discovery, we assign each Dubsado Project to either a Nutshell Deal (if it represents a tracked sale or recurring revenue engagement) or a Note on the Contact record. For Projects assigned to Deals, we extract the project value, status, created date, and any linked invoice data to populate Deal fields and a reference Note. For Projects assigned to Notes, we serialize the project details into a structured Note template. This reconciliation step resolves the core model translation before any Nutshell import begins.
Custom field pre-configuration in Nutshell
Before any Contact records are created in Nutshell, we configure all Custom Fields exported from Dubsado as typed Nutshell fields on the Contact object (and Deal object where applicable). Dropdown options are pre-populated, multi-select picklists are enabled, and any field validation rules that might reject migrating values are identified and temporarily disabled by the customer's Nutshell admin. This step prevents Contact import from falling back to Note text because the typed fields did not yet exist.
Production migration in dependency order
Migration runs in dependency order: Nutshell Users provisioned (manual by customer admin, validated by us), Contacts created with project context stored in a summary Note field, Notes attached for invoice and contract Documents, Deals created from project metadata for revenue-tracked engagements, and time entry Notes appended to the relevant Contact record. Each phase emits a row-count reconciliation report before the next phase begins. Dubsado writes are frozen during cutover, and a final delta migration captures any records modified during the window.
Cutover, validation, and workflow rebuild handoff
We validate record counts against Dubsado source data and spot-check 20-30 records for field-level accuracy. We deliver the migration data inventory documenting which objects migrated, which migrated as Notes, and which could not migrate. We provide the Workflow Audit Template listing every Dubsado Workflow with trigger, conditions, and actions for rebuild in Nutshell. We support a one-week post-cutover window for reconciliation issues. We do not rebuild Dubsado Workflows as Nutshell workflows inside the migration scope; that is documented separately for the customer's admin to complete post-migration.
Platform deep dives
Dubsado
Source
Strengths
Weaknesses
Nutshell
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 Nutshell.
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 Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Dubsado to Nutshell 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 Nutshell
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.