CRM migration

Migrate from Unanet CRM by Cosential to HubSpot

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

Unanet CRM by Cosential logo

Unanet CRM by Cosential

Source

HubSpot

Destination

HubSpot logo

Compatibility

100%

12 of 12

objects map 1:1 between Unanet CRM by Cosential and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Unanet CRM by Cosential is a purpose-built CRM for architecture, engineering, and construction firms, storing relationships, pursuits, proposals, and project history in a schema optimized for AEC workflows. HubSpot uses a general-purpose CRM object model — contacts, companies, deals, and custom objects (Enterprise) — with lifecycle_stage as the primary customer-state property and deal pipelines driving the sales view. The migration carries everything Unanet stores natively (contacts, firms/companies, pursuits, activities, custom fields) into HubSpot's standard objects and custom property model. The harder problems are mapping Unanet pursuits (the AEC equivalent of opportunities) to HubSpot deals with stage preservation, translating Unanet's firm hierarchy into HubSpot's company associations, and deciding how to handle proposal records that have no native HubSpot equivalent. FlitStack AI uses Unanet's Compass API to extract source data and HubSpot's CRM API to write records, sequencing the migration so foreign-key relationships resolve correctly before activities land. Additional complexity arises from preserving historical activity timestamps and ensuring custom field data types align with HubSpot's property system.

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

Unanet CRM by Cosential logo

Unanet CRM by Cosential

What's pushing teams away

  • Account Planning feature remains weak despite repeated user requests, leaving Business Development teams unsupported in long-term account strategy.
  • Navigation is widely criticized — convoluted search, hard-to-find dashboards, and a steep learning curve frustrate new users.
  • Double data entry is required in some workflows, particularly when integrating with financial systems or proposal tools outside the core CRM.
  • The interface is described as dated and clunky compared to modern CRM alternatives, affecting daily user experience.
  • Users report that the platform can be slow to load dashboards and reports, especially with large datasets accumulated over years.

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 Unanet CRM by Cosential objects map to HubSpot

Each row shows how a Unanet CRM by Cosential 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.

Unanet CRM by Cosential

Contact

maps to

HubSpot

Contact

1:1
Fully supported

Unanet Contact maps directly to HubSpot Contact. Most fields — FirstName, LastName, BusinessEmailAddress — map 1:1. Contacts without a firm association land as HubSpot contacts with no primary company; those with a firm association link to the mapped HubSpot company via the hubspot_company_id property.

Unanet CRM by Cosential

Firm

maps to

HubSpot

Company

1:1
Fully supported

Unanet's Firm (the organization record) maps to HubSpot Company using FirmName as the Company Name. HubSpot stores the website in the domain property; Unanet's firm-level address fields map to HubSpot's address compound properties. Parent-child firm hierarchies in Unanet map via HubSpot's parent company association.

Unanet CRM by Cosential

Pursuit

maps to

HubSpot

Deal

1:1
Fully supported

Unanet pursuits are the AEC equivalent of HubSpot deals — project-based sales opportunities tied to a firm and contact. The pursuit name maps to deal name, pursuit amount maps to deal amount, and the pursuit stage maps to the HubSpot deal pipeline stage value. Each Unanet pursuit pipeline requires a corresponding HubSpot deal pipeline.

Unanet CRM by Cosential

Pursuit Stage

maps to

HubSpot

Deal Pipeline Stage

1:1
Fully supported

Unanet stage values are mapped one-by-one to HubSpot deal stage values within the target pipeline. Stage probability and forecast category re-applied based on HubSpot's stage configuration. If Unanet has multiple pursuit pipelines (e.g., Design Build vs. Public Works), each requires its own HubSpot deal pipeline.

Unanet CRM by Cosential

Firm Hierarchy / Parent Firm

maps to

HubSpot

Company Parent Company Association

1:1
Fully supported

Unanet's parent-child firm relationship maps to HubSpot's parent company association on the Company object. The parent firm must be migrated first so child firms can reference the correct HubSpot parent company ID. Circular firm hierarchies are flagged and resolved before migration runs.

Unanet CRM by Cosential

Contact-Firm Association

maps to

HubSpot

Contact Company Association

1:1
Fully supported

Unanet allows a contact to be associated with multiple firms (N:1). HubSpot contacts have one primary company plus secondary associations. FlitStack maps the primary firm association as the HubSpot primary company link and surfaces additional firm links as secondary company associations or as a custom property for reference.

Unanet CRM by Cosential

Activity (Call, Email, Meeting, Note)

maps to

HubSpot

Engagement Timeline (Calls, Emails, Meetings, Notes)

1:1
Fully supported

Unanet engagement records — calls, emails, meetings, and notes — map to HubSpot's engagement timeline. Call activities become HubSpot call engagements with the original timestamp and owner preserved. Emails become email engagements. Meetings become meeting engagements. Notes map to HubSpot notes on the associated contact or company record.

