Migrate your OpenCRM data
UK-based mid-market CRM built on VtigerCRM heritage with all features unlocked at every tier, targeting price-conscious small-to-midsize teams who need a full CRM without enterprise pricing.
In its favor
Why people choose OpenCRM
The signal that keeps OpenCRM on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
All features included at every tier — no paywalls for automation, reporting, or custom fields, making OpenCRM a predictable flat-cost option for teams that need full functionality without tier-gating.
Per-user pricing model that does not scale with contact volume, unlike HubSpot which bills on marketing contact count — attractive for businesses with large databases.
Strong customer service reputation (4.7/5 on Capterra) with consultancy, training, and support offered as standard bundled services rather than paid add-ons.
Built on the mature VtigerCRM codebase (5 million+ downloads since 2004), providing a stable and well-understood data architecture beneath the OpenCRM layer.
Web-based cloud deployment with no local installation required, marketed as an Anytime-Anywhere solution with automatic updates on new releases.
User interface looks and feels dated compared to modern CRM tools, with clunky navigation, hard-to-find menus, and a visual design that frustrates teams accustomed to contemporary UX.
Bugs and performance issues reported by some users including software freezing and unexpected behavior, particularly under heavy use or with large datasets.
Limited public API documentation and no developer community presence, making custom integrations and programmatic data access harder to implement without vendor involvement.
Smaller market share and review volume compared to major CRM platforms, meaning fewer community resources, third-party integrations, and migration guides are available online.
Reasons to switch
Why people leave OpenCRM
The recurring reasons buyers give for replacing OpenCRM. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where OpenCRM fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
OpenCRM pricing overview
OpenCRM charges a flat per-user monthly rate of £39 with all features unlocked at every subscription level. There is no per-contact billing, no marketing-contact surcharge, and no mandatory annual contract requirement — making it predictable for teams of any size with large databases.
Standard
Tier 1 of 1
£39/user/month
What's included
Need help selecting your CRM?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on OpenCRM's schedule — see our quote-based pricing →
What gets migrated
OpenCRM object support
Object-by-object support for OpenCRM migrations. Per-pair details surface during scoping.
Contacts
Fully supportedStandard contact records with name, email, phone, address, and custom fields. Exportable via CSV from the contact list view. We map contact fields directly using the standard field names as they appear in the export column headers.
Companies
Fully supportedCompany/Organisation records that serve as parent entities for Contacts. Companies must be imported before Contacts to preserve the relationship linkage. We validate that each Contact has a valid Company ID or name match before committing.
Deals
Fully supportedDeals are linked to either a Contact or a Company and carry pipeline stage, value, expected close date, and owner assignment. We map Deal fields including the pipeline stage name which may require value-mapping if the destination CRM uses different stage terminology.
Pipeline Stages
Mapping requiredOpenCRM uses a configurable pipeline with user-defined stage names. Migration requires a stage-name map between source and destination stage values since they rarely align 1:1 across different CRM platforms.
Activities
Mapping requiredActivity records (calls, meetings, tasks) are supported but stored with different date/time formats and owner fields. We normalize timestamps to UTC and map owner names to user IDs in the destination system.
Notes
Mapping requiredNotes attached to contacts, companies, or deals require parent-entity mapping to preserve the correct association in the destination CRM. We run a post-import audit to verify note-parent linkage.
Custom Fields
Mapping requiredOpenCRM supports custom fields on all primary objects. Custom field names and data types vary by implementation and must be discovered per-tenant during the scoping phase. We map them field-by-field with type coercion for mismatched formats (e.g., date vs. datetime).
Attachments
Mapping requiredFile attachments stored against contacts, companies, or deals are exportable via the UI but require separate handling from record data. We extract attachments to a file store and generate reference links in the destination CRM.
Users/Owners
Mapping requiredUser records and deal/contact ownership assignments must be mapped between systems. We use name matching with a lookup table for cases where user IDs do not correspond across source and destination.
Tags/Labels
Mapping requiredTag-based categorisation on contacts and companies is supported. Tags migrate as flat string arrays and may need to be converted to labels, lists, or a custom tag field in the destination system.
| Object | Support | Notes |
|---|---|---|
| Contacts | Fully supported | Standard contact records with name, email, phone, address, and custom fields. Exportable via CSV from the contact list view. We map contact fields directly using the standard field names as they appear in the export column headers. |
| Companies | Fully supported | Company/Organisation records that serve as parent entities for Contacts. Companies must be imported before Contacts to preserve the relationship linkage. We validate that each Contact has a valid Company ID or name match before committing. |
| Deals | Fully supported | Deals are linked to either a Contact or a Company and carry pipeline stage, value, expected close date, and owner assignment. We map Deal fields including the pipeline stage name which may require value-mapping if the destination CRM uses different stage terminology. |
| Pipeline Stages | Mapping required | OpenCRM uses a configurable pipeline with user-defined stage names. Migration requires a stage-name map between source and destination stage values since they rarely align 1:1 across different CRM platforms. |
| Activities | Mapping required | Activity records (calls, meetings, tasks) are supported but stored with different date/time formats and owner fields. We normalize timestamps to UTC and map owner names to user IDs in the destination system. |
| Notes | Mapping required | Notes attached to contacts, companies, or deals require parent-entity mapping to preserve the correct association in the destination CRM. We run a post-import audit to verify note-parent linkage. |
| Custom Fields | Mapping required | OpenCRM supports custom fields on all primary objects. Custom field names and data types vary by implementation and must be discovered per-tenant during the scoping phase. We map them field-by-field with type coercion for mismatched formats (e.g., date vs. datetime). |
| Attachments | Mapping required | File attachments stored against contacts, companies, or deals are exportable via the UI but require separate handling from record data. We extract attachments to a file store and generate reference links in the destination CRM. |
| Users/Owners | Mapping required | User records and deal/contact ownership assignments must be mapped between systems. We use name matching with a lookup table for cases where user IDs do not correspond across source and destination. |
| Tags/Labels | Mapping required | Tag-based categorisation on contacts and companies is supported. Tags migrate as flat string arrays and may need to be converted to labels, lists, or a custom tag field in the destination system. |
Gotchas
What to watch for in OpenCRM migrations
Issues we've hit on past OpenCRM migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
Bulk import without CRM ID or ExternalID creates duplicate records
Import ordering dependency: Companies before Contacts
No documented public REST API for programmatic export
Pipeline stage names are tenant-defined and require manual mapping
| Severity | Issue |
|---|---|
| High | Bulk import without CRM ID or ExternalID creates duplicate records |
| Medium | Import ordering dependency: Companies before Contacts |
| Medium | No documented public REST API for programmatic export |
| Low | Pipeline stage names are tenant-defined and require manual mapping |
Leaving OpenCRM?
Where OpenCRM customers move next
12 destinations OpenCRM can migrate to.
How a OpenCRM migration works
Four steps, OpenCRM-specific
Connect
API key (not publicly documented) into OpenCRM. Scopes limited to read-only on the data we move.
Map
We translate OpenCRM-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate OpenCRM quirks before production.
Migrate
Full migration with OpenCRM rate-limit handling. Rollback available throughout.
FAQ
OpenCRM migration FAQ
Answers to the questions buyers ask most during OpenCRM migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your OpenCRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationReady when you are
Migrate OpenCRM.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your OpenCRM setup and destination — written quote back within a business day.