CRM migration

Migrate from Housecall Pro to Twenty CRM

Field-level mapping, validation, and rollback between Housecall Pro and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

Housecall Pro logo

Housecall Pro

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between Housecall Pro and Twenty CRM.

Complexity

CModerate

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Housecall Pro is field service management software for home-service businesses (HVAC, plumbing, electrical, cleaning). Its data model centers on Customers, Jobs, Estimates, Property Profiles, and Equipment — objects that map partially but not directly to Twenty CRM's standard People, Companies, and Opportunities structure. Housecall Pro does not support custom fields at all (as of 2026, per its own help documentation), which limits the depth of business-specific data that can be stored natively. Twenty CRM provides unlimited custom fields and custom objects on its Organization plan, giving migrated Housecall Pro customers more flexibility than they had in the source. FlitStack AI sequences the migration by exporting Housecall Pro data via CSV (customers, jobs, property profiles, equipment) and via the REST API on MAX-plan accounts, then transforming FSM records into CRM-native objects. Customers map to Twenty People records; the customer's service address becomes a relation or custom field; Job records translate to Twenty Tasks or custom Job objects; Equipment maps to a custom Equipment object linked to People via a relation. Housecall Pro workflows (scheduling rules, dispatch logic, automated reminders) do not migrate — they require manual reconstruction in Twenty's workflow builder. The Housecall Pro API enforces rate limits that FlitStack throttles to, and Housecall Pro CSV exports cap at 20,000 records per download, which affects how we batch large datasets.

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

Housecall Pro logo

Housecall Pro

What's pushing teams away

  • Add-on pricing compounds fast: a user on Essentials paying $189/month needs Sales Proposal ($40/mo), Pipeline ($50/mo), and HCP Voice ($49/mo) — totalling $328/month before card processing fees.
  • Route-optimization and map-based scheduling that groups jobs geographically is not a native feature; it requires a third-party integration, forcing dispatchers to juggle tools or accept inefficient routing.
  • Multi-day project management is limited since Housecall Pro was designed around single-day jobs; contractors running home-improvement projects with multi-week timelines outgrow the scheduling model.
  • Job costing and QuickBooks Online integration each require separate paid upgrades on top of the base plan, creating an add-on trap that inflates the real monthly spend well above the advertised entry price.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Housecall Pro objects map to Twenty CRM

Each row shows how a Housecall Pro object lands in Twenty CRM, 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

maps to

Twenty CRM

People

1:1
Fully supported

Housecall Pro Customers map to Twenty People records. We carry over first_name, last_name, email, phone numbers (mobile, home, work), company name, tags, lead_source, and notes. Multiple addresses per customer (billing and service) are preserved as separate address records linked to the People object. Customer create/update timestamps migrate as custom datetime fields in Twenty.

Housecall Pro

Customer Address (billing)

maps to

Twenty CRM

People (address relation)

1:1
Fully supported

Housecall Pro supports billing and service address types per customer. We map the billing address to Twenty's standard address fields on People and store the service address as a custom address field (Service_Address__c) or as a relation to a custom Property object. If multiple service addresses exist per customer, each becomes a separate Property record linked by customerId.

Housecall Pro

Job

maps to

Twenty CRM

Task / Custom Job object

1:1
Fully supported

Housecall Pro Jobs have no direct Twenty CRM equivalent because Twenty has no native scheduling engine. We create a custom Job object in Twenty (Organization plan) or map jobs to Twenty Tasks linked to the People record. Job fields — job date, status (scheduled, in-progress, completed), assigned employee, line items — translate to custom fields on the Job object. Completed job history is preserved as read-only records for reporting continuity.

Housecall Pro

Estimate

maps to

Twenty CRM

Custom Estimate object

1:1
Fully supported

Estimates have no Twenty CRM native equivalent. We create a custom Estimate object with fields for estimate amount, status (draft, sent, accepted, declined), line items (via a child Estimate_Line_Items object), and a relation to the People record. Estimate line items migrate as a child table. Accepted estimates that became jobs link back to the Job object via a lookup field.

