CRM migration

Migrate from tab32 to HubSpot

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

tab32 logo

tab32

Source

HubSpot

Destination

HubSpot logo

Compatibility

100%

12 of 12

objects map 1:1 between tab32 and HubSpot.

Complexity

BStandard

Timeline

24–48 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

The tab32-to-HubSpot migration translates a dental PMS data model into HubSpot's general-purpose CRM. tab32 stores patients, providers, appointments, claims, CDT-coded treatments, tooth charts, perio charts, and insurance plans. HubSpot natively handles contacts, companies, deals, and tickets — but clinical charting, perio measurements, CDT codes, and insurance metadata have no native equivalent and require custom properties. FlitStack AI sequences the migration so patient records land as HubSpot contacts first, companies resolve via practice or insurance-carrier lookup, and appointments translate into HubSpot deals with custom fields carrying CDT codes and clinical notes. Insurance plans, providers, and clinical records migrate as HubSpot custom objects. HubSpot's marketing-contact billing flag does not apply — this is a data-only migration for dental DSOs moving onto HubSpot's CRM layer for sales and service ops. Workflows, automations, and reporting templates are not migrated; FlitStack provides an export-for-rebuild reference package. We use HubSpot's Contacts API and Bulk Import API depending on record count, preserving original create dates, owner assignments, and timestamps throughout.

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

tab32 logo

tab32

What's pushing teams away

  • Support response times of 24–48 hours frustrate practices during critical operations — one reviewer described waiting days for answers to simple questions during an onboarding window.
  • Training relies heavily on pre-recorded video content rather than live, scheduled onboarding sessions, creating access problems for practices operating outside standard business hours.
  • The platform is not user-friendly by default and requires a significant time investment even for tech-savvy teams, with one reviewer recommending competitors for better onboarding UX.
  • Add-on costs and tier-based feature gating reported by multiple sources push the realistic monthly cost above the advertised starting price, creating sticker shock for budget-conscious practices.
  • Feature discoverability is poor — staff report difficulty finding and configuring features even after initial training, suggesting the UI does not surface functionality in an intuitive way.

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 tab32 objects map to HubSpot

Each row shows how a tab32 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.

tab32

Patient

maps to

HubSpot

Contact

1:1
Fully supported

tab32 patient records map directly to HubSpot contacts. Standard fields including name, email, phone, address, and city transfer as native HubSpot contact properties. Date of birth creates as a custom date property since HubSpot has no native DOB field. tab32's dental-specific fields — SSN prefix, guarantor relationship, and insurance carrier reference — store as custom properties on the contact record, preserving the full patient profile in HubSpot.

tab32

Patient Insurance

maps to

HubSpot

Custom Object (Insurance Plan)

1:1
Fully supported

tab32 insurance plan — carrier name, group number, member ID, subscriber relationship — maps to a HubSpot custom object named 'Insurance Plan.' Carrier name creates a lookup to a Company record if the carrier exists in HubSpot; otherwise it lands as a custom text property.

tab32

Appointment

maps to

HubSpot

Custom Object (Dental Appointment)

1:1
Fully supported

tab32 appointment has no native HubSpot equivalent. FlitStack creates a HubSpot custom object to store appointment ID, scheduled date, provider, procedure type (CDT code), status, and clinical notes. Appointment date and provider link to the contact and provider custom object records.

tab32

Provider

maps to

HubSpot

Custom Object (Dental Provider)

1:1
Fully supported

tab32 provider — NPI number, specialty, license state, and DEA number — maps to a HubSpot custom object. Provider name links to the contact record for the provider if they are also a patient (common in smaller practices). Provider specialty is stored as a custom pick-list property.

tab32

Claim

maps to

HubSpot

Ticket

1:1
Fully supported

tab32 claim maps to HubSpot ticket with status value mapping. Submitted → New; Pending Review → Open; Approved → Pending Input; Paid → Closed; Denied → Closed Lost. Claim total charge, insurance payment, and patient balance transfer as custom number properties on the ticket.

tab32

Treatment (CDT-coded)

maps to

HubSpot

Custom Object (Treatment Record)

1:1
Fully supported

tab32 treatment records with CDT procedure codes map to a HubSpot custom object. Each record stores the CDT code, tooth number, surface, fee, and provider. CDT codes are preserved as a custom pick-list property to support HubSpot reporting on treatment types.

tab32

Tooth Chart

maps to

HubSpot

Custom Object (Tooth Chart)

1:1
Fully supported

tab32 tooth chart — surface-level condition per tooth number — has no HubSpot CRM equivalent. FlitStack maps each tooth chart entry to a custom object with tooth_number, surface, condition, and date. This preserves clinical reference data for the dental team even though HubSpot's UI does not natively display charting.

tab32

Perio Chart

maps to

HubSpot

Custom Object (Perio Record)

