CRM migration
Field-level mapping, validation, and rollback between Housecall Pro and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Housecall Pro
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Housecall Pro and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Housecall Pro is purpose-built for field-service operations — flat customers, jobs as the primary work record, estimates, invoices, and a price book for services. Dynamics 365 Sales is a general-purpose CRM built around leads, opportunities, quotes, and a product catalog, with Account-Contact hierarchies and pipeline stages. When operations grow beyond single-location scheduling into multi-entity relationship management, the flat Housecall Pro customer model becomes a constraint — Dynamics 365 Sales handles Account hierarchies, territory management, and AI-driven pipeline forecasting that Housecall Pro does not provide. FlitStack AI maps Housecall Pro customers to Contacts (or Accounts for commercial customers), jobs to Opportunities with their associated activities, estimates to Quotes, and invoices to D365 invoice records. Property profiles (equipment make, model, serial number) become custom fields on the Contact or a custom Equipment entity. The price book translates to the Dynamics 365 product catalog with price list entries. We preserve source system IDs for delta-run de-duplication and preserve original create dates as custom datetime fields. Workflows, automations, job-dispatch rules, reporting dashboards, and third-party integrations do not migrate — those are destination-side schema configuration that must be rebuilt in D365 Sales or Power Automate after the data lands. A sample migration with field-level diff runs first so you verify mapping accuracy before the full cutover commits.
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.
Source platform
Housecall Pro platform overview
Scorecard, SWOT, gotchas, and pricing for Housecall Pro.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Housecall Pro object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Housecall Pro
Customer
Microsoft Dynamics 365 Sales
Contact
1:1Housecall Pro customers map 1:1 to Dynamics 365 Contacts. All contact fields (first name, last name, email, phone, mobile, addresses) map directly. For commercial customers with multiple contacts, we create an Account first and link all related Contacts to it. Tags and custom notes on the customer record migrate to custom fields on Contact.
Housecall Pro
Customer (commercial)
Microsoft Dynamics 365 Sales
Account + Contact
1:1When a Housecall Pro customer has a company name and multiple employees or locations, we create a D365 Account as the parent record and create individual Contacts linked to that Account. This requires an Account first (foreign key resolution order: Account → Contact → Opportunity). Housecall Pro's billing address and service address map to Account address fields; individual contact roles use Contact fields.
Housecall Pro
Job
Microsoft Dynamics 365 Sales
Opportunity + Activities
1:1Jobs are the central Housecall Pro work record. In D365 Sales, jobs map to an Opportunity with associated Tasks for each work activity. Job type, status, priority, and assigned employee map to custom Opportunity fields since D365 Sales has no native job-status concept. Line items (parts and labor) from the job map to Opportunity Product Lines. The property profile linked to the job becomes custom fields on the Opportunity or a custom Equipment entity.
Housecall Pro
Estimate
Microsoft Dynamics 365 Sales
Quote
1:1Housecall Pro estimates map directly to D365 Sales Quotes. Estimate line items map to Quote Detail records referencing the product catalog. Estimate status (draft, sent, accepted, rejected) maps to D365 Quote status values. Customer acceptance date maps to the Quote close date. Accepted estimates that converted to jobs link back via a custom Opportunity-Quote reference field.
Housecall Pro
Invoice
Microsoft Dynamics 365 Sales
Invoice
1:1Housecall Pro invoices migrate to D365 Sales invoice records. The customer lookup maps to the Contact or Account. Invoice line items (from price book products) map to Invoice Details. Paid status, payment date, and outstanding balance carry over as custom fields since D365 invoice status tracks differently. We preserve the original HCP invoice number for audit traceability.
Housecall Pro
Property Profile (Equipment)
Microsoft Dynamics 365 Sales
Custom Equipment Entity / Contact Fields
1:1Housecall Pro property profiles track equipment at customer addresses (A/C make/model/serial number, install date). D365 Sales has no native equipment entity. We create a custom Equipment entity with fields for item type, make, model, serial number, and install date, linked to the Contact via a 1:N relationship. If the customer has few equipment records, we alternatively store these as custom fields on the Contact itself.
Housecall Pro
Employee
Microsoft Dynamics 365 Sales
User (limited)
1:1Housecall Pro employees (technicians, office staff) have no direct D365 Sales equivalent because D365 User accounts require Azure AD provisioning and Dynamics 365 licensing. We preserve employee names and roles for reference mapping — when Housecall Pro jobs assign a tech, we match by employee email to a D365 User and populate the Opportunity Owner. Active Directory and user provisioning is outside FlitStack's scope and must be handled by your IT team.
Housecall Pro
Price Book (Service)
Microsoft Dynamics 365 Sales
Product + Price List
1:1Housecall Pro price book entries (service names, descriptions, base prices, units, categories) map to D365 Sales Products. The service price becomes the default unit price on the Product record. Price book categories map to Product categories. Complex pricing (tiered rates, material + labor splits) from HCP becomes multiple Product records or Price List Item entries. After migration, your admin associates price lists with specific Customer Groups or Territories in D365.
Housecall Pro
Tag
Microsoft Dynamics 365 Sales
Custom Tag Field
1:1Housecall Pro tags (e.g., 'VIP customer', 'priority account', 'recurring') migrate to a custom multi-select text field (HCP_Tags__c) on the Contact or Opportunity. D365 Sales has no native tag taxonomy. If you rely heavily on tags for segmentation, discuss custom Option Set values or a tagging solution with your admin post-migration.
Housecall Pro
Job Appointment
Microsoft Dynamics 365 Sales
Task / Event
1:1Scheduled appointments from Housecall Pro jobs (start time, end time, assigned tech, notes) map to D365 Tasks or Events on the related Opportunity or Contact. Appointment status (completed, cancelled, no-show) maps to Task status values. We preserve original appointment timestamps for service history continuity.
Housecall Pro
Lead Source
Microsoft Dynamics 365 Sales
Lead Source (on Contact / Opportunity)
1:1Lead source attribution in Housecall Pro (Google Ads, referral, word-of-mouth) maps to the LeadSource field on Contact and Opportunity in D365 Sales. Historical attribution is preserved for reporting. If Housecall Pro tracks lead source changes over time, the most recent source is used as the primary value.
Housecall Pro
Attachment / File
Microsoft Dynamics 365 Sales
Note / Attachment
1:1Files attached to Housecall Pro records (photos, signed documents, equipment images) re-upload to D365 Notes or SharePoint/OneDrive for Business via D365's document management. Original filenames and attach dates are preserved. Large photo sets from job documentation may require SharePoint library setup in D365 — we flag this in the migration plan if your volume exceeds D365's default storage tier.
| Housecall Pro | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Customer | Contact1:1 | Fully supported | |
| Customer (commercial) | Account + Contact1:1 | Fully supported | |
| Job | Opportunity + Activities1:1 | Fully supported | |
| Estimate | Quote1:1 | Fully supported | |
| Invoice | Invoice1:1 | Fully supported | |
| Property Profile (Equipment) | Custom Equipment Entity / Contact Fields1:1 | Fully supported | |
| Employee | User (limited)1:1 | Fully supported | |
| Price Book (Service) | Product + Price List1:1 | Fully supported | |
| Tag | Custom Tag Field1:1 | Fully supported | |
| Job Appointment | Task / Event1:1 | Fully supported | |
| Lead Source | Lead Source (on Contact / Opportunity)1:1 | Fully supported | |
| Attachment / File | Note / Attachment1: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.
Housecall Pro gotchas
Add-on pricing inflates real monthly cost significantly
API access is locked behind the MAX plan
Housecall Pro does not support custom fields
Single-level customer import flattens parent-child structures
No bulk API endpoint; large datasets require pagination
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Audit Housecall Pro data inventory and API access tier
Before mapping begins, FlitStack pulls a full inventory of your Housecall Pro data: customer count, job count, invoice count, price book entry count, property profile count, and attachment volume. We verify your Housecall Pro plan tier — if you are not on MAX, API access is unavailable and we plan around CSV batch exports. We also identify any data stored outside HCP (spreadsheets, QuickBooks, third-party tools) that references HCP record IDs and flag those cross-references for manual reconciliation.
Design D365 Sales schema: Accounts, custom entities, and opportunity field architecture
FlitStack delivers a D365 Sales schema setup plan before data moves. This includes: which Housecall Pro customers become Accounts vs. Contacts, the custom Equipment entity schema for property profiles, custom Opportunity fields for job type and status, and the product catalog structure for your price book. If you are on D365 Sales Professional, we flag the 15-table custom entity limit. If you are on Enterprise or Premium, we confirm that unlimited custom fields and entities are available for the full mapping scope. Your D365 admin creates the schema in a sandbox before FlitStack validates field-level mapping.
Resolve owner and user mapping by email match
Housecall Pro employees (technicians, office staff) assigned to jobs must be matched to D365 Users by email address. FlitStack generates an owner resolution report: matched employees get their jobs assigned to the corresponding D365 User as Opportunity OwnerId; unmatched employees are flagged with their HCP employee ID so your admin either creates D365 User accounts first or assigns their records to a fallback owner. No Opportunity lands in D365 without a resolved OwnerId.
Migrate in dependency order: Accounts → Contacts → Opportunities → Quotes → Invoices → Activities
D365 Sales requires foreign key resolution in order: Accounts before Contacts (via AccountId), Contacts before Opportunities (via CustomerId), and Opportunities before Quotes (via OpportunityId). FlitStack sequences the migration so master data lands first (Accounts/Contacts, Products from the price book), then transactional records (Opportunities from jobs, Quotes from estimates, Invoices). Activities (Tasks, Events, Notes) attach to their parent records after the parent IDs are assigned. This prevents orphaned records and failed lookups.
Run sample migration with field-level diff
A representative slice of 100–500 records — spanning customers, jobs, estimates, invoices, property profiles, and attachments — migrates first. FlitStack generates a field-level diff showing every source value and its destination equivalent. You verify that job type maps correctly to the custom Opportunity field, that equipment make/model lands on the custom Equipment entity, that price book entries appear in the product catalog, and that owner resolution worked for your tech team. Any mapping errors are corrected before the full run commits.
Cut over with delta pickup and audit log
The full migration runs against your live D365 Sales environment. A delta-pickup window (typically 24–48 hours after the initial extraction timestamp) captures any Housecall Pro records created or modified during the cutover — so D365 reflects HCP's final state at go-live. FlitStack generates a complete audit log of every record inserted, updated, or skipped. One-click rollback reverts all operations if reconciliation against your HCP export report reveals unexpected discrepancies. After go-live, your admin rebuilds HCP workflows in D365 Power Automate and configures integrations with tools like QuickBooks or field-dispatch platforms.
Platform deep dives
Housecall Pro
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Housecall Pro and Microsoft Dynamics 365 Sales .
Object compatibility
1 of 8 objects need a manual workaround.
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
Housecall Pro: Not publicly documented; Agave's default of 150 req/min per account token is referenced in third-party guides.
Data volume sensitivity
Housecall Pro 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 Housecall Pro to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Housecall Pro to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Housecall Pro
Other ways to arrive at Microsoft Dynamics 365 Sales
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.