Housecall Pro

Property Profile

maps to

Twenty CRM

Custom Property object

1:1
Fully supported

Housecall Pro Property Profile tracks equipment and property details per customer address (A/C make/model, serial numbers, install dates). Twenty has no native property object. We create a custom Property object with fields for address, property type, and a child Equipment object. The Property record links to the People record via a relation field.

Housecall Pro

Equipment (Property Profile item)

maps to

Twenty CRM

Custom Equipment object

1:1
Fully supported

Equipment tracked in Housecall Pro Property Profile (item type, make, model, serial number, install date, notes) migrates to a custom Equipment object linked to the parent Property record. Item type and display name are required fields in Housecall Pro and map to required fields in the custom Equipment object. Historical notes and installation dates are preserved.

Housecall Pro

Employee

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Housecall Pro Employee records (name, email, phone, role) map to Twenty WorkspaceMember records. Owner resolution in Twenty uses email matching — if a Housecall Pro employee email matches a Twenty WorkspaceMember, the OwnerId links automatically. Unmatched employees are flagged for manual Twenty user creation before migration commits.

Housecall Pro

Job Invoice

maps to

Twenty CRM

Custom Invoice object

1:1
Fully supported

Housecall Pro invoices (amount, status, line items, payment date) have no native Twenty equivalent. We create a custom Invoice object with invoice number, amount, status, payment date, and line items. Invoices link to the People record (customer) and the Job record. Payment status (paid, partial, outstanding) migrates as a select field. Note: payment processing history does not transfer — Stripe or payment processor records remain in Housecall Pro.

Housecall Pro

Lead Source

maps to

Twenty CRM

Custom field on People

1:1
Fully supported

Housecall Pro Lead Source (referral, Google, word-of-mouth, etc.) maps directly to a custom select field (Lead_Source__c) on the People object in Twenty. The pick-list values migrate as-is, and we flag any values that do not match Twenty's allowed select options for admin review before import.

Housecall Pro

Tag

maps to

Twenty CRM

Custom field on People / Custom Tag object

1:1
Fully supported

Housecall Pro tags are string arrays per customer. We migrate tags as a custom multi-select field (Tags__c) on the People object in Twenty. If tag count exceeds the multi-select limit, we create a separate Tag object linked to People via a junction table. Tags preserve the original Housecall Pro values for segmentation and filtering in Twenty views.

Housecall Pro

Price Book / Service

maps to

Twenty CRM

Custom Price Item object

1:1
Fully supported

Housecall Pro Price Book entries (service name, description, price) migrate to a custom Price_Item__c object linked to the Companies object. Pricing tiers per service are preserved as number fields. If Flat Rate pricing is configured per service, that value migrates as Default_Price__c on the custom object. Service category (from Material Categories) maps to a select field.

Housecall Pro

Job Type

maps to

Twenty CRM

Custom field on Job

1:1
Fully supported

Housecall Pro Job Types (e.g., HVAC Repair, Plumbing Installation, Cleaning) map to a select field (Job_Type__c) on the custom Job object in Twenty. Values migrate as-is. If the Twenty Organization plan supports enough select options, the full job type list is preserved. Long lists are reviewed with the customer to determine whether to map to a pick-list or text field.

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.

Housecall Pro logo

Housecall Pro gotchas

High

Add-on pricing inflates real monthly cost significantly

High

API access is locked behind the MAX plan

Medium

Housecall Pro does not support custom fields

Medium

Single-level customer import flattens parent-child structures

Medium