1:1
Fully supported

tab32 perio chart stores pocket depth measurements across six sites per tooth. HubSpot has no periodontal equivalent. FlitStack maps perio records to a custom object with tooth_number, site (MB, B, DB, ML, L, D), probing_depth_mm, recession_mm, and furcation as custom number fields — data preserved for clinical review in HubSpot notes.

tab32

Fee Schedule

maps to

HubSpot

Custom Object (Fee Schedule)

1:1
Fully supported

tab32 fee schedule entries map CDT procedure codes to contracted rates specific to each insurance plan. FlitStack creates a Fee Schedule custom object in HubSpot linking the CDT code, Insurance Plan association, and contracted fee amount as custom properties. This structure enables reporting on contracted versus billed amounts in HubSpot dashboards once rebuilt, allowing practices to identify underpayments and track reimbursement performance across carriers.

tab32

Document / Attachment

maps to

HubSpot

HubSpot Files

1:1
Fully supported

tab32 file attachments (treatment plan PDFs, insurance cards, clinical images) re-upload to HubSpot Files. File size limits (25MB per file in HubSpot) apply — larger files are flagged for split or alternative storage. Inline images in clinical notes download and rehost.

tab32

Company (Practice Location)

maps to

HubSpot

Company

1:1
Fully supported

tab32 practice location data maps directly to HubSpot company records. Practice name, physical address, phone number, and practice type transfer as native and custom company properties. The HubSpot company record serves as the parent entity for all patient contacts associated with that location, enabling practice-level rollup reporting in HubSpot dashboards. For multi-location DSOs, this parent-child structure supports cross-practice analytics, production tracking, and collection reporting across all locations.

tab32

tab32 User / Owner

maps to

HubSpot

HubSpot User

1:1
Fully supported

tab32 user records resolve to HubSpot users by email match. If a tab32 user has no matching HubSpot user, their records are assigned to a fallback HubSpot owner before migration. HubSpot user IDs are stored on migrated records for traceability.

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.

tab32 logo

tab32 gotchas

High

Data quality inheritance blocks clean migration

High

DSO multi-location structure requires explicit office mapping

Medium

Imaging data lives outside the standard export path

Medium

Fee schedule consolidation is a pre-migration prerequisite

Low

Training and support model assumes daytime availability

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

  • CDT codes require HubSpot custom pick-lists — no native dental procedure equivalent

    tab32 CDT (Current Dental Terminology) codes — D0120 for periodic oral evaluation, D0150 for comprehensive exam, D7210 for extraction — have no native equivalent in HubSpot's CRM model. FlitStack creates a CDT_Code__c custom pick-list on the Treatment Record and Dental Appointment custom objects, preserving the ADA code set exactly. If your practice uses CDT modifiers or region-specific code variants, those need to be added to the pick-list definition before migration. HubSpot's pick-list supports up to 500 values per field; practices with extensive code libraries should verify their code set fits within that limit.

  • Perio pocket depth and tooth chart data map to custom objects with no native clinical UI

    HubSpot's contact and deal records have no concept of periodontal charting or tooth-surface condition. FlitStack maps tab32 perio records (pocket depth per site per tooth, furcation involvement, mobility) to a Perio Record custom object and tooth chart conditions to a Tooth Chart custom object. The data migrates correctly and is accessible via HubSpot's record detail view, but HubSpot does not render a perio chart visualization — your clinical team reviews these as field-level values on each record. This is a known limitation of HubSpot's dental CRM fit; FlitStack preserves the data for reference but does not rebuild a charting UI.

  • Insurance plan data requires a custom object with multi-step association mapping

    tab32 insurance plans store carrier name, group number, member ID, subscriber relationship, fee schedule, and effective dates as a compound record. HubSpot has no insurance object. FlitStack creates an Insurance Plan custom object with all insurance fields as custom properties, linked to the patient contact by a custom association. When a patient has multiple insurance plans (primary, secondary), each plan becomes a separate Insurance Plan record associated to the same contact — your team manages the plan hierarchy in HubSpot manually after migration.

  • Claim status value mapping must be defined before migration — closed claims need a HubSpot status

    tab32 claim statuses (submitted, pending review, approved, paid, denied) do not map 1:1 to HubSpot's ticket status (new, open, pending, solved, closed). FlitStack applies a value-mapping table at migration time: tab32 'paid' maps to HubSpot ticket status 'solved'; tab32 'denied' maps to 'closed - lost'. If your team uses additional claim status values beyond these five, your FlitStack migration plan must include those in the value mapping before data loads. Claims that have been pended or appealed require a custom pick-list on the ticket object to capture adjudication history.

  • tab32 workflows and automations — appointment reminders, billing alerts, recall sequences — do not transfer

    tab32 automations for appointment reminders, patient recall, billing follow-ups, and treatment plan notifications are platform-native and do not migrate. HubSpot has its own automation tools (workflows, sequences, customer portals) that require separate configuration after migration. FlitStack exports tab32 workflow definitions as a PDF reference document so your HubSpot admin can use them as a rebuild blueprint. The dental-specific logic — recall intervals based on perio status, insurance-dependent follow-up windows — requires manual rebuild in HubSpot's workflow builder.

