Skip to main content
Meticulosity Global

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.

PDF documentPDFMarkdown documentMDExcel workbookXLS
vTiger CRM logoHubSpot logo

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

Complexity: High
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

2460%
1538%
13%
  • 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 wayTwo way

Becomes 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 wayTwo way

Becomes 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 wayTwo way

Becomes 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. 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. 2

    Clean

    remove duplicates and outdated records from the vTiger database before anything moves, since nothing that follows gets cheaper by waiting

  3. 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. 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. 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. 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. 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. 8

    Import

    bring the products into HubSpot's Products library

  9. 9

    Import

    bring cases across as HubSpot tickets, which sit under Service Hub

  10. 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. 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. 12

    Rebuild

    recreate workflows, email templates, web forms, reports and dashboards directly inside HubSpot, none of it arriving on its own

  13. 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. 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.

Custom fields and properties across all records

Everything beyond the out-of-the-box fields, added up across contacts, companies, deals and anything custom.

Automations, workflows and rules

Anything that fires on its own: workflows, sequences, assignment and validation rules, approvals.

Custom reports and dashboards

Only the ones the business actually uses. Reports nobody opens do not need rebuilding.

Marketing assets to rebuild

Email templates, forms, landing pages, lists and segments taken together.

Custom objects or extra pipelines

Record types beyond contacts, companies, deals and tickets.

Third-party integrations wired into the current system

Anything connected by API, webhook or installed package that has to keep working afterwards.

Roughly how many contact records

This affects the sync approach and the reconciliation effort, not the per-record work. The connector moves records; people do not.

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

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.