CRM migration

Migrate from D-Tools to HubSpot

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

D-Tools logo

D-Tools

Source

HubSpot

Destination

HubSpot logo

Compatibility

93%

14 of 15

objects map 1:1 between D-Tools and HubSpot.

Complexity

CModerate

Timeline

3–5 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

D-Tools is project-management software purpose-built for low-voltage system integrators — its data model centers on Projects, Clients, Locations, Service Plans, and Change Orders with a heavy emphasis on field-technician task management and job costing. HubSpot CRM has no native project-management object; instead it uses Contacts, Companies, Deals, custom Objects, and a property system that accommodates custom fields and value-mapped pick-lists. The fundamental translation challenge is that D-Tools models physical sites and installation phases as top-level entities, while HubSpot models relationships (contact-company-deal) as the primary record structure. FlitStack AI extracts D-Tools data via its public Cloud API (120 calls per minute, 10,000 calls per day ceiling) using paginated bulk exports, then maps Projects to HubSpot Deals with a D_Tools_Project__c custom object overlay for milestone, location, and change-order fields that have no native HubSpot equivalent. Client records migrate as HubSpot Companies; contacts migrate as HubSpot Contacts associated to those companies. Service Plans become a custom object; time entries and invoices map to deal properties or custom fields. Workflow rules and automation triggers in D-Tools do not migrate — those must be rebuilt in HubSpot's Workflows tool. The migration sequence respects HubSpot's dependency model: companies must exist before contacts, contacts before deals, and deal custom objects must be registered before records land.

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

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How D-Tools objects map to HubSpot

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

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

D-Tools

D-Tools Client

maps to

HubSpot

HubSpot Company

1:1
Fully supported

D-Tools Client records (name, address, phone, website) map directly to HubSpot Company. D-Tools stores the primary contact on the client record; that contact migrates separately as a HubSpot Contact associated via Company association. Multi-location clients with separate D-Tools location records map to additional address properties on the HubSpot Company.

D-Tools

D-Tools Contact

maps to

HubSpot

HubSpot Contact

1:1
Fully supported

D-Tools Contact (name, email, phone, job_title, address) maps 1:1 to HubSpot Contact. Owner resolution happens by email match against HubSpot users. Contacts without a D-Tools client association land as unassociated HubSpot Contacts and are flagged for manual association before the full migration commits.

D-Tools

D-Tools Project

maps to

HubSpot

HubSpot Deal + D_Tools_Project__c custom object

1:1
Fully supported

D-Tools Project has no native HubSpot equivalent — it combines deal data (name, value, stage), site location, milestone phases, and task lists. We split the D-Tools Project into a HubSpot Deal (for pipeline stage and deal amount) and a D_Tools_Project__c custom object linked via a custom lookup field on the Deal. The deal name uses the D-Tools project name; the custom object stores location, milestone status, and phase data.

D-Tools

D-Tools Project Location

maps to

HubSpot

D_Tools_Project__c custom object property

1:1
Fully supported

D-Tools Locations entity stores site address and room-level detail for each project. HubSpot has no Locations object. We store the primary project location as a custom address property on D_Tools_Project__c. For multi-location D-Tools projects, additional locations are stored as a JSON-formatted string property or separate D_Tools_Location__c records linked to the project custom object.

D-Tools

D-Tools Milestone

maps to

HubSpot

D_Tools_Project__c Milestone_Status__c custom pick-list

many:1
Fully supported

D-Tools Milestones represent project phases (Design, Procurement, Installation, Commissioning). Multiple D-Tools milestone records per project merge into a single Milestone_Status__c pick-list property on D_Tools_Project__c with values representing the most recent milestone reached. Phase-entered dates migrate as milestone-specific custom date fields (e.g., Design_Completed_Date__c) on the custom object.

D-Tools

D-Tools Task / Checklist

maps to

HubSpot

HubSpot Task (linked to D_Tools_Project__c)

1:1
Fully supported

