CRM migration

Migrate from Basic Online CRM to Twenty CRM

Field-level mapping, validation, and rollback between Basic Online CRM and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

Basic Online CRM logo

Basic Online CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

91%

10 of 11

objects map 1:1 between Basic Online CRM and Twenty CRM.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Basic Online CRM to Twenty CRM is a deliberate outgrow migration. Basic Online CRM provides a functional contact and deal tracker with no workflow automation, undocumented API access on lower tiers, and a data model that stores Deal-to-Contact associations by internal numeric ID rather than name or email. We extract via bulk CSV download, cross-reference those internal IDs against the contact list during the mapping phase, and recreate associations in Twenty by matching Contact and Company names. Custom fields export as untyped strings, so we ask customers to validate intended data types before schema creation in Twenty. Attachments, user ownership structure, and automation rules do not migrate; we flag them in the pre-migration checklist and deliver a written inventory for the customer's admin to configure post-migration. Timeline runs two to four weeks for typical solo or small-team data volumes.

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

Basic Online CRM logo

Basic Online CRM

What's pushing teams away

  • No published pricing creates procurement friction — buyers comparing against HubSpot Free, Pipedrive, or Zoho cannot self-serve evaluate cost and must initiate a sales conversation just to get a ball-park figure.
  • Limited public review footprint — Basic Online has minimal presence on G2, Capterra, or independent comparison sites, which makes diligence difficult for buyers who rely on peer reviews.
  • Suite breadth comes at the cost of depth — the CRM trades feature depth (automation, AI scoring, advanced reporting) for tight integration with the vendor's other apps, so teams that need pipeline analytics or workflow rules outgrow it.
  • Small-vendor risk — Basic Business Systems Ltd is a UK SMB software house rather than a global CRM platform, which raises continuity questions for organisations standardising on a long-term system of record.
  • Niche geographical and customer-segment fit — the product is positioned for UK SMBs in service industries; buyers needing native multi-currency, multi-region tax, or large user counts move to broader platforms like HubSpot or Zoho.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Basic Online CRM objects map to Twenty CRM

Each row shows how a Basic Online CRM object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Basic Online CRM

Contact

maps to

Twenty CRM

People

1:1
Fully supported

Basic Online CRM Contacts map directly to Twenty People records. We preserve name, email, phone, and address fields 1:1. Any non-standard fields land as custom properties in Twenty. We validate email format during transform and flag any malformed addresses for customer review before import. The Twenty People object is created before any Opportunity import so that the Opportunity-to-Person relation is satisfied at the moment of insert.

Basic Online CRM

Company

maps to

Twenty CRM

Company

1:1
Fully supported

Basic Online CRM Companies map to Twenty Company records. Companies are a flat list without subsidiaries or hierarchies in Basic Online CRM, and Twenty stores companies as a standard object with no required hierarchy. We import by name match and flag duplicates where the same company name appears multiple times in the source export. The Company record is created before People records that reference it via a domain lookup.

Basic Online CRM

Deal

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Basic Online CRM Deals map to Twenty Opportunities. The critical difference is that Basic Online CRM exports Deal-to-Contact associations by internal numeric ID, not by name or email. We request a dual export of Contacts and Deals, cross-reference the internal IDs against the contact list during the mapping phase, and recreate the Opportunity-to-Person association in Twenty by matching Contact name. If a Deal references a deleted Contact, we flag it as an orphaned Opportunity for customer resolution before import.

Basic Online CRM

Deal Stage

maps to

Twenty CRM

Opportunity Stage

lossy
Fully supported

Basic Online CRM pipeline stages are simple text labels exported as strings. We map each stage to a Twenty Opportunity Stage with a matching label. If the customer has configured custom stage names in Basic Online CRM, we preserve those labels verbatim in Twenty so that historical pipeline reports remain readable after migration.

Basic Online CRM

Custom Field

maps to

Twenty CRM

Custom Field

1:1
Fully supported

Basic Online CRM custom fields exist but are not typed (all stored as plain strings regardless of intended type). We migrate them as-is to Twenty, creating fields of the appropriate type in Twenty's Data Model before import. Date fields are the highest-risk type: Basic Online CRM exports may show as 'Jan 15 2024' in one export and '15/01/2024' in another. We standardize date formats during transform using ISO 8601 and ask customers to validate custom field mappings before final import.

Basic Online CRM

Note