No bulk API endpoint; large datasets require pagination

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Housecall Pro CSV exports cap at 20,000 records, requiring batched migration for large job histories

    Housecall Pro's built-in export function limits CSV downloads to 20,000 records per file. Customers with multi-year job histories and thousands of completed jobs hit this ceiling during the migration audit. FlitStack AI works around this by exporting in date-bounded batches (one-year windows) and stitching the results before loading into Twenty. This adds a planning step: we ask customers to confirm the earliest job date in Housecall Pro so we can size the batch plan correctly. If batched exports produce overlapping records (e.g., a job modified in year 2 appears in both batch 1 and batch 2), deduplication logic using Housecall Pro's internal job ID removes duplicates before the Twenty import.

  • Housecall Pro does not support custom fields — existing FSM data that should be custom fields has nowhere to live

    Housecall Pro's own help documentation explicitly states that custom fields are not supported on any plan (Basic, Essentials, or MAX). This means that if a customer's team has been storing business-specific data — EPA certification levels, refrigerant types, warranty expiry dates — in the notes field or in unstructured text, that data has no structured equivalent in Housecall Pro to migrate. When this data arrives in Twenty CRM, we surface it in the migration report and recommend that customers create custom fields on the appropriate Twenty objects (People, Property__c, or Equipment__c) before or immediately after migration. The migration plan flags these unstructured data pockets explicitly so customers can decide whether to invest in structuring them post-migration.

  • Twenty CRM requires custom objects for Jobs and Equipment — schema must be built before data lands

    Twenty CRM's standard object set (People, Companies, Opportunities, Notes, Tasks) has no native Job or Equipment object. Before any Housecall Pro job history or property-profile data can be imported, the Twenty workspace must have the custom Job__c and Equipment__c objects created with all required fields. FlitStack AI delivers a Twenty schema setup plan as part of the migration package — it specifies the exact field names, types, and select values to create in Settings → Data Model so the migration plan is ready before data extraction begins. Customers on Twenty's Free or Pro plan should note that custom objects are limited (Free: 0, Pro: 10). The Organization plan ($19/user/mo) provides unlimited custom objects, which is the required plan tier for customers migrating full job histories with equipment tracking.

  • Housecall Pro API access requires MAX plan and enforces rate limits that extend migration windows

    The Housecall Pro Public API — the most reliable method for extracting customer, job, and equipment records — is only available on the MAX plan ($269/mo). Customers on Basic or Essentials plans cannot use the API for migration and must rely on CSV exports, which have the 20,000-row limit described above. Additionally, the Housecall Pro API enforces rate limits (common default: ~150 requests per minute per token). FlitStack AI throttles its export scripts to stay within these limits and implements exponential backoff on 429 responses. For large accounts, this throttling extends the export phase to several hours. We surface API rate-limit exposure in the migration audit so customers can budget time accordingly.

  • Twenty CRM has no native scheduling or dispatch engine — field service workflow must be redesigned

    Housecall Pro is built around job scheduling, technician dispatch, and route optimization as core features. Twenty CRM has no equivalent scheduling engine. Scheduling rules, recurring job templates, route-optimization logic, and automated dispatch triggers in Housecall Pro do not migrate. When customers move to Twenty, they inherit a CRM that can track jobs and equipment as records but cannot generate the next day's route or auto-assign technicians. FlitStack AI documents every Housecall Pro scheduling rule, recurring job template, and automated reminder found during the audit and delivers this as a reference document for rebuilding in Twenty's workflow builder or in a dedicated scheduling add-on.

Migration approach

