Migration Reference
vTiger CRM to HubSpot Migration
What actually transfers, what quietly does not, and what has to be rebuilt by hand.
We mapped vTiger CRM against HubSpot feature by feature: 40 features, 3 synced objects, 7 documented traps and 40 items that have to be rebuilt. The whole map is on this page, ungated.
The PDF is the same reference, formatted for a procurement file.
Get The Reference And The Calculator
The full vTiger CRM to HubSpot reference as a PDF, plus the Excel calculator we scope these migrations with: every one of the 40 features as a row, enter your counts, get hours.
Three files: the reference as a PDF, the same reference in Markdown for your AI tool, and the full Excel effort calculator.
vTiger CRM to HubSpot is a high migration, typically 4-8 weeks. Of the 40 features we mapped, 24 carry across as they are and 15 land with something lost: the 40 items nothing moves for you is what will actually set your timeline, not the sync.
Migration Scorecard
- Migration complexity
- High
- Typical timeline
- 4-8 weeks
- Recommended method
- Sync then migrate
- Native sync
- Data sync, two way
- Smart transfer
- Not supported
- HubSpot subscription
- HubSpot Free (basic sync); Data Hub Starter+ for custom field mappings
Feature parity across 40 capabilities
- Maps directly: 24 (60%)
- Maps partially: 15 (38%)
- No equivalent: 1 (3%)
3
Objects synced natively
7
Limitations and traps
40
Manual rebuild items
4
Source editions covered
Where this comes from: Our own research corpus, verified 2026-07-31, behind every number on this page.
The Three Objects That Sync Natively
What the connector moves for you, and which way each one flows.
Contacts
Two wayBecomes Contact
Email address is what the sync matches on by default. Behind that match sits the same split as everywhere else in vTiger: Contacts are people already tied to an account, Leads are the unqualified ones still outside that structure, and the sync treats only the former as ready to go.
Organizations
Two wayBecomes Company
Matching runs on company name or domain by default, and an Organization in vTiger becomes a Company in HubSpot with no renaming needed. Where a group runs several branches or free-zone entities under similar names, check that default match carefully before trusting it to keep them apart.
Opportunities
Two wayBecomes Deal
Deals sync without issue, but the sales stages behind them do not map themselves: expect to build that mapping by hand between vTiger's stage names and HubSpot's pipeline stages before the first Opportunity crosses over.
Seven Things the Sync Does Not Tell You
Each one is documented, and each one has ended a migration in a bad week.
Leads (unqualified) Require Separate Handling
HubSpot has no separate concept of an unqualified prospect: everyone lands as a Contact, distinguished only by lifecycle stage. vTiger keeps Leads and Contacts apart instead, the qualified ones tied to an organisation and the rest sitting on their own, so every Lead in the database needs either converting first or bringing across as a separate import before it can take a lifecycle stage at all.
Workaround: Two routes get there: convert the Leads to Contacts inside vTiger before the sync ever runs, or pull them out in a separate export and bring them into HubSpot as Contacts already carrying a 'Lead' lifecycle stage. Either way, decide it before the first sync rather than mid-migration, since reconciling the two once records have started arriving on both sides is far more work than choosing up front.
Notes, Calls, and Activity History Do Not Transfer via Standard Migration
A standard CSV import will not carry a single note or call log across: HubSpot's import tool simply has no field for it. That leaves every note sitting against an individual record as a case for special handling rather than something the bulk import quietly absorbs, worth knowing before assuming the import covers it.
Workaround: The vTiger API is the route that keeps the detail intact: pull notes and activities out with their timestamps and associations still attached, then bring them into HubSpot through the Engagements API. Where the budget will not stretch to that, archiving the notes as a single text blob in a custom HubSpot property is the simpler fallback, though it trades away the timestamps and the association to a specific record.
Custom Modules Do Not Transfer
Custom modules are usually where a self-hosted vTiger instance carries the most weight: service contracts, project tracking, a bespoke inventory model, whatever a single contractor built onto the platform over the years to fit how the business actually runs. None of that structure, or the data sitting in it, has an automatic path into HubSpot; it simply has no migration route built for it at all.
Workaround: Three places to land it: HubSpot custom objects, an Enterprise-tier feature, custom properties bolted onto the standard objects, or a third-party migration tool built for the job. None of the three is a quick decision; work out the data architecture properly before committing, since a wrong choice here is expensive to unwind once records have already moved.
Inventory/Products and Quotes Do Not Sync
Inventory management, Products, Services and Price Books together, sits natively inside vTiger, along with the Quotes and Invoices modules built alongside it. None of that crosses through the HubSpot Data Sync: the connector was never built to carry commercial documents, only records.
Workaround: Export the product data and rebuild it inside HubSpot's Products library, then recreate the quote templates directly in HubSpot rather than expecting them to arrive. Invoicing is a separate question again: it likely needs its own accounting integration, since HubSpot's quoting tool was not built to replace it.
Documents and File Attachments Require Manual Migration
Whatever is attached to a vTiger record, whether it sits in the documents module or hangs directly off a contact or an opportunity, stays exactly where it is. Neither the Data Sync nor a CSV export carries a single attachment across.
Workaround: Pull the documents out of vTiger's document management system directly, then either re-upload them into HubSpot's file manager or attach them to the individual records through the API. Both routes are manual work, so scope the file count before promising a timeline.
vTiger System IDs Should Not Be Migrated
Contact ID, Org ID, Deal ID and the rest of vTiger's internal identifiers mean nothing on the other side: HubSpot has its own record IDs, and nothing in vTiger's numbering carries any purpose once the records land.
Workaround: Leave the system ID fields out of the migration entirely. If a cross-reference back to the old system would still be useful during the transition, keep the original vTiger ID in a custom HubSpot property instead of importing it as anything meaningful.
Dropdown and Multi-select Field Limitations
Dropdown, radio select and checkbox fields are a known weak point in HubSpot Data Sync: rather than keeping their structure, they can sync as plain one-way text values instead, with the option list behind them lost in the process.
Workaround: Check every field type mapping once the sync is set up rather than trusting it by default, and build compatible HubSpot properties wherever the mapping falls short. Do this check before records rely on it, not after a report comes back wrong.
One vTiger CRM Feature HubSpot Cannot Replace
No workaround closes these. Each one is a capability you would be giving up, so decide who in the business can live without it before you commit to a date.
Purchase Orders
HubSpot has no purchase order management. Requires ERP integration (QuickBooks, NetSuite, SAP).
The 40 Items That Get Rebuilt by Hand
This is the list that separates a quote that holds from one that does not.
Data And Objects
Leads
Unqualified prospects have their own object in vTiger, kept apart from Contacts entirely.
HubSpot: Contacts with lifecycle stage
HubSpot keeps only one contact record, so a Lead and the Contact it eventually converted into are, on the HubSpot side, the very same row rather than two. Settle how the duplicates get reconciled before a single record is imported: fixing it after the fact means reprocessing the whole import, not just the affected rows.
Notes and Activity History
Every call, meeting, email and note ever logged against a record falls into this bucket.
HubSpot: Activities on the record timeline
A CSV export will not touch any of it: only API extraction pulls this history out intact. Put it in the budget as its own line item rather than assuming it travels along with the records for free, because it does not.
Custom Module Data
Whatever lives inside a module built specifically for this instance, rather than one of vTiger's standard modules, falls here.
HubSpot: Custom objects
Whether HubSpot custom objects are even available depends on the tier: confirm which HubSpot plan is actually on the table before the mapping is designed around it, or the custom module data ends up squeezed into ordinary properties instead of the object structure it actually needs.
Products, Services and Price Books
What gets sold, at what price and to which customer, all of it, sits behind this line.
HubSpot: Products and line items
HubSpot works from a single product library rather than vTiger's several price books, so anywhere customer-specific pricing was encoded in a separate price book, that logic has to move into line items or into a dedicated quoting tool instead.
Quotes and Invoices
Whatever document actually goes out to the customer, quote or invoice, is covered here.
HubSpot: Quotes, with invoicing in an accounting tool
HubSpot's own quoting tool handles straightforward pricing well enough but was never built to replace invoicing. Settle where invoicing will actually live once the migration is done before anyone commits to a specific outcome.
Documents and File Attachments
Any file sitting against a record, regardless of which module it was attached to, needs its own pass.
HubSpot: Attachments on records
That pass runs through the API after the records themselves have already landed, re-attaching each file to the record it belonged to one at a time.
Cases and Tickets
vTiger's support records, whatever it called cases or tickets internally, sit here.
HubSpot: Tickets
Set the ticket pipeline up in HubSpot before a single case is imported, or the whole batch lands in the default stage with no distinction between them at all.
Projects
Whatever vTiger was tracking for delivery once a sale had closed falls into this category.
HubSpot: A delivery pipeline and tasks, or an external project tool
There is nothing in HubSpot that matches this directly. Decide early whether post-sale delivery should live inside HubSpot at all, since that single decision changes how large the rebuild actually is.
Campaigns and Campaign Members
Marketing campaigns, and the record of exactly who each one targeted, sit in this line.
HubSpot: Campaigns and lists
Campaign membership turns into list membership on the HubSpot side, but the historical results attached to those old campaigns do not come with it, so campaign reporting effectively starts again from zero on go-live.
Automation
vTiger Workflows
Every automation running across vTiger's modules, the standard ones and whatever custom logic has accumulated on top, falls into this one line.
HubSpot: Workflows
Rebuild happens rule by rule, and only once the pipelines and properties underneath already exist. Start with an inventory rather than a rebuild: an instance that has run for years usually carries several automations nobody remembers the purpose of, and those are worth dropping rather than reproducing.
Email Follow-up Automations
Whatever fires an email automatically off the back of something happening on a record falls under this.
HubSpot: Workflows and sequences
Classify each one individually as a marketing send or a sales sequence rather than as a single group, because the consent rules HubSpot applies differ between the two, and getting that classification wrong is a compliance question, not a cosmetic one.
Record Update Triggers
Anything set to fire the moment a particular field changes value sits in this category.
HubSpot: Property-based workflow enrolment
None of it can be rebuilt until the field exists as a genuine HubSpot property carrying the same values it did in vTiger, so this step has to wait for the custom field mapping to be finished first, not run alongside it.
Notification and Alert Rules
The rules deciding who gets told when a given event happens belong here.
HubSpot: Notification settings and workflow internal emails
HubSpot spreads this across two separate settings areas rather than one, so check both of them deliberately: rebuilding only the half that is obvious leaves the other half of the old alerting silently missing.
Web Form Routing Rules
Whatever used to decide which salesperson a new form submission landed with needs rebuilding here.
HubSpot: Workflow rotation actions
Get the users and teams set up correctly before touching the routing itself, then prove it works with real submissions rather than trusting the configuration on its own.
Approval Processes
Anywhere a record used to need sign-off before it could move forward sits in this category.
HubSpot: Workflow approval actions, or an external tool
HubSpot's own approval capability covers less ground than a mature vTiger instance typically expects. Work out exactly which steps genuinely need sign-off before assuming the old process can simply be rebuilt as it stood; a narrower feature set is not always a problem once the real requirement is named plainly.
Reporting
Custom Dashboards
Any saved dashboard blending sales and support metrics together sits in this category.
HubSpot: Dashboards
Build these only once the underlying reports already exist in HubSpot, not in parallel with them, since a dashboard built against a report that later changes shape has to be rebuilt twice.
Pivot Reports With Aggregations
Any report that sums or averages figures across grouped records belongs here.
HubSpot: Custom reports
HubSpot can do this kind of aggregation, but the way it arranges the calculation is genuinely different from vTiger's. Rebuild starting from the question the original report was actually answering rather than trying to reproduce its exact shape, and the result usually works better than a literal copy would.
Pipeline and Opportunity Reports
Sales reporting that runs over the pipeline itself sits in this line.
HubSpot: Deal reports
None of this works until the deal import is clean and every deal owner resolves to an actual HubSpot user rather than a name that no longer maps to anyone.
Activity and Productivity Reports
Reporting on what each individual user has actually been doing falls here.
HubSpot: Activity reports
This reporting effectively restarts at the point of migration unless the activity history was extracted separately, and that extraction is the expensive item already flagged above, not a small add-on to this one.
Scheduled Report Distribution
Whatever report used to arrive by email on a fixed schedule sits in this category.
HubSpot: Scheduled dashboard emails
HubSpot schedules whole dashboards rather than a single report on its own, so the old grouping of who received which report may need rearranging to fit that model rather than transferring across unchanged.
Charts and Visual Analytics
Whichever chart types vTiger reporting relied on need matching in HubSpot.
HubSpot: Report visualisations
Most of vTiger's chart types have a direct HubSpot counterpart. Where one genuinely does not, the question the chart was actually answering usually still survives being shown a different way, so the loss is rarely as real as it first looks.
Sales And Marketing Config
Pipeline Stages and Probability Settings
The sales stages themselves, and the win probability sitting behind each one, need setting up fresh.
HubSpot: Deal pipelines, stages and stage probability
Build this before almost anything else, probabilities included, because forecasting has nothing to work from until it exists.
Custom Fields Across Modules
Every custom field across Contacts, Organisations, Opportunities and the rest of the modules needs its own place in HubSpot.
HubSpot: Custom properties
vTiger runs more module types than HubSpot has standard objects, so every field has to be individually sorted into wherever it actually ends up living, and the field's type needs mapping just as carefully as its name does, not assumed to carry over automatically because the label matches.
Email and Mail Merge Templates
Templates used both for outbound sends and for merging into documents fall under this line.
HubSpot: Email templates and snippets
Email templates themselves rebuild without much difficulty. Mail merge into a standalone document is a different problem: HubSpot has no direct equivalent for it, and closing that gap likely means bringing in a marketplace tool rather than expecting a native feature to cover it.
Web Forms
Every form currently feeding leads into vTiger needs rebuilding on the HubSpot side.
HubSpot: Forms
Swap every embed code across at the moment of cutover, not gradually, or leads simply keep arriving in the old system while the team is already working out of the new one.
Lead Scoring and Qualification Rules
Whatever logic vTiger used to rank and qualify leads has to be rebuilt on the other side.
HubSpot: Score properties
There is no import path for this: it has to be built from scratch, against whichever signals HubSpot actually records rather than the ones vTiger happened to track.
Custom Layouts and Record Page Designs
The layout of fields on a record, arranged differently for each profile, needs deciding fresh.
HubSpot: Record customisation
HubSpot's control over record layout is less granular than vTiger offered, so this is not a place a full like-for-like rebuild is even possible. Agree with the team what actually needs to be visible on screen day to day, rather than trying to reproduce every layout vTiger happened to have.
Campaign Definitions and Tracking
The way campaigns get defined, and how their results are actually tracked afterwards, both need settling again.
HubSpot: Campaigns and tracking URLs
Settle the tracking convention before the very first HubSpot send goes out; change it partway through and the analytics history ends up cut into two incompatible halves that never quite line up again.
Users And Permissions
User Accounts and Roles
Every login, and the role attached to it, has to be created fresh in HubSpot.
HubSpot: Users and permission sets
Set these up before a single record is imported, since record ownership has nothing to resolve to until the users themselves already exist.
Profile-based Access Controls
Control over which profile can see which module and which field needs rebuilding individually.
HubSpot: Permission sets
vTiger's profiles go finer-grained at the individual field level than HubSpot's model does. Where a field genuinely needs that level of protection, confirm HubSpot can actually enforce it before anyone is told it will, rather than assuming the granularity carried across.
Sharing Rules and Record Visibility
The rules deciding who is allowed to see which records need rebuilding under HubSpot's own model.
HubSpot: Record access settings
HubSpot partitions record visibility on a different logic entirely, so a straight copy of the old rules rarely maps cleanly. Work out what genuinely needs hiding from whom before reproducing rules that may have grown broader than they needed to be over the years.
Territory Management
vTiger's territory hierarchy, and however it drove assignment, needs an equivalent built from nothing.
HubSpot: Properties plus workflow-based assignment
HubSpot has no dedicated territory object at all, so this has to be modelled instead: design the property that will carry the territory value first, then build the assignment rules on top of it, in that order.
Group and Team Definitions
The grouping used for assignment and sharing across users needs a HubSpot equivalent.
HubSpot: Teams
Map what each grouping was actually meant to achieve rather than copying its structure directly: a literal, field-for-field copy tends to lock access down more tightly than was ever intended.
Integrations
Email Server Connections
Whatever IMAP and SMTP connections vTiger has been sending and receiving through need reconnecting on the other side.
HubSpot: Connected inbox and a connected sending domain
A single vTiger setting splits into two separate jobs in HubSpot: connecting each user's mailbox individually, and authenticating the sending domain at the account level. Start the DNS side of that early, since domain authentication has its own lead time regardless of how quickly the rest of the setup goes.
Telephony Integrations
Whatever sits behind calling, an Asterisk box, a Twilio-driven PBX or similar, needs its own answer on the other side.
HubSpot: HubSpot calling or a marketplace provider
A self-hosted PBX integration rarely has a matching HubSpot counterpart waiting for it, so confirm what the replacement actually is before the contract is signed, and build in time for number porting, which runs on the carrier's schedule rather than the project's.
Calendar and Workspace Sync
Whichever of Google Workspace or Microsoft 365 the business already runs on needs reconnecting.
HubSpot: Calendar integration and the meetings tool
This connection is set up per user, not once for the whole account, so the setup time scales with headcount rather than staying fixed.
Payment Gateway Integrations
Whatever gateway takes payment against an invoice sits behind this line.
HubSpot: Payment links, or the accounting tool
This one follows directly from the invoicing decision made earlier: if invoicing ends up living outside HubSpot, the payment gateway naturally goes with it rather than staying behind.
SMS Gateway Integrations
Whichever provider was sending text messages behind vTiger sits here.
HubSpot: A marketplace SMS app
Confirm the replacement app actually logs each text to the record timeline; skip that check and reporting on texting simply disappears, with no error to flag that it happened.
Customer Self-service Portal
Wherever customers have been logging in to view their own tickets needs a genuine replacement.
HubSpot: Customer portal
HubSpot's customer portal is a build in its own right, with its own permissions and its own branding to set up, not a checkbox inside the CRM migration. Confirm it is actually included in what you are signing up for before assuming customers keep the same self-service access they had before.
Third-party Extensions
Any marketplace add-on installed directly into the vTiger instance falls under this line.
HubSpot: App Marketplace integrations, or no equivalent
A vTiger extension typically modifies the application itself, something HubSpot's platform does not permit at all, so the two are not comparable extension models. Some of these extensions have no HubSpot replacement whatsoever, and finding that out at the start of scoping avoids a promise later that nobody can actually keep, particularly relevant on a self-hosted instance where a contractor may have installed extensions years ago that nobody currently on staff fully understands.
The Sequence
Sync First, Then Migrate
Order is the content here. These steps form a dependency chain, and running them out of sequence is a documented way this kind of migration fails.
- 1
Audit
inventory every module actually in use, standard and custom alike, together with the custom fields, workflows, reports and integrations riding on top of them, treating a self-hosted instance's database-level customisations as part of the audit rather than an afterthought
- 2
Clean
remove duplicates and outdated records from the vTiger database before anything moves, since nothing that follows gets cheaper by waiting
- 3
Convert
decide which vTiger Leads should become HubSpot Contacts and tag them with the right lifecycle stage before they cross over, not afterwards
- 4
Connect
set up HubSpot Data Sync running bidirectionally for contacts, companies and deals, since Opportunities are what that last object is called on the vTiger side
- 5
Map
verify and adjust the field mappings the sync proposes by default, sales stage mapping between the two systems included, rather than accepting whatever it suggests
- 6
Sync
let the initial sync run to completion, then validate both data quality and the associations between records rather than assuming a completed sync means a correct one
- 7
Export
pull out whatever the Data Sync did not touch, leads, products, quotes and cases, using vTiger's own Export/Import feature or the API directly
- 8
Import
bring the products into HubSpot's Products library
- 9
Import
bring cases across as HubSpot tickets, which sit under Service Hub
- 10
Extract
pull notes, activities and email history out through the vTiger API, then bring them into HubSpot through the Engagements API on the other side
- 11
Rebuild
map and migrate whatever lived in custom modules to HubSpot custom objects or, where that tier is not in scope, to custom properties instead
- 12
Rebuild
recreate workflows, email templates, web forms, reports and dashboards directly inside HubSpot, none of it arriving on its own
- 13
Migrate
move documents and file attachments across by hand or through the API, since neither the sync nor the CSV export will touch them
- 14
Disconnect
switch off Data Sync only once the migration has actually been validated, not on a fixed date picked in advance
Typically 4-8 weeks end to end, depending on how much of the source configuration is actually in use.
Effort Estimator
How Big Is This Migration?
A handful of questions, no sign-up required. The ranges come from the research above: every feature we mapped carries an effort figure, and this totals the ones that apply to your instance.
Estimated Effort
Answer a couple of questions and an hours range appears here.
Built from our research on 40 vTiger CRM features. It is a range, not a quote.
A planning range, not a quote. It is delivery effort only, with no project management line. What moves it most in practice is data quality.
What Goes Wrong Most Often
The failures that show up again and again, in roughly the order they bite.
vTiger's Split Between Lead and Contact Has No Equivalent Object in HubSpot, So It Has to Be Resolved Carefully Through Lifecycle Stage Mapping Instead, or the Two Blur Into Each Other on Arrival
vTiger's split between Lead and Contact has no equivalent object in HubSpot, so it has to be resolved carefully through lifecycle stage mapping instead, or the two blur into each other on arrival
Notes and Activities Cannot Be Brought in Through a Standard CSV Import at All
the API is the only route that actually works
Custom Modules Are Usually vTiger's Strongest Feature and Its Hardest to Leave Behind
nothing about them migrates automatically, so the target architecture in HubSpot needs planning early rather than worked out once records are already moving
A Self-hosted, Open-source vTiger Instance Is Not the Same Starting Point as the Cloud Product
years of schema customisation, often done directly against the database by whoever was maintaining it, can leave the two versions barely resembling each other
Inventory Management, Products, Price Books, Quotes and Invoices Together, Is One of the Heavier Rebuilds in This Migration, Not a Light One
Inventory management, Products, Price Books, Quotes and Invoices together, is one of the heavier rebuilds in this migration, not a light one
Telephony Sitting on Asterisk or a Similar PBX Setup May Need Replacing Outright With HubSpot Calling or a Separate VoIP Integration, Rather Than Reconnecting as It Stood
Telephony sitting on Asterisk or a similar PBX setup may need replacing outright with HubSpot Calling or a separate VoIP integration, rather than reconnecting as it stood
Anyone Using vTiger's Customer Portal Today Will Need a Genuinely New Solution, Either HubSpot's Knowledge Base or Its Own Customer Portal, Since Nothing Carries the Old One Across
Anyone using vTiger's customer portal today will need a genuinely new solution, either HubSpot's Knowledge Base or its own Customer Portal, since nothing carries the old one across
Keeping the Original vTiger ID in a Custom HubSpot Property Is Common Advice for the Transition Period, Since It Gives a Way to Verify a Record Made the Crossing Correctly Without Relying on Memory Alone
Keeping the original vTiger ID in a custom HubSpot property is common advice for the transition period, since it gives a way to verify a record made the crossing correctly without relying on memory alone
Questions
vTiger CRM To HubSpot, Answered
Yes. Data sync, two way, covering 3 objects. What it will not do is rebuild your configuration: that is the 40 items below.
Typically 4-8 weeks. Complexity is driven by automation and reporting depth, not by record count: the connector moves records, so a large database on its own will not extend the timeline.
Of 40 features we mapped, 24 (60%) carry across directly and 15 (38%) map partially, meaning something is lost or reshaped along the way. 1 has no HubSpot equivalent at any tier, worth raising before sign-off rather than after.
40 items have to be rebuilt by hand, and 7 documented limitations are not surfaced by the connector at all. Both lists are on this page, in full, for whoever is scoping the work.
HubSpot Free (basic sync); Data Hub Starter+ for custom field mappings
1: Purchase Orders. If your team depends on one of these, settle it before you sign rather than discovering it at cutover, when the alternative is a custom build.
Only in one direction. The sync is not bidirectional here, so running both systems means choosing a system of record up front and accepting drift in the other.
Ready to Get Started?
Plan Your Migration
Tell us which platform you are leaving, how much of it is custom, and when you need to be live in HubSpot. We will tell you what transfers directly, what needs rebuilding, and how long the move actually takes.