D-Tools Tasks with checklists and due dates tied to a project map to HubSpot Tasks associated to the D_Tools_Project__c record. D-Tools task status (complete/incomplete) translates to the HubSpot Task completion flag. D-Tools sub-checklist items are stored as a multi-line text custom property on the task since HubSpot Tasks do not support nested checklists natively.

D-Tools

D-Tools Service Plan

maps to

HubSpot

D_Tools_Service_Plan__c custom object

1:1
Fully supported

D-Tools Service Plans include billing frequency, price (dynamic or fixed), and feature list. HubSpot has no native subscription or service-plan object. We create a D_Tools_Service_Plan__c custom object with fields for plan_name, billing_frequency, monthly_price, and dynamic_flag. Each plan is associated to the D-Tools Client (now HubSpot Company) via a lookup relationship. Recurring billing must be handled by a third-party integration post-migration.

D-Tools

D-Tools Invoice

maps to

HubSpot

HubSpot Deal Line Item + D_Tools_Invoice__c custom fields

1:1
Fully supported

D-Tools Invoices generated from projects carry line-item detail and payment status. Invoice headers (number, date, total, payment status) migrate as D_Tools_Invoice__c custom fields on the associated HubSpot Deal. Line-item detail (product, quantity, price) migrates as HubSpot Deal Line Items linked to the same Deal. D-Tools payment transactions migrate as activity notes on the Deal.

D-Tools

D-Tools Product (i3 Library)

maps to

HubSpot

HubSpot Product

1:1
Fully supported

D-Tools Integrated Product Library items (manufacturer, part_number, description, list price) map to HubSpot Product records. The HubSpot Product Name uses the D-Tools product name; manufacturer and part_number store as custom properties. D-Tools dealer-specific pricing requires a custom price property on the HubSpot Product since HubSpot Products support only a single list price without quantity-based tiers.

D-Tools

D-Tools Change Order

maps to

HubSpot

D_Tools_Change_Order__c custom object linked to Deal

1:1
Fully supported

D-Tools Change Orders modify accepted proposals post-contract. Each change order has a description, value delta, approval status, and product adjustments. We create a D_Tools_Change_Order__c custom object with change_order_name, description, value_delta, approval_status, and a lookup to the associated D_Tools_Project__c. The Deal Amount is not automatically updated — a HubSpot Workflow triggers on change order approval to prompt the admin to update the Deal Amount manually.

D-Tools

D-Tools Time Entry

maps to

HubSpot

D_Tools_Time_Entry__c custom object linked to D_Tools_Project__c

1:1
Fully supported

D-Tools time entries record labor hours against a project or service call, including technician, date, hours, and description. These map to a D_Tools_Time_Entry__c custom object with technician_name, entry_date, hours, description, and a lookup to the related D_Tools_Project__c. D-Tools owner/technician records without HubSpot user matches are stored as text properties and flagged for owner resolution before final migration.

D-Tools

D-Tools Owner / User

maps to

HubSpot

HubSpot User (matched by email)

1:1
Fully supported

D-Tools users (sales reps, technicians, project managers) are matched to HubSpot users by email address. D-Tools user IDs are stored as Source_Owner_ID__c on migrated records for traceability. Unmatched D-Tools owners are flagged in the migration plan — teams either invite them to HubSpot first or assign their records to a fallback HubSpot user.

D-Tools

D-Tools Workflow Rule

maps to

HubSpot

HubSpot Workflow (must be rebuilt)

1:1
Fully supported

D-Tools Workflow Rules trigger notifications and field-update actions on SI entities when criteria are met. HubSpot Workflows operate on CRM records and have a different trigger/action model. D-Tools workflow definitions cannot be migrated — FlitStack exports the rule definitions as a JSON reference document that a HubSpot admin can use to rebuild equivalent HubSpot Workflows manually after migration.

D-Tools

D-Tools Report Definition

maps to

HubSpot

HubSpot Custom Report (must be rebuilt)

1:1
Fully supported

