CRM migration

Migrate from Combit CRM to Twenty CRM

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

Combit CRM logo

Combit CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

70%

7 of 10

objects map 1:1 between Combit CRM and Twenty CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Combit CRM to Twenty CRM is a migration from a German-language, on-premise-oriented platform with no REST API to a modern open-source CRM with a GraphQL API and a Notion-like interface. Combit CRM has no publicly documented API, which means we extract data either via direct database access for on-premise deployments or through structured CSV exports from the application's built-in export functionality. The extraction phase requires a bilingual contact or German-speaking analyst to navigate the admin panel and confirm custom field definitions. We resolve the address-to-contact relationship during the load phase, preserving the parent Address record linkage that Combit CRM uses as a separate entity. Custom fields map to Twenty's custom field model, but Twenty requires all custom fields and custom objects to be created in the workspace before CSV import, which we handle as a pre-import configuration step. Projects map to Opportunities with a custom field carrying the original Combit project identifier. Workflows, automations, and custom reports do not migrate; we deliver a written inventory of Combit workflows requiring rebuild in Twenty's workflow engine.

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

Combit CRM logo

Combit CRM

What's pushing teams away

  • Interface feels technical and sophisticated—multiple reviewers describe the UI as complex, with input masks that lack a modern design feel.
  • Difficulty mapping daily work processes—users report that intuitive process mapping is harder than expected despite the automation capabilities.
  • Feature gaps relative to modern CRMs—some reviewers noted the platform required more features than it provided during their evaluation period.
  • German-only language barrier—businesses outside German-speaking regions cannot use the platform, limiting international team adoption.

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 Combit CRM objects map to Twenty CRM

Each row shows how a Combit 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.

Combit CRM

Address (Anschriften)

maps to

Twenty CRM

Address / Location

lossy
Fully supported

Combit CRM stores contact locations as separate Address records that can link to multiple contacts. We map these to Twenty's standard address fields on the People record or create a linked Address/Location custom object if the customer requires multiple addresses per contact. Address is loaded before any Contact import so that the lookup relationship is satisfied at the moment of Contact insert.

Combit CRM

Contact (Kontakte)

maps to

Twenty CRM

People

1:1
Fully supported

Combit CRM Contacts map directly to Twenty People records. Standard fields (name, company association, phone, email) migrate with type preservation. We preserve the link to the parent Address record by resolving the Combit Address ID to the corresponding Twenty Location record during import. Any German-language field labels are translated during the mapping phase using the bilingual discovery output.

Combit CRM

Company (Firmen)

maps to

Twenty CRM

Company

1:1
Fully supported

Combit CRM Company records map directly to Twenty Company records. Company name becomes the primary field, and industry, website, and phone fields map from equivalent Combit properties. Company is created before any People import so that the People-Company relationship is established at insert time.

Combit CRM

Deal (Verkäufe/Geschäfte)

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Combit CRM Deals map to Twenty Opportunities. The deal stage property maps to Twenty's Opportunity stage, pipeline assignment maps to a Twenty pipeline, and deal value maps to the Opportunity amount. Combit's configurable pipeline stages are recreated as Twenty Opportunity statuses before migration. The original Combit deal identifier is preserved in a custom field for audit.

Combit CRM

Project (Projekte)

maps to

Twenty CRM

Opportunity (custom project mapping)

lossy
Fully supported

Combit CRM Projects can span multiple contacts and activities and are not a standard CRM object in Twenty. We map Project records to Twenty Opportunities with a custom field carrying the original project identifier, and preserve associated line items, budgets, and dates as Opportunity fields or a linked custom object if the customer's project structure is complex. The customer chooses the mapping strategy during scoping based on how they use Projects in Combit.

Combit CRM

Activity (Aktivitäten)

maps to

Twenty CRM

Task / Note

1:1
Fully supported

Combit CRM Activities include calls, meetings, tasks, and notes attached to contacts or projects. Activity type, date, duration, and description map to Twenty Task records. Meeting activities map to Events with StartDateTime, EndDateTime, and Location preserved. We set the activity date to the original Combit timestamp to preserve the timeline ordering. Activity-to-contact linkage resolves via People ID lookup at migration time.

Combit CRM

Custom Field (Benutzerdefinierte Felder)

maps to

Twenty CRM

Custom Field / Custom Object

