CRM migration
Field-level mapping, validation, and rollback between Empire SUITE and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Empire SUITE
Source
HubSpot
Destination
Compatibility
10 of 11
objects map 1:1 between Empire SUITE and HubSpot.
Complexity
BStandard
Timeline
2–3 weeks
Overview
Empire Suite is a project-accounting and job-costing platform built around Projects, Jobs, Phases, Cost Codes, and Time Entries. HubSpot is a CRM organized around Contacts, Companies, Deals, and Lifecycle Stages. The migration restructures financial and operational data from a project-centric model into a customer-centric model. We pull all standard Empire Suite entities via scoped read-only API access — projects, jobs, phases, cost codes, time entries, expenses, contacts, and users — plus any custom properties your team has added. Financial fields such as billing rates, cost per hour, and cost-code rollups have no native HubSpot equivalent, so we create custom fields (Cost_Code__c, Billing_Rate__c, Total_Job_Cost__c) and surface them on the migrated deal record. Phase hierarchies flatten to a single deal stage; parent-project links become custom lookup fields rather than a nested structure. A delta-pickup window of 48–72 hours captures records modified during cutover. We do not migrate workflows or automations — those must be rebuilt in HubSpot's workflow editor using our exported definition file as a reference. The migration uses the HubSpot Contacts API and v3 Objects API for deals, with owner resolution by email match against HubSpot user accounts.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Empire SUITE 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.
Empire SUITE
Project
HubSpot
Deal
1:1Empire Suite projects map directly to HubSpot deals. The project name becomes the deal name, start and end dates map to deal close dates, and budget amounts migrate to a custom currency field (Total_Budget__c). The project ID is stored as Source_System_ID__c on the HubSpot deal for traceability and delta-run de-duplication.
Empire SUITE
Job
HubSpot
Deal
many:1Each Empire Suite job under a project becomes a separate HubSpot deal linked to the parent project-deal via a custom lookup property (Parent_Project__c). Job-level financial fields — cost, billing amount, and status — become deal-level custom properties since HubSpot deals have no native sub-record for job-level accounting.
Empire SUITE
Phase
HubSpot
Deal Stage / Custom Property
1:1Empire Suite phases map to HubSpot deal stage names. Phase name becomes the stage label, and phase status values (Not Started, In Progress, Complete) map to corresponding HubSpot pipeline stage values via value-by-value mapping. Since HubSpot has no nested stage model, parent-child phase relationships collapse into a custom property (Parent_Phase__c).
Empire SUITE
Cost Code
HubSpot
Custom Property on Deal
1:1Empire Suite cost codes (labor, materials, subcontract, equipment) have no native HubSpot equivalent. We create a custom multi-select or text property (Cost_Codes__c) on the deal and populate it with the source cost-code values per phase or job. Cost-per-hour and billing-rate fields map to custom currency fields on the deal record.
Empire SUITE
Time Entry
HubSpot
Note / Activity on Deal
1:1Each Empire Suite time-entry record becomes a note attached to the corresponding HubSpot deal. The note body contains hours worked, date, and a billing-status flag. Billable and non-billable amounts map to custom currency fields (Billable_Amount__c, Non_Billable_Amount__c) since HubSpot has no native billable-hours field on activities.
Empire SUITE
Expense
HubSpot
Note / Activity on Deal
1:1Empire Suite expense records migrate as notes on the associated deal. Expense amount, category (Travel, Materials, Equipment), vendor, and billing status each become custom properties on the deal. Category values require value-by-value mapping since HubSpot's expense category pick-list may not match Empire Suite's categories exactly.
Empire SUITE
Attachment / File
HubSpot
HubSpot Files + Custom Property
1:1Empire Suite file attachments (invoices, project plans, receipts) are downloaded and re-uploaded to HubSpot Files. The HubSpot file URL is stored in a custom property (Empire_SUITE_Attachments__c) on the related deal so the original attachment remains accessible from the HubSpot record.
Empire SUITE
User / Contact
HubSpot
Contact / Deal Owner
1:1Empire Suite users and contacts resolve to HubSpot contacts by email match. Users become deal owners in HubSpot via email resolution to HubSpot user accounts. Empire Suite full-name fields (no separate first/last) require a name-split transformation — we parse the full name and populate HubSpot's firstname and lastname properties.
Empire SUITE
Custom Property (Empire Suite)
HubSpot
Custom Property (HubSpot)
1:1Every Empire Suite custom field that has no HubSpot standard equivalent becomes a HubSpot custom property. We create the property in HubSpot before migration, map the field type (text, number, date, currency, pick-list), and populate values during the transfer. Custom pick-list values require value-by-value mapping against HubSpot's pick-list options.
Empire SUITE
Custom Object (Empire Suite)
HubSpot
Custom Object (HubSpot) + Junction Object
1:1Empire Suite custom objects map 1:1 to HubSpot custom objects. Custom-object relationships that are many-to-many in Empire Suite require HubSpot custom junction objects to preserve the association. We generate the junction object schema and include it in the migration plan before data transfer begins.
Empire SUITE
Workflow / Automation (Empire Suite)
HubSpot
Not migrated
1:1Empire Suite billing rules, approval chains, and job-costing automations do not transfer to HubSpot. These are destination-side logic that must be rebuilt using HubSpot's workflow editor, enrollment triggers, and sequences. We export a machine-readable definition of your Empire Suite automation rules as a rebuild reference for your HubSpot admin.
| Empire SUITE | HubSpot | Compatibility | |
|---|---|---|---|
| Project | Deal1:1 | Fully supported | |
| Job | Dealmany:1 | Fully supported | |
| Phase | Deal Stage / Custom Property1:1 | Fully supported | |
| Cost Code | Custom Property on Deal1:1 | Fully supported | |
| Time Entry | Note / Activity on Deal1:1 | Fully supported | |
| Expense | Note / Activity on Deal1:1 | Fully supported | |
| Attachment / File | HubSpot Files + Custom Property1:1 | Fully supported | |
| User / Contact | Contact / Deal Owner1:1 | Fully supported | |
| Custom Property (Empire Suite) | Custom Property (HubSpot)1:1 | Fully supported | |
| Custom Object (Empire Suite) | Custom Object (HubSpot) + Junction Object1:1 | Fully supported | |
| Workflow / Automation (Empire Suite) | Not migrated1: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.
Empire SUITE gotchas
Custom Field-based Security Permissions vary by deployment
Empire TIME module may have isolated data stores
No public API documentation found in research
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
Set up HubSpot custom properties and deal stages before migration
Before any data moves, we create the custom properties in HubSpot that will receive Empire Suite financial fields: Cost_Codes__c, Billing_Rate__c, Cost_Per_Hour__c, Total_Job_Cost__c, Expense_Amount__c, Expense_Category__c, Vendor__c, and others identified during the audit. We also configure deal stage names to match your Empire Suite phase labels. We deliver a full property manifest to your HubSpot admin for review before we proceed. This ensures the HubSpot schema is ready when data lands — no retroactive field creation during the migration run.
Audit Empire Suite schema and build field mapping specification
We connect via scoped read-only API access to enumerate your Empire Suite projects, jobs, phases, cost codes, time entries, expenses, users, and any custom objects or properties. We compare the Empire Suite schema against the HubSpot target schema and generate a field mapping specification. Projects with nested phases or multi-currency billing get a separate mapping addendum. The mapping specification is reviewed and approved before the migration run is scheduled.
Resolve owners and contacts by email before the migration run
Empire Suite users and contacts are matched to HubSpot users and contacts by email address during the pre‑migration audit. For any Empire Suite record whose email does not correspond to an existing HubSpot user, the system flags the entry and your team decides whether to provision a new HubSpot user account or assign a designated fallback owner. This owner‑resolution step is recorded in a mapping table that includes the Source_System_ID__c for traceability, ensuring that after the migration completes every deal has an assigned owner and reporting continuity is maintained.
Run a sample migration with field-level diff on a representative dataset
We run an initial migration against a representative slice of Empire Suite data — typically 100–500 records spanning multiple projects, jobs, phases, time entries, and expenses. We generate a field-level diff comparing source values against destination field values in HubSpot. You verify billing rate mapping, cost-code population, phase-to-stage routing, owner resolution, and attachment re-upload. We address any mapping gaps before the full migration run commits.
Execute full migration and delta-pickup cutover
The full migration runs against HubSpot in sequenced batches: projects first, then jobs and phases mapped to deals, then time entries and expenses as notes on the corresponding deals. We pace the export against Empire Suite's API rate limits and monitor for throttling responses. Your team continues working in Empire Suite throughout — the migration uses read-only API access. A delta-pickup window of 48–72 hours captures any records created or modified during the cutover. Audit logs track every operation, and one-click rollback is available if reconciliation identifies a data integrity issue.
Platform deep dives
Empire SUITE
Source
Strengths
Weaknesses
HubSpot
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Empire SUITE and HubSpot.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
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
Empire SUITE: Not publicly documented..
Data volume sensitivity
Empire SUITE 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 Empire SUITE to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Empire SUITE to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Empire SUITE
Other ways to arrive at HubSpot
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.