maps to

Twenty CRM

Note

1:1
Fully supported

Basic Online CRM Notes are free-text and untyped. We migrate them as plain-text Note records in Twenty, linked via the standard relation to the parent People or Company record. Note timestamps are not always explicitly set in Basic Online CRM; we preserve whatever timestamp is available and flag any notes with missing timestamps for customer review.

Basic Online CRM

Task

maps to

Twenty CRM

Task

1:1
Fully supported

If the Basic Online CRM instance has task records, they are simple title-and-status items with no due-date enforcement and no assignee fields surfaced in exports. We migrate them as Twenty Task records with Status, Priority, and ActivityDate preserved where available. The absence of assignee fields in the source export means we ask customers upfront which team member should own migrated tasks and apply bulk owner assignment during the write-back phase.

Basic Online CRM

User/Owner

maps to

Twenty CRM

Workspace Member

1:1
Fully supported

Basic Online CRM has a basic user concept but does not surface record-level owner assignment in its exports. We extract the distinct user list from the source and ask customers to specify the corresponding Twenty workspace member for each. We then apply bulk owner assignment during the write-back phase. If a Basic Online CRM user has no corresponding Twenty account, we flag them for the customer to provision before migration proceeds past the owner resolution step.

Basic Online CRM

Attachment

maps to

Twenty CRM

Attachment

1:1
Fully supported

Basic Online CRM does not host or store file attachments natively. We flag that any documents referenced in Notes or Deal descriptions will not migrate and must be re-uploaded manually. We include a pre-migration checklist item asking customers to identify and inventory any such file references so they can be located and re-attached post-migration in Twenty.

Basic Online CRM

Pipeline

maps to

Twenty CRM

Pipeline

1:1
Fully supported

Basic Online CRM's pipeline configuration (stage order, stage labels, probability values if set) migrates as a Twenty Opportunity pipeline. We extract pipeline metadata from the source's pipeline settings export and configure the matching pipeline in Twenty before any Opportunity records are written. The pipeline must exist in Twenty before Opportunities can be assigned to it.

Basic Online CRM

Activity

maps to

Twenty CRM

Task

1:1
Fully supported

Basic Online CRM does not have a first-class Activity object separate from Notes and Tasks, but if the instance contains email log entries or meeting records in the Notes field, we extract them as standalone Task records in Twenty with the activity type indicated in a custom field. The original timestamp is preserved as ActivityDate.

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.

Basic Online CRM logo

Basic Online CRM gotchas

High

CSV export silently truncates large contact lists

High

Deal-Contact associations are stored by internal ID only

Medium

Custom field data types are not preserved on export

Medium

No native attachment storage means files are not migrated

Low

User/owner structure is not explicit in exported data

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Deal-to-Contact associations use internal numeric IDs not names

    Basic Online CRM exports Deals with the linked Contact referenced by an internal numeric ID rather than name or email. We request a dual export of Contacts and Deals, cross-reference the IDs against the contact list during mapping, and recreate associations in Twenty by matching Contact name. If a Deal references a deleted Contact, it surfaces as an orphaned Opportunity we flag for customer resolution before import. This step adds one to two days of reconciliation work for accounts with stale or incomplete relationship data.

  • CSV export silently truncates large contact lists at 5,000 rows

    Basic Online CRM's web interface CSV export caps at approximately 5,000 rows per download. We detect record counts during scoping and split large exports into multiple CSV files, merging them before writing to Twenty. Customers with 10,000+ contacts must manually run multiple exports unless they have Enterprise-tier API access. We automate the chunking and reassembly process but require the customer to provide all exported files.

  • Custom field data types are not preserved on export

    All custom field values in Basic Online CRM export as plain strings regardless of their intended type. Date fields in particular may appear inconsistently across exports. We standardize date formats to ISO 8601 during the transform phase and ask customers to validate custom field type intentions before we create the corresponding Twenty fields in the Data Model. A mismatch between intended and actual field type causes data rejection at import.

  • Twenty requires fields to exist before CSV import

    Twenty's CSV import creates records but does not create fields. We pre-create every custom field in Settings, Data Model before importing data. This means the migration sequence requires schema deployment before data load, and any field additions after schema lock require a second deployment cycle. We coordinate with the customer to lock the field schema at least three business days before the import window.

  • Workspace members must exist before owner lookups resolve

    If Basic Online CRM data includes user references (Deal owner, Note author), those workspace members must exist in Twenty before import. Otherwise, those relations cannot be mapped during data load. We invite users to the Twenty workspace during the discovery phase, wait for acceptance, and validate the Members list before proceeding to record import. This adds two to five days to the timeline depending on team response time.