lossy
Fully supported

Combit CRM allows extensive user-defined fields across objects. We identify all custom field definitions during discovery (requiring a bilingual contact or German-speaking analyst), map their data types to equivalent Twenty field types, and flag any that require a custom object rather than a standard custom field. All custom fields and custom objects are created in Twenty before any data import begins per Twenty's CSV import requirement.

Combit CRM

User / Owner (Benutzer/Vertriebspartner)

maps to

Twenty CRM

Workspace Member

1:1
Fully supported

Combit CRM User and Owner records define who is responsible for contacts, deals, and activities. We map user email addresses and names to Twenty workspace members. Users must be invited to the Twenty workspace and accept their invitations before any records with owner references are imported, per Twenty's import documentation. Owner assignment history is preserved as a custom field if audit trail is required.

Combit CRM

Attachment / Document

maps to

Twenty CRM

Attachment / File

1:1
Fully supported

Combit CRM can store file attachments on records. We extract attachments to a file store, preserve original filenames, and create attachment links at the destination using Twenty's file attachment mechanism. Binary file content migrates directly; linkage to the parent People, Company, or Opportunity record is resolved at import time.

Combit CRM

Tag / Category (Kategorien)

maps to

Twenty CRM

Tag / Label

1:1
Fully supported

Combit CRM supports categorical tagging of records. We extract tag values and map them to Twenty's tag or label model, consolidating multi-value tags into a compatible field format. If Twenty's tag model differs structurally from Combit's category model, we use a multi-select text field as the migration target with tag values as pipe-delimited entries.

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.

Combit CRM logo

Combit CRM gotchas

High

No documented REST API for automated migration

Medium

German-language interface complicates discovery

Medium

On-premise deployments require database-level extraction

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

  • Combit CRM has no REST API; extraction requires database access or CSV exports

    Combit CRM has no publicly available REST API documented in English or German. We cannot run API-based migration jobs against it. For on-premise deployments we negotiate read-only database credentials and run extraction queries directly against the Combit schema, documenting table structure, primary keys, and foreign key relationships before writing transform logic. For cloud deployments we use the application's built-in CSV/Excel export functionality and validate row counts against the application's reported totals. If the application export is limited, we negotiate a custom export scope with the customer and validate data completeness before transformation begins.

  • German-language discovery requires bilingual scoping support

    Combit CRM is available in German only. During migration scoping, we require a bilingual contact who can navigate the admin panel, identify custom field definitions, review pipeline stages, and confirm export options. All field names, picklist values, and workflow names must be translated during the mapping phase to ensure correct schema alignment at Twenty. This discovery overhead adds scope to the initial scoping call and may extend the project timeline by one to two weeks if a bilingual contact is not available at project kickoff.

  • Twenty requires custom objects and fields to exist before CSV import

    Twenty's CSV import creates records, not fields. All custom fields and custom objects must be created in Settings, Data Model before any import begins. We handle this as a pre-import configuration step after the Combit schema audit. If Combit has extensive custom field coverage across multiple objects, this pre-configuration phase adds one to three days of upfront work. Failing to pre-create fields results in the import skipping those columns silently, which only surfaces during post-migration reconciliation.

  • Twenty lacks automated incremental numbering for Opportunities

    Reddit discussions from the selfhosted community note that Twenty's migration stalled because there is no automated incremental numbering system for Opportunities or project IDs. If Combit CRM uses a structured numbering scheme for deals or projects, we preserve the original identifier in a custom field rather than relying on Twenty's default naming. The customer should decide during scoping whether the original deal or project number has business value before we set the migration strategy.

  • Workflows, automations, and reports do not migrate to Twenty

    Combit CRM's deep workflow automation with configurable triggers across departments has no direct equivalent in Twenty's workflow engine at the migration level. We do not migrate workflows as code. We deliver a written inventory of every Combit workflow with its trigger, conditions, and actions, and the customer's team rebuilds them in Twenty's workflow engine post-migration. Custom reports similarly do not migrate; we document the Combit report definitions with their filters and columns for the customer's admin to recreate in Twenty's reporting interface.

Migration approach