Unanet CRM by Cosential

Proposal

maps to

HubSpot

Custom Object (Proposal) or Deal Properties

1:1
Fully supported

Unanet proposals are tightly coupled to pursuits and contain template-generated output history. HubSpot has no native proposal object. FlitStack creates a Proposal custom object (HubSpot Enterprise) or imports key proposal metadata — proposal name, creation date, status — as custom properties on the associated deal. The proposal document files are re-uploaded to HubSpot Files and linked to the deal record.

Unanet CRM by Cosential

Owner / User

maps to

HubSpot

HubSpot User

1:1
Fully supported

Unanet users are matched to HubSpot users by email address. Unmatched owners are flagged before migration — your team either invites them to HubSpot first or assigns their records to a fallback HubSpot user. No record lands without an owner.

Unanet CRM by Cosential

Custom Fields (Contact, Firm, Pursuit)

maps to

HubSpot

HubSpot Custom Properties

1:1
Fully supported

Unanet's custom fields map to HubSpot custom properties. Each custom field requires creation in HubSpot's portal settings before migration, with matching type selection (text, number, date, dropdown, checkbox). FlitStack delivers a custom field creation plan based on the exported field list. Fields with no HubSpot equivalent are preserved as custom properties with a source_system flag.

Unanet CRM by Cosential

Attachment / File (Proposal, Contact, Firm)

maps to

HubSpot

HubSpot Files

1:1
Fully supported

Unanet file attachments — proposal documents, contact files, firm logos — are downloaded and re-uploaded to HubSpot Files. Files are associated with the appropriate HubSpot record (contact, company, or deal) via the file upload API. File size limits per HubSpot plan apply; files over the limit are flagged for splitting or alternative storage.

Unanet CRM by Cosential

Project History

maps to

HubSpot

Custom Object (Project) or Deal Notes

1:1
Fully supported

Unanet tracks project history tied to a firm and pursuit — past project performance data used in proposals. HubSpot has no native project object. Key project metadata (project name, year completed, project type, revenue) migrates as a custom object (HubSpot Enterprise) or as deal-level custom properties. Project documents are attached to the custom object or deal.

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.

Unanet CRM by Cosential logo

Unanet CRM by Cosential gotchas

High

Non-standard object names block naive field mapping

High

API requires Enterprise License agreement

Medium

Duplicate contact risk on bulk imports

Medium

Custom fields require manual schema enumeration

Low

Proposal templates carry template logic, not just data

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

  • Proposal records have no native HubSpot equivalent and require a rebuild strategy

    Unanet CRM's proposal automation — proposal records tied to pursuits with templates, output history, and generated documents — has no direct HubSpot object. HubSpot Sales Hub includes a quotes tool but it is scoped to product-line items, not AEC proposal documents. FlitStack migrates proposal metadata (name, status, creation date) as custom properties on the associated deal, and the proposal document files are re-uploaded to HubSpot Files and linked to the deal. The proposal generation workflow itself must be rebuilt using HubSpot Sales Hub quotes, a third-party proposal tool, or a custom integration. Firms relying heavily on Unanet proposal automation should plan for a 2–4 week rebuild effort after migration.

  • Unanet firm hierarchies require pre-mapping to HubSpot company parent relationships

    Unanet supports nested firm structures — a parent firm with child firms — common in AEC where a parent company holds multiple subsidiary firms or regional offices. HubSpot's company model supports a single parent-company field per company. FlitStack maps the Unanet parent-child firm hierarchy to HubSpot parent company associations, but circular firm references (Firm A has Parent Firm B, which has Parent Firm A) must be detected and resolved before migration because they would create invalid HubSpot company records. The migration plan surfaces the firm hierarchy as a tree so your team can confirm the intended HubSpot parent-company structure before data lands.

  • HubSpot CRM API burst limits require pacing during bulk import

    HubSpot's CRM API enforces a burst cap of approximately 190 requests per 10-second window and a daily quota of 500,000 to 1,000,000 calls depending on the subscription tier. Large Unanet exports — particularly those with attachments or activities — can silently exceed these limits if migration tooling does not implement tenant-aware request pacing. FlitStack uses dynamic quota tracking and respects the Retry-After header on 429 responses, pausing and resuming rather than retrying aggressively. Teams with over 100,000 records should expect the migration to run over multiple days to stay within HubSpot rate limits without extending the cutover window.

  • Unanet custom fields map to HubSpot custom properties but require portal-side creation first

    HubSpot requires custom properties to be created in the portal settings before data can be written to them via the API — there is no bulk field creation from an import file. Unanet setups with 20+ custom fields per object (common in AEC where firms track certifications, project types, contract values, and NDA status) require a pre-migration portal setup step. FlitStack delivers a custom property creation plan — listing each Unanet custom field, the HubSpot property name, type, and pick-list options — so your HubSpot admin can pre-create the schema before the migration run. Properties created after the migration begins will receive null values for records processed before creation.

  • Contact-firm N:N associations collapse to a single primary company in HubSpot

    Unanet allows a contact to be associated with multiple firms — a common AEC pattern where a contact at a subcontracting firm is also linked to the prime contractor's firm in Unanet. HubSpot contacts have one primary company association plus secondary company associations available via the Contact-Company Associations API. FlitStack maps the primary firm (most recently modified, or by your specified rule) as the HubSpot primary company and surfaces additional firm associations as secondary associations. If your Unanet setup relies heavily on multi-firm contact associations for reporting, the migration plan will need to address whether a custom object or a HubSpot secondary associations strategy is appropriate for your use case.