D-Tools Report Definitions define grouping and parameters for pre-built and custom reports. HubSpot's reporting model is contact-company-deal-centric and does not support D-Tools-style project grouping. Report definitions are exported as reference documentation; HubSpot Custom Reports must be rebuilt by the team post-migration. The underlying data (projects, clients, contacts) is present in HubSpot, but the grouping and parameter logic does not transfer.

D-Tools

D-Tools Company (Business) record

maps to

HubSpot

HubSpot Company

1:1
Fully supported

D-Tools Company (the business-name record distinct from Client in some configurations) maps to HubSpot Company. In D-Tools Cloud, Client and Company may overlap depending on configuration — we deduplicate based on name + domain match before migration to prevent duplicate HubSpot Companies.

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

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • D-Tools Project has no native HubSpot equivalent — naive deal-mapping loses site and milestone data

    D-Tools Projects carry location, milestone phase, task checklist, change order, and time-entry data that is structurally incompatible with a standard HubSpot Deal. A migration that maps D-Tools Project directly to HubSpot Deal without a custom object layer will lose milestone history, site location detail, and change-order records. FlitStack AI addresses this by creating a D_Tools_Project__c custom object that stores the full project context as custom fields, linked to the HubSpot Deal via a lookup relationship. The Deal carries pipeline stage and value; the custom object carries everything else. This approach requires the custom object to be registered in HubSpot before migration runs, which adds one to two days to the pre-migration setup phase. Teams using D-Tools multi-project-per-client configurations need the custom object to handle the relationship correctly.

  • D-Tools Cloud API rate limits cap extraction throughput at 10,000 calls per day

    D-Tools enforces a 120 calls-per-minute and 10,000 calls-per-day ceiling per API key. For large datasets (tens of thousands of project records, time entries, and line items), API-based extraction will not complete in a single migration window without staged pagination. D-Tools does offer a CSV Export feature for project items that bypasses the API limit — FlitStack AI uses CSV bulk export as the primary extraction path for large datasets, falling back to the API for delta-pickup records only. The daily rate limit ceiling must be accounted for in the migration timeline planning, particularly for teams with 500+ projects where each project carries multiple associated records (tasks, time entries, change orders). The CSV export approach also requires that the D-Tools user performing the export has Super Admin access in D-Tools, per D-Tools' own documentation.

  • D-Tools workflow rules do not migrate and have no HubSpot equivalent structure

    D-Tools Workflow Rules trigger notifications and field-update actions on SI entities when criteria are met (e.g., when a project status changes to Completed, notify the project manager and update the client record). HubSpot Workflows operate on CRM records using a different trigger/action model — they cannot directly replicate D-Tools rules. FlitStack AI explicitly excludes D-Tools workflow definitions from the data migration and exports them as a JSON reference document that an admin can use to rebuild equivalent logic in HubSpot's Workflows tool. Teams that rely heavily on D-Tools workflow automation should plan for a post-migration HubSpot Workflow rebuild phase. The D-Tools workflow rule definitions are typically stored per-entity, so teams with many active rules should budget additional time for the rebuild planning.

  • D-Tools service plan recurring billing has no HubSpot native equivalent

    D-Tools Service Plans support dynamic pricing (tied to project value) and fixed monthly/annual billing with configurable billing frequencies and tax rates. HubSpot has no native recurring-billing or subscription-management object — the closest construct is a custom object with billing_frequency and price fields. Recurring revenue tracking, automated renewal workflows, and actual payment processing require a third-party integration (Stripe, Chargify, or HubSpot Payments) post-migration. FlitStack AI migrates the service plan metadata (plan name, pricing type, frequency) as a D_Tools_Service_Plan__c custom object associated to the HubSpot Company, but the recurring billing engine must be implemented separately. Teams migrating active service plans with many subscribers should plan for a billing-integration project after the CRM migration is live.

  • D-Tools multi-location projects require restructuring to fit HubSpot's flat object model

    D-Tools allows multiple Location records per Project, each with its own site address, room-level detail, and item attachments. HubSpot has no Locations entity — all address data lives on the Company or Contact record as a single address field. D-Tools projects with more than one location will have that location data flattened into a single primary site address property on D_Tools_Project__c. The remaining D-Tools location records are stored as a D_Tools_Location__c custom object with a lookup to the project, preserving the multi-location context. This dual-layer approach (primary address + additional location records) is the closest achievable model in HubSpot, but it does require admin awareness when querying project site data in HubSpot reports — queries must pull from both the primary address field and the D_Tools_Location__c records.