Six steps for a successful Combit CRM to Twenty CRM data migration

  1. Discovery and extraction method selection

    We audit the Combit CRM deployment (on-premise or cloud), confirm database access availability for on-premise instances, and identify a bilingual contact or engage a German-speaking analyst for the discovery phase. We catalog all standard and custom field definitions, pipeline stages, address-contact relationships, activity types, and any existing workflow definitions. The discovery output is a written migration scope that specifies extraction method (database query or CSV export), record counts per object, and any German-to-English field label translations required. We also confirm the target Twenty deployment method (cloud-hosted or self-hosted) and provision the Twenty workspace.

  2. Schema design and Twenty workspace preparation

    We design the destination schema in Twenty. This includes creating custom objects and custom fields to match the Combit data model, configuring Opportunity pipelines and statuses that mirror Combit deal stages, and setting up the Twenty workspace structure (Members, roles, data model). All custom fields and custom objects are created in Twenty before any data import begins, per Twenty's import requirements. We map Combit Address records to Twenty address fields or a linked Address/Location object based on the customer's address multiplicity requirements.

  3. Data extraction and transformation

    For on-premise deployments we run extraction queries against the Combit database, documenting the table structure, primary keys, and foreign key relationships. For cloud deployments we generate CSV exports from Combit's built-in export functionality, exporting each object type separately. We transform Combit field values to match Twenty's data types, translate German-language picklist values to their English equivalents using the discovery mapping, and resolve address-to-contact linkages using the Combit Address ID as a foreign key. We apply deduplication rules during transformation if the customer has identified duplicate Combit records to clean.

  4. Sandbox or staging migration and reconciliation

    We run a test migration into the Twenty workspace using production-like data volume. The customer's team spot-checks 25-50 records per object against the Combit source, verifying field mapping accuracy, relationship integrity (People-Company, Opportunity-Company), and activity timeline completeness. We reconcile row counts from the extraction output against records loaded in Twenty and resolve any mapping corrections before proceeding to production migration. This step catches German field label translation errors and custom field creation gaps before any data lands in the production workspace.

  5. Owner reconciliation and Twenty member provisioning

    We extract every distinct Combit User and Owner referenced on People, Company, Opportunity, and Activity records and match by email against the Twenty workspace Members. Users must exist in Twenty before any records with owner references are imported. The customer's admin provisions any missing Members and waits for acceptance. Owner assignment history is preserved as a custom field on migrated records if the customer requires an audit trail of original assignments.

  6. Production migration in dependency order

    We run production migration in record-dependency order: Address records (if separate entity), Companies, People (with Address and Company lookups resolved), Opportunities (with Company and Member lookups resolved), and Activity history (Tasks and Events). Each phase emits a row-count reconciliation report before the next phase begins. We use bulk import with chunking and backoff handling to manage volume. We flag any records with unresolved owner references for the customer's admin to address before resuming.

  7. Cutover, validation, and workflow rebuild handoff

    We freeze Combit CRM writes during cutover, run a final delta migration of any records modified during the migration window, then enable Twenty as the system of record. We deliver the Combit workflow and automation inventory document with each workflow's trigger, conditions, and actions mapped to a recommended Twenty workflow configuration. We support a one-week post-cutover window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Combit workflows in Twenty as part of the migration scope; that work is handled by the customer's admin or a Twenty implementation partner.

Platform deep dives

Context on both ends of the pair

Combit CRM logo

Combit CRM

Source

Strengths

  • Deep workflow automation with configurable triggers across departments and record types.
  • Highly flexible data model with user-defined fields and customizable pipelines.
  • Strong integration connectivity for external tools and peripheral systems.
  • Configurable interfaces and data entry masks tailored to organization-specific needs.
  • Supports both cloud and on-premise deployment options.

Weaknesses

  • Platform is German-language only, limiting adoption for non-German-speaking teams.
  • No publicly documented REST API, restricting programmatic access and migration automation.
  • Interface described as technically sophisticated and not intuitively modern.
  • Fewer third-party integrations compared to major global CRM platforms.
  • Limited availability of English-language documentation and support resources.
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?

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

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 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

    Combit CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Migrations using CSV exports with under 10,000 records and straightforward field mapping land between two and four weeks. Migrations requiring direct database access for on-premise Combit deployments, extensive custom field translation from German labels, or activity history over 200,000 records extend to six to ten weeks because of database credential negotiation, German-language discovery overhead, and Twenty custom field pre-configuration before import can begin.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Combit 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