Migration approach

Six steps for a successful Unanet CRM by Cosential to HubSpot data migration

  1. Export Unanet data via Compass API and map the schema

    FlitStack connects to Unanet CRM via the Compass API (v1 or v2) using your firm's access code and API key. We extract all contacts, firms, pursuits, activities, proposals, and custom field definitions. The export runs with read-only scope — your team continues working in Unanet throughout. We then produce a schema inventory: object counts, custom field names and types, firm hierarchy depth, and activity volume. This inventory drives the custom property creation plan and the mapping specification.

  2. Create HubSpot custom properties and deal pipelines

    Before any data is written to HubSpot, your admin (or our team) creates the custom properties and deal pipelines needed for the migration. FlitStack delivers a detailed setup plan: each Unanet custom field becomes a HubSpot property (with correct type — text, number, date, or picklist), each Unanet pursuit type becomes a HubSpot deal pipeline, and custom pick-list values are pre-loaded. This step prevents null values from landing on records during the migration run.

  3. Resolve Unanet owners by email match to HubSpot users

    Unanet user IDs are resolved to HubSpot users by matching the owner email address against HubSpot's user list. Unmatched owners are flagged before migration begins — your team either invites them to HubSpot or assigns their records to a fallback owner. No record migrates without a valid HubSpot owner, preventing orphaned records that cannot be assigned in HubSpot's UI. This owner resolution step is critical because HubSpot's permission model and activity attribution depend on having a valid owner assigned to each record.

  4. Sequence and run a sample migration with field-level diff

    The migration is sequenced to resolve foreign keys correctly: firms (companies) first, then contacts linked to firms, then pursuits linked to contacts and firms, then activities linked to contacts. A representative slice — typically 100–500 records spanning contacts, firms, pursuits, and activities — migrates first. FlitStack generates a field-level diff between the Unanet source values and the HubSpot destination values so you can verify firm hierarchy mapping, pursuit stage mapping, and owner resolution before the full run commits.

  5. Execute full migration with delta-pickup window

    The full migration runs against HubSpot, with API request pacing to stay within HubSpot's burst and daily limits. A delta-pickup window (24–48 hours) captures any records created or modified in Unanet during the cutover period, ensuring HubSpot reflects Unanet's final state at go-live. All operations are logged in an audit trail. One-click rollback is available if reconciliation reveals data quality issues.

Platform deep dives

Context on both ends of the pair

Unanet CRM by Cosential logo

Unanet CRM by Cosential

Source

Strengths

  • Deep AEC-native data model purpose-built for project-based relationship tracking and proposal generation
  • Proposal automation directly integrated with CRM data, eliminating manual re-entry for qualification packages
  • Strong company-association model handles multi-role contacts and firm hierarchy within a single object structure
  • Reputation and track record with 1,000+ AEC firms over 20+ years provides industry credibility
  • Comprehensive Microsoft Outlook integration and mobile app support field teams working on projects

Weaknesses

  • Non-standard field names and AEC-specific object names require significant field-level mapping work
  • Account Planning feature is consistently under-developed and a pain point for Business Development teams
  • Navigation and search are widely criticized as convoluted, suggesting a dated UX
  • Custom fields are not fully documented in the public API schema, making discovery a manual process
  • Pricing starts at $50/user/month with significant implementation costs, making it expensive for smaller AEC firms
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. 2 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 Unanet CRM by Cosential and HubSpot.

  • Object compatibility

    B

    2 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

    Unanet CRM by Cosential: Not publicly documented.

  • Data volume sensitivity

    B

    Unanet CRM by Cosential doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Unanet CRM by Cosential 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 Unanet CRM by Cosential to HubSpot data migrations

Answers to the questions buyers ask most during Unanet CRM by Cosential to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Most Unanet CRM to HubSpot migrations complete in 48–72 hours of clock time for under 25,000 records. Larger setups with 100,000+ records, multiple firm hierarchies, or heavy custom field usage extend to 5–10 days. The longest planning step is creating HubSpot custom properties and configuring deal pipelines to match Unanet's pursuit and firm structure before data transfer begins. A sample migration of 100-500 records is run first to validate field mappings and identify any data quality issues.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Unanet CRM by Cosential.
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