CRM migration

Migrate from D-Tools to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between D-Tools and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

D-Tools logo

D-Tools

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

91%

10 of 11

objects map 1:1 between D-Tools and Salesforce Sales Cloud.

Complexity

CModerate

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

D-Tools serves low-voltage system integrators with a project-centric data model that includes Clients, Companies, Projects, Service Plans, Change Orders, Locations, Tasks, and an integrated product catalog (i3). Salesforce Sales Cloud is an account-and-opportunity CRM that standardizes on Account, Contact, Lead, Opportunity, Case, Contract, Product2, and custom __c fields. The two platforms diverge significantly: D-Tools has no Lead object (deals are tracked as Projects), no native quoting, and no standard workflow engine. Salesforce has no native project-management object — projects map to Opportunities or Cases depending on whether the workflow is sales-cycle or post-sale service. FlitStack AI sequences the migration so parent objects load before children: Companies → Accounts first, then Clients → Contacts (with D-Tools client-type flags preserved as a custom pick-list), then Projects → Opportunities with pipeline mapping. Service Plans translate to Salesforce Contracts. Change Orders migrate as a custom junction object with lookup relationships to the parent Opportunity and the relevant Product2 records. The i3 product library (D-Tools' integrated parts database) is exported as a Product2 reference dataset and can be linked to Salesforce CPQ for quote generation post-migration. D-Tools' middleware API (120 calls/min, 10k/day) is used for extraction under scoped read access — your team continues working in D-Tools throughout the migration. A delta-pickup window captures in-flight changes during cutover.

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

D-Tools logo

D-Tools

What's pushing teams away

  • Support response times are slow — customers report delays in resolving queries and slow turnaround on pricing or feature estimates.
  • Steep learning curve for new users, particularly around the integrated product library and change-order workflows, leading to extended onboarding.
  • Small or distributed teams find the platform heavy for their needs, with feature gaps in real-time collaboration across multiple office and field locations.
  • Annual pricing lock-in and limited transparency around renewal increases create billing surprises for long-term subscribers.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How D-Tools objects map to Salesforce Sales Cloud

Each row shows how a D-Tools object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

D-Tools

Client

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

D-Tools Clients map directly to Salesforce Contacts. D-Tools stores client name, phone, email, address, and primary company link. The client_type flag (e.g., Residential, Commercial, Government) is preserved as a custom pick-list field Client_Type__c on the Salesforce Contact record. Clients without an email address are flagged for manual review before migration.

D-Tools

Company

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

D-Tools Companies map to Salesforce Accounts. Company name, domain/website, industry classification, number of employees, and annual revenue transfer directly. D-Tools company hierarchies (parent/child) map to Salesforce ParentId. Multi-location D-Tools companies are represented as one Account with multiple Location custom field records or Address records per Salesforce's address model.

D-Tools

Project

maps to

Salesforce Sales Cloud

Opportunity

1:1
Fully supported

D-Tools Projects are the primary work record and map to Salesforce Opportunities for active sales-cycle work and to Cases for post-sale installation tracking. The D-Tools project status (Estimate, Proposal, Contracted, In Progress, Completed) maps to Salesforce Opportunity StageName with a value-mapping table built per pipeline. Project budget amounts transfer to Opportunity Amount; projected completion dates transfer to CloseDate.

D-Tools

Project

maps to

Salesforce Sales Cloud

Case

1:many
Fully supported

Post-sale D-Tools Projects — those already contracted with installation in progress — split to Salesforce Case records. The Case subject carries the D-Tools project name; description carries the full project scope text. Case Origin maps from D-Tools project source. FlitStack creates a custom Project_ID__c field on Case linking back to the original D-Tools project identifier for traceability.

D-Tools

Service Plan

maps to

Salesforce Sales Cloud

Contract

1:1
Fully supported

D-Tools recurring service plans (monthly, quarterly, annual billing) map to Salesforce Contracts. Plan type (Dynamic or Fixed price) and billing frequency are preserved as custom fields Plan_Type__c and Billing_Frequency__c on the Contract. Contract start and end dates transfer from the D-Tools service plan effective and expiration dates. D-Tools plan features are stored as a long-text custom field Contract_Features__c.

D-Tools

Change Order

maps to

Salesforce Sales Cloud

Custom Object (Change_Order__c)

1:1
Fully supported

D-Tools Change Orders have no direct Salesforce equivalent and are migrated as a custom Change_Order__c object with lookup relationships to the parent Opportunity and the relevant Product2 record. Change order status (Pending, Approved, Declined) maps to a Status__c pick-list. Approved amount, client approval date, and description fields transfer as custom fields on the custom object.

D-Tools

Location

maps to

Salesforce Sales Cloud

Custom Object (Site_Location__c)

1:1
Fully supported

D-Tools Locations (site addresses for installations) have no Salesforce standard equivalent. We create a Site_Location__c custom object with address fields (Street, City, State, PostalCode, Country) plus a lookup to the parent Account. Location types (e.g., Commercial, Residential, Government site) are stored as a pick-list field.

D-Tools

i3 Product Library

maps to

Salesforce Sales Cloud

Product2 + PricebookEntry

1:1
Fully supported

D-Tools i3 Integrated Product Library (manufacturer part numbers, pricing, compatibility data) maps to Salesforce Product2 as a reference dataset. Product names, manufacturer names, part numbers, and list prices transfer. We create a default Pricebook2 and PricebookEntry records for each product so Opportunities can reference line items immediately. Complex i3 compatibility rules are exported as a separate reference CSV for your Salesforce admin to incorporate into CPQ if needed.

D-Tools

Task / Time Entry

maps to

Salesforce Sales Cloud

Task / Event

1:1
Fully supported

D-Tools Tasks and time entries (logged by technicians in the field) map to Salesforce Tasks. Task subject carries the D-Tools task name; description carries the time entry notes. Billable hours from D-Tools are stored as a custom Number field Billable_Hours__c on the Salesforce Task record. Original create timestamps and owner assignments are preserved.

D-Tools

Attachment / File

maps to

Salesforce Sales Cloud

ContentVersion / Attachment

1:1
Fully supported

D-Tools file attachments on Projects, Clients, and Change Orders are exported and re-uploaded to Salesforce as ContentVersion (Files) linked to the parent record. File size limits per Salesforce apply (25MB default per file). Inline images in notes are downloaded and rehosted. The original file name and content type are preserved in Salesforce ContentDocument metadata.

D-Tools

User / Owner

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

D-Tools users and project owners are matched to Salesforce Users by email address. Unmatched owners are flagged before migration with a report listing each D-Tools owner and their record count. Your team either invites them to Salesforce first or assigns their records to a fallback owner. D-Tools user roles map to Salesforce Profiles and Permission Sets — role definitions are exported as a rebuild reference.

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.

D-Tools logo

D-Tools gotchas

High

Dual product API split (Cloud vs. SI) requires product identification first

High

i3 Product Library is a platform resource, not user data

Medium

GetClients API caps at 500 records per request with pagination required

Medium

Service plan dynamic pricing rules must be manually reconstructed

Low

Custom report definitions do not transfer between D-Tools instances

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • D-Tools has no Lead object — all deal records are Projects that must be classified at migration time

    D-Tools tracks every client interaction as a Project regardless of where it sits in the sales cycle — from initial estimate through contracted installation. Salesforce separates pre-qualified Leads from active Opportunities, and these objects have different fields, lifecycles, and page layouts. FlitStack AI classifies each D-Tools Project at migration time based on its status field: Estimate and Proposal stages route to Salesforce Lead records; Contracted, In Progress, and Completed stages route to Salesforce Opportunity records. This classification decision affects which Salesforce fields receive data and which custom fields need to be created on both Lead and Opportunity objects before the migration runs. Your team should review the classification logic against your Salesforce record-type configuration before the full migration commits.

  • D-Tools i3 product library requires a separate Product2 migration and CPQ rebuild for quote generation

    D-Tools' i3 Integrated Product Library contains manufacturer part numbers, compatibility data, pricing tiers, and relationship data that lives outside the standard D-Tools data model. Salesforce has no native i3 equivalent — the closest native structures are Product2 records with PricebookEntry records. FlitStack migrates the i3 product data as Product2 reference records with their list prices, manufacturers, and part numbers intact. However, the compatibility rules, dynamic pricing logic, and product-configuration rules that D-Tools handles natively must be rebuilt in Salesforce CPQ. We export the i3 compatibility data as a structured CSV that your CPQ admin can use as the CPQ product rule input. This gap is pair-specific: it applies to every D-Tools migration regardless of size.

  • D-Tools middleware API rate limits constrain export throughput and require careful load sequencing

    D-Tools Cloud uses a middleware-based API with a hard limit of 120 API calls per minute and 10,000 API calls per day per API key. This rate limit applies to all data types — Projects, Clients, Companies, Change Orders, and Service Plans — combined. FlitStack AI distributes export requests across the D-Tools API within these limits, using pagination (up to 500 records per GetClients call) to maximize data retrieved per request. For D-Tools SI on-premises instances, a separate export path via D-Tools SI's CSV and XML export tools bypasses the API limits entirely. The API rate limit is a pair-specific constraint: it does not apply to migrations from other platforms and must be accounted for in timeline estimation.

  • D-Tools service plan billing logic has no Salesforce equivalent and requires a rebuild in Revenue Cloud or CPQ

    D-Tools service plans store dynamic pricing (calculated from project value), fixed monthly/annual pricing, billing frequencies, tax rates, and plan feature flags in a proprietary model. Salesforce has no native service plan object — recurring service agreements map to Salesforce Contracts with custom fields for plan type and billing frequency, but the billing calculation engine (dynamic pricing based on project scope) must be rebuilt. We preserve all service plan data (plan names, frequencies, feature flags, effective dates, and expiration dates) as Contract records. Dynamic pricing rules and tax calculation logic need to be rebuilt in Salesforce CPQ or as Apex triggers. The plan feature text is stored as a custom long-text field on Contract for reference.

  • D-Tools workflow definitions must be exported as reference documents for Salesforce Flow rebuild

    D-Tools workflow rules (notifications, field-update actions, approval chains) are stored in D-Tools' proprietary format and have no export mechanism that is directly compatible with Salesforce Flow. FlitStack AI extracts workflow definitions from D-Tools as structured JSON documents that list each rule's trigger entity, criteria conditions, and action sequence. Your Salesforce admin uses these documents as a functional specification for rebuilding equivalent flows in Salesforce's Flow Builder. The D-Tools workflow export is pair-specific because D-Tools' workflow trigger model (entity-based with field-level criteria) differs from Salesforce's Flow trigger model (Record-Triggered, Scheduled, Platform Event). We do not attempt a direct translation; we provide the rebuild brief instead.

Migration approach

Six steps for a successful D-Tools to Salesforce Sales Cloud data migration

  1. Audit D-Tools data model and export via middleware API

    FlitStack AI connects to D-Tools Cloud using your API credentials and runs a discovery pass across all entities: Clients, Companies, Projects, Service Plans, Change Orders, Locations, Tasks, and the i3 Product Library. We export data using D-Tools' paginated API within the 120-calls-per-minute ceiling, collecting record counts, custom field definitions, and relationship metadata. For D-Tools SI on-premises instances, we use the native CSV and XML export tools. The audit report identifies every D-Tools entity, its field inventory, and the count of records per object — this becomes the migration scope document and the baseline for the price estimate.

  2. Classify D-Tools Projects into Salesforce Lead and Opportunity records

    Based on the audit, FlitStack AI applies a classification matrix to every D-Tools Project: Projects with status Estimate or Proposal map to Salesforce Lead; Projects with status Contracted, In Progress, or Completed map to Salesforce Opportunity. This classification drives which Salesforce RecordTypeId each record receives and determines the field-mapping plan. We deliver the classification map to you for approval before any data is loaded. Any Project that does not cleanly fit either category is flagged for a manual routing decision.

  3. Migrate Accounts and Contacts before Opportunities and Cases

    Salesforce requires AccountId before Contact and requires both before Opportunity can reference them. We sequence the migration so Companies → Accounts load first (including parent-account hierarchy resolution), then Clients → Contacts (with client_type__c and AccountId lookups resolved), then Projects → Opportunities and Cases with stage-value mapping per pipeline. Service Plans → Contracts load after the relevant Account record exists. This dependency chain ensures that every Salesforce record lands with its correct foreign-key references intact.

  4. Run a sample migration with field-level diff before full commit

    A representative slice — typically 100 to 500 records spanning Clients, Companies, Projects, Service Plans, Change Orders, and Tasks — migrates into a Salesforce sandbox first. FlitStack AI generates a field-level diff comparing source values against destination field values for every mapped field. You can verify that project status → Opportunity StageName value mapping is correct, that change order parent relationships resolve, that i3 products land as Product2 with PricebookEntries, and that owner email resolution produced the expected OwnerId assignments. No full migration commits until you sign off on the sample diff.

  5. Execute full migration with delta-pickup window and one-click rollback

    The full migration runs against your Salesforce production org (or sandbox, depending on your cutover plan). During and after the migration, a 24–48 hour delta-pickup window captures any D-Tools records created or modified during the cutover window — your team continues working in D-Tools throughout. FlitStack AI maintains an audit log of every record inserted, updated, or de-duplicated. If reconciliation reveals data integrity issues, one-click rollback reverts the Salesforce org to its pre-migration state. After rollback confirmation, the migration can be re-run with corrected mapping logic.

Platform deep dives

Context on both ends of the pair

D-Tools logo

D-Tools

Source

Strengths

  • Purpose-built for low-voltage system integrators with industry-specific terminology and workflows.
  • i3 Integrated Product Library delivers real-time manufacturer pricing for accurate proposals.
  • Cloud and on-premises (SI) products cover both SMB and enterprise deployment needs.
  • Field-first mobile experience for technicians reduces office-to-field communication gaps.
  • Service plan management supports recurring revenue and monitoring agreement billing.

Weaknesses

  • Two distinct products (Cloud vs. SI) with separate APIs complicate cross-product migrations.
  • Support responsiveness is a recurring pain point in customer reviews, especially for pricing estimates.
  • Limited third-party integrations outside of QuickBooks and common accounting tools.
  • Custom report definitions do not export — customers must rebuild dashboards at the destination.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Moderate CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across D-Tools and Salesforce Sales Cloud.

  • Object compatibility

    B

    1 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

    C

    D-Tools: 120 API calls per minute and 10,000 API calls per day per key.

  • Data volume sensitivity

    B

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

Estimator

Estimate your D-Tools to Salesforce Sales Cloud 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 D-Tools to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during D-Tools to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your D-Tools to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most D-Tools-to-Salesforce migrations complete within 48 to 72 hours of clock time for datasets under 25,000 records. Larger integrations with more than 200,000 records, multi-level change-order hierarchies, or both Cloud and on-premises D-Tools SI data extend to 5 to 10 days. The longest planning step is classifying D-Tools Projects into Salesforce Lead and Opportunity records — that classification map must be reviewed and approved before the migration run begins. D-Tools' API rate limit (120 calls per minute) also affects export throughput for very large datasets.

Adjacent paths

Related migrations to explore

Ready when you are

Move from D-Tools.
Land in Salesforce Sales Cloud, 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