Migration approach

Six steps for a successful D-Tools to HubSpot data migration

  1. Audit D-Tools data volume and extract strategy

    FlitStack AI reviews the D-Tools environment — client count, project count, product catalog size, active service plans, and open change orders. We determine whether bulk CSV export (for large datasets) or API extraction (for delta and real-time records) is the primary path, accounting for D-Tools' 10,000 calls-per-day API ceiling. We also inventory D-Tools Workflow Rules and Report Definitions for the rebuild reference document. This audit produces a migration plan that specifies the HubSpot custom objects (D_Tools_Project__c, D_Tools_Service_Plan__c, D_Tools_Change_Order__c, D_Tools_Time_Entry__c) required before data extraction begins.

  2. Set up HubSpot custom objects and custom fields

    Before any data lands, FlitStack AI creates the D_Tools_Project__c, D_Tools_Service_Plan__c, D_Tools_Change_Order__c, and D_Tools_Time_Entry__c custom objects in HubSpot, plus all required custom properties on Company, Contact, and Deal. We deliver a schema setup plan so your HubSpot admin can pre-create the objects (or approve FlitStack's setup if using admin credentials). This step also includes mapping D-Tools pipeline stages to HubSpot Deal stage values and defining the D_Tools_Project__c lookup relationship on the Deal object.

  3. Resolve D-Tools owners to HubSpot users

    D-Tools users (sales reps, technicians, project managers) are matched to HubSpot users by email address. FlitStack AI runs an owner-resolution pass before migration — any D-Tools user without a corresponding HubSpot user is flagged in the migration plan. Your team either invites them to HubSpot first or assigns their records to a fallback HubSpot owner. No record lands in HubSpot without a valid owner reference, which prevents orphaned CRM data after migration.

  4. Run sample migration with field-level diff

    A representative slice migrates first — typically 50–200 records spanning clients, contacts, projects, service plans, and change orders. We generate a field-level diff between the D-Tools source and the HubSpot destination so you can verify that D-Tools Project data is correctly split between the HubSpot Deal and D_Tools_Project__c custom object, that milestone and location fields landed in the right places, and that owner resolution worked. This sample run surfaces mapping corrections before the full migration commits.

  5. Execute full migration with delta-pickup window

    The full migration runs against HubSpot, extracting D-Tools clients, contacts, projects, products, service plans, invoices, change orders, and time entries. A delta-pickup window (typically 24–48 hours after the full run) captures any D-Tools records created or modified during the cutover period. All D-Tools workflow rules and report definitions are exported as a JSON reference document for HubSpot Workflow rebuild. FlitStack AI generates an audit log for every operation, and one-click rollback is available if reconciliation fails at the field level.

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.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

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 HubSpot.

  • 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 HubSpot 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 HubSpot data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

D-Tools to HubSpot migrations typically complete in 3–5 days for under 10,000 records using bulk CSV extraction. Larger datasets with 50,000+ records or migrations requiring D_Tools_Project__c custom object setup, milestone restructuring, and multi-location flattening extend to 3–4 weeks. The longest planning step is defining how D-Tools project data (milestones, locations, change orders) splits between HubSpot Deals and custom objects. D-Tools' API daily rate ceiling of 10,000 calls also affects extraction timelines for large product catalogs and time-entry histories.

Adjacent paths

Related migrations to explore

Ready when you are

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