Six steps for a successful Housecall Pro to Twenty CRM data migration

  1. Audit Housecall Pro data volume and plan export batches

    FlitStack AI begins every migration with a structured audit of the Housecall Pro account. We identify total record counts for customers, jobs, invoices, estimates, property profiles, equipment entries, and employees. For accounts with more than 20,000 total records, we confirm the earliest job date and plan the batch export schedule in one-year windows. We also verify the Housecall Pro plan tier — if MAX-plan API access is available, we use it for more reliable extraction; if not, we rely on CSV exports with batch stitching. This audit produces a migration scope document that both teams sign off on before any data leaves Housecall Pro.

  2. Design Twenty CRM schema for FSM data translation

    Before data is extracted, FlitStack AI delivers a Twenty schema setup plan specifying the exact custom objects, fields, pick-list values, and relations to create in the Twenty workspace. This plan covers the custom Job__c object (for job history), the custom Property__c object (for service locations), the custom Equipment__c object (for tracked equipment linked to Properties), the custom Invoice__c and Estimate__c objects, and any custom fields on the People object (lead source, tags, home phone, work phone). Customers create these objects in Twenty's Settings → Data Model before the migration run, and we validate the schema against the migration plan before loading data.

  3. Resolve Housecall Pro employees to Twenty WorkspaceMembers by email

    Housecall Pro employees who are assigned to jobs need to map to Twenty WorkspaceMembers so that job records carry the correct assignee. FlitStack AI runs an email-matching pass: Housecall Pro employee email addresses are matched against existing Twenty user emails. Matched employees link directly. Unmatched employees are flagged in a pre-migration report — customers either invite those employees to Twenty before migration or assign a fallback WorkspaceMember as the default owner for those records. No job record lands in Twenty without a resolved assignee.

  4. Run a sample migration with field-level diff

    A representative slice of Housecall Pro records migrates first — typically 200–500 records covering customers, jobs, property profiles, equipment, and at least one invoice. We generate a field-level diff between the Housecall Pro source record and the Twenty destination record for every object, so customers can verify that custom field values, date fields, pick-list values, and relation links resolved correctly. The sample run also validates the custom object schema — any missing fields or incorrect pick-list values are corrected before the full migration commits.

  5. Execute full migration with delta-pickup window

    The full Housecall Pro dataset migrates into Twenty. A delta-pickup window (24–48 hours after the initial load) captures any records modified or created in Housecall Pro during the cutover period — this is critical for businesses that continue operating in Housecall Pro until the go-live date. FlitStack AI runs a final reconciliation comparing record counts and field completeness between Housecall Pro and Twenty. If reconciliation fails, the one-click rollback reverts the Twenty workspace to its pre-migration state. The migration audit log records every operation, field mapped, and owner resolved for compliance and troubleshooting.

Platform deep dives

Context on both ends of the pair

Housecall Pro logo

Housecall Pro

Source

Strengths

  • Market-leading adoption with 200,000+ field-service professionals provides a deep base of industry-specific workflow patterns and community resources.
  • Full field-service lifecycle in one platform: Leads, Scheduling, Dispatch, On-site Checklists, Invoicing, Payments, and Review Management.
  • MAX plan includes API access and webhook support for custom integrations, enabling programmatic data exports for migration.
  • Property Profile app tracks equipment details per address, giving FlitStack AI structured equipment records to migrate.
  • Self-serve import tool for Customers, Jobs, and Price Book lowers the barrier for non-technical users moving from spreadsheets.

Weaknesses

  • No native map-based or route-optimized scheduling; geographic job grouping requires a third-party add-on.
  • Change orders are not supported, limiting job modification workflows common in contracting and project-based services.
  • Employee management lacks document storage, skills tracking, certifications, and day-off management — these cannot be migrated because they do not exist.
  • Multi-day job scheduling is limited compared to platforms designed for home-improvement projects with week-long timelines.
  • Pricing model uses mandatory add-ons (QuickBooks, job costing, Sales Proposal, Pipeline) that inflate cost well above the base tier.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Moderate CRM migration. 1 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Housecall Pro and Twenty CRM.

  • Object compatibility

    C

    1 of 8 objects need a manual workaround.

  • 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

    B

    Housecall Pro: Not publicly documented; Agave's default of 150 req/min per account token is referenced in third-party guides.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Housecall Pro to Twenty CRM 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 Housecall Pro to Twenty CRM data migrations

Answers to the questions buyers ask most during Housecall Pro to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Housecall Pro to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Housecall Pro to Twenty CRM migrations complete within 48–72 hours of clock time for under 25,000 total records. Larger setups with 100,000+ job history records or complex property-profile and equipment data extend to 5–7 days. The longest planning step is designing the Twenty custom object schema (Job__c, Equipment__c, Property__c) before data extraction begins. The Housecall Pro 20,000-row CSV export cap adds batch-planning time for accounts with multi-year histories.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Housecall Pro.
Land in Twenty CRM, 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