Migration approach

Six steps for a successful tab32 to HubSpot data migration

  1. Audit tab32 data volume and identify dental-specific custom fields

    FlitStack pulls a full export from tab32 covering patient records, appointments, providers, claims, treatments, tooth charts, perio charts, and insurance plans. We count records per object, identify custom fields unique to your tab32 configuration, and flag CDT code variants and perio measurement fields. This audit determines the number of HubSpot custom objects and custom properties needed — the primary cost driver for this migration type.

  2. Create HubSpot custom objects and custom properties before data migration

    Before any data moves, FlitStack creates the HubSpot custom objects (Dental Appointment, Dental Provider, Insurance Plan, Treatment Record, Tooth Chart, Perio Record, Fee Schedule) and all required custom properties on each object. CDT code pick-lists, perio measurement number fields, and insurance metadata fields are pre-built so the HubSpot schema is ready when records land. We coordinate with your HubSpot admin to set property groups and visibility rules.

  3. Map insurance carriers to HubSpot companies and associate plans to contacts

    tab32 insurance carrier names map to HubSpot company records — if a carrier already exists in HubSpot, FlitStack links the Insurance Plan custom object via association; if not, the carrier name is stored as a custom text property on the Insurance Plan object. Patient-to-insurance-plan associations use HubSpot's custom object associations to maintain the N:N relationship between patients and their insurance plans. This step is critical for practices with patients carrying multiple plans (primary, secondary, tertiary) and ensures each plan is correctly associated before the bulk import runs, preventing orphaned insurance records.

  4. Run a sample migration with field-level diff across all custom objects

    A representative slice — typically 100–500 records spanning patients, appointments, providers, claims, and a few perio/tooth chart entries — migrates first. FlitStack generates a field-level diff comparing source tab32 values against the migrated HubSpot custom object records. You verify CDT code mapping, perio pocket depth values, insurance field resolution, and claim status value mapping before the full run commits. This is the checkpoint for clinical data accuracy.

  5. Execute full migration with delta-pickup window and audit log

    Full data migration runs against HubSpot's Contacts API and Bulk Import API. A delta-pickup window (24–48 hours) captures any tab32 records modified or created during the cutover window — appointments scheduled in the interim, updated patient insurance info, new claims. FlitStack generates an audit log of every record created and updated. One-click rollback is available if reconciliation identifies missing data or field mapping errors.

Platform deep dives

Context on both ends of the pair

tab32 logo

tab32

Source

Strengths

  • Fully cloud-native on Google Cloud Platform with no server infrastructure required and no per-practice hardware footprint.
  • Purpose-built for DSO-scale multi-location management with centralized reporting, fee schedule normalization, and office-level permission structures.
  • Bundled patient engagement suite: two-way texting, automated reminders, e-forms, e-statements, and mobile payments in one platform without per-feature add-on pricing.
  • Open Data Warehousing API provides transparent access to the practice data warehouse for BI and analytics integrations.
  • AI voice charting and AI-driven perio exam dictation are first-to-market clinical features that reduce manual documentation burden.

Weaknesses

  • Support responsiveness lags at 24–48 hours for routine queries, making the platform difficult to use during onboarding and operational troubleshooting.
  • Steep learning curve even for technically sophisticated teams — one reviewer explicitly recommended competing platforms for better live training support.
  • Pricing lacks transparency with reported hidden add-on charges pushing realistic costs above advertised tiers, particularly at enterprise scale.
  • Poor feature discoverability in the UI means staff frequently cannot locate or configure capabilities they have paid for without external consulting help.
  • Customer reviews are sparse on major platforms, making independent evaluation difficult — the available reviews show a bimodal pattern of enthusiastic long-term users and frustrated switchers.
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?

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

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across tab32 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

    B

    tab32: Not publicly documented.

  • Data volume sensitivity

    A

    tab32 exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your tab32 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 tab32 to HubSpot data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most tab32-to-HubSpot migrations complete in 24–48 hours of clock time for under 50,000 records. The pre-migration phase — HubSpot custom object setup, CDT pick-list configuration, and field-level diff on a sample slice — adds 3–5 business days. Large DSOs with 500,000+ records or extensive perio/tooth chart datasets extend to 5–7 days. The custom property count (CDT codes, perio measurements, insurance metadata) is the primary timeline driver, not record volume alone.

Adjacent paths

Related migrations to explore

Ready when you are

Move from tab32.
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