Migration approach

Six steps for a successful Basic Online CRM to Twenty CRM data migration

  1. Discovery and export scaffolding

    We audit the Basic Online CRM instance: record counts across Contacts, Companies, Deals, Notes, and Tasks; pipeline stage configuration; custom field definitions and their intended data types; any exported CSV files already available. We detect whether the account is on a tier with API access (Enterprise custom quote only) or must rely on bulk CSV downloads. We scaffold the multi-file export plan for any accounts exceeding 5,000 contacts and confirm the customer's access to the export function.

  2. CSV extraction and internal ID resolution

    We extract data via bulk CSV download where API access is absent. For accounts with 5,000+ records we automate the multi-file export and reassembly process. We run the Deal-to-Contact cross-reference to map internal numeric IDs to contact names, flag orphaned Deals referencing deleted contacts, and produce a reconciliation report for the customer to resolve before migration proceeds. This step is the critical path item for Basic Online CRM migrations.

  3. Transform and type normalization

    We transform exported data for Twenty's schema. Custom field string values are cast to their intended types using the customer's validated type map. Date fields are normalized to ISO 8601. We apply the owner assignment mapping (Basic Online CRM user to Twenty workspace member) to all records. We generate a per-record mapping document showing source field, destination field, transformation applied, and any exceptions flagged for customer review.

  4. Twenty workspace preparation

    We create all custom fields in Twenty's Data Model (Settings, Data Model) before any CSV import. We configure the Opportunity pipeline stages to match the Basic Online CRM stage labels. We invite all workspace members and validate their acceptance before proceeding to record import. We confirm with the customer that the Twenty workspace is on the Pro or Organization plan so that API access and custom object support are available.

  5. Sandbox migration and validation

    We run a full migration into the customer's Twenty workspace using the production data volume. The customer reviews a random sample of migrated records (Contacts, Companies, Opportunities, Notes) against the Basic Online CRM source, verifies field mappings, and signs off before we proceed to production. Any mapping corrections, type mismatches, or duplicate resolution decisions happen here, not in production.

  6. Production migration and cutover

    We run production migration in dependency order: Companies (from Basic Online CRM Companies), People (with Company name resolved), Opportunities (with Person and Company lookups resolved), Tasks, and Notes. We freeze Basic Online CRM writes during the cutover window, run a final delta migration of any records modified during the migration window, and enable Twenty as the system of record. We deliver the automation and workflow rebuild inventory document to the customer's admin. We support a one-week post-migration window for reconciliation issues raised by the team.

Platform deep dives

Context on both ends of the pair

Basic Online CRM logo

Basic Online CRM

Source

Strengths

  • Zero-installation browser-based interface with no desktop client required
  • Free tier available for single-user evaluation with basic contact and deal management
  • Immediate onboarding with no credit card required for trial
  • Built-in email tracking and basic pipeline visualisation on the free plan
  • Ships with pre-built CSV import for Contacts and Companies

Weaknesses

  • No native mobile app; fully browser-dependent on desktop
  • Limited reporting and analytics beyond basic pipeline totals
  • No workflow automation or custom business logic on any tier
  • API access is undocumented or absent on lower tiers
  • No native integrations with email clients, calendars, or third-party tools
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Basic Online CRM and Twenty CRM.

  • Object compatibility

    C

    4 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

    Basic Online CRM: Not publicly documented.

  • Data volume sensitivity

    B

    Basic Online CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Basic Online CRM to Twenty CRM 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 Basic Online CRM to Twenty CRM data migrations

Answers to the questions buyers ask most during Basic Online CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Basic Online CRM to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Typical migrations land between two and four weeks. Solo and small-team accounts with under 5,000 contacts, fewer than 1,000 deals, and no complex custom field structures complete in two to three weeks. Accounts with 5,000-15,000 contacts, orphaned Deal-to-Contact relationships requiring manual resolution, and 20+ custom fields requiring type validation move to three to six weeks because of the dual-export reconciliation, custom field type validation, and bulk-chunked CSV reassembly.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Basic Online CRM.
Land in Twenty CRM, 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