CRM migration

Migrate from Empire SUITE to Twenty CRM

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

Empire SUITE logo

Empire SUITE

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between Empire SUITE and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Empire Suite and Twenty CRM occupy different positions on the customization-versus-simplicity spectrum. Empire Suite bundles CRM, project accounting, and time tracking in a single environment that scales through module stacking. Twenty CRM is a modern open-source CRM with a flexible data model, REST and GraphQL APIs, and a workflow engine that prioritizes developer extensibility. The migration carries standard records (contacts, companies, deals, activities, custom fields) via CSV export from Empire Suite, transformed to match Twenty's object schema, then bulk-imported through Twenty's Settings → Data Model import UI. Non-transferable elements — automations, permission hierarchies, report definitions, and integration connections — must be rebuilt after migration. FlitStack sequences the import in dependency order (Companies → People → Opportunities → Custom objects) and runs a sample migration with field-level diff before committing the full cutover, followed by a 24–48 hour delta-pickup window to capture in-flight records modified during the cutover window and ensure data completeness at go-live.

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

Empire SUITE logo

Empire SUITE

What's pushing teams away

  • Steep learning curve for new staff, particularly around the interaction between time-tracking, billing, and security role configuration.
  • Custom field-based security can be difficult to audit and maintain, leading to access inconsistencies as the team grows.
  • Limited API documentation makes it hard to integrate Empire SUITE with modern analytics or document-management tools.
  • Deployment-specific customizations make switching vendors costly, as role and field configurations do not transfer easily.

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

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

Empire SUITE

Contact / Person

maps to

Twenty CRM

People

1:1
Fully supported

Empire Suite person records map to Twenty's People object. Email, phone, job title, and address fields migrate directly. If Empire Suite stores multiple email addresses per contact, the primary email maps to People.email and additional addresses are appended as text in a custom field.

Empire SUITE

Account / Organization

maps to

Twenty CRM

Companies

1:1
Fully supported

Empire Suite company records map to Twenty's Companies object. Company name, domain/website, industry, employee count, and annual revenue migrate directly without requiring custom field creation. Parent-company relationships map to Companies' built-in relation field using the Twenty domainUnique rule to preserve organizational hierarchies.

Empire SUITE

Opportunity / Deal

maps to

Twenty CRM

Opportunities

1:1
Fully supported

Empire Suite deal records map to Twenty's Opportunities object. Deal name, amount, stage, and expected close date migrate directly. Pipeline-to-stage mapping requires value-by-value mapping if Empire Suite uses custom stage names that don't match Twenty's default pipeline stages.

Empire SUITE

Contact Company Association

maps to

Twenty CRM

People → Companies relation

1:1
Fully supported

Empire Suite's primary company assignment per contact maps to People.companyId lookup. If Empire Suite supports multiple company associations per contact, the primary association migrates as the People.companyId relation and secondary associations are stored as custom multi-select text to preserve the data.

Empire SUITE

Custom Entity / Custom Object

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Empire Suite custom entity types migrate to Twenty's Custom Objects. Before migration, each custom entity must be created in Settings → Data Model with equivalent field types. Relationships between custom entities and standard objects (People, Companies, Opportunities) map via Twenty's relation field type.

Empire SUITE

Activity Log / Engagement

maps to

Twenty CRM

Notes and Tasks

1:1
Fully supported

Empire Suite activity records (call logs, email records, meeting notes) are flattened into Twenty's Notes object and linked to the parent People or Companies record via Twenty's relation field. Original timestamps and owner assignments are preserved as Note metadata fields.

Empire SUITE

User / Owner

maps to

Twenty CRM

Workspace Members

1:1
Fully supported

Empire Suite user records migrate as Twenty Workspace Members. Before migration, all users must be invited and accept their invitations in Twenty — Twenty's import UI cannot resolve owner references without pre-existing user records. FlitStack flags unmatched owner IDs before migration runs.

Empire SUITE

Project / Case

maps to

Twenty CRM

Custom Object

1:1
Fully supported

If Empire Suite stores project or case records as distinct entities, these migrate as a Twenty Custom Object named 'Projects' or 'Cases'. A relation field links each project record to its associated Companies and People records using the domain or email unique-key rule.

Empire SUITE

Invoice / Billing Record

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Empire Suite invoice and billing records have no native equivalent in Twenty CRM. These migrate as a Custom Object named 'Invoices' with relevant fields (invoice number, amount, date, status, linked company). Billing automation must be rebuilt in a dedicated accounting tool post-migration.

Empire SUITE

Report / Dashboard Definition

maps to

Twenty CRM

Not migrated

1:1
Fully supported

Empire Suite report and dashboard configurations do not migrate. Their underlying data (opportunities, activities, custom objects) migrates fully, but report layouts and chart definitions must be rebuilt in Twenty's dashboard builder after migration. FlitStack provides a data integrity check to confirm all source data arrived correctly in Twenty.

Empire SUITE

Workflow / Automation Rule

maps to

Twenty CRM

Not migrated

1:1
Fully supported

Empire Suite workflow rules (approval chains, conditional triggers, automated routing) do not migrate. They require manual rebuild in Twenty's workflow builder or via REST API. FlitStack exports workflow definitions as a JSON reference document for the rebuild phase.

Empire SUITE

Attachment / File

maps to

Twenty CRM

Notes attachment link

1:1
Fully supported

Empire Suite file attachments on records migrate as Notes records in Twenty with a reference URL or embedded attachment. Twenty does not have a native file-storage object — files are re-hosted or the Notes record stores the source URL for retrieval.

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.

Empire SUITE logo

Empire SUITE gotchas

High

Custom Field-based Security Permissions vary by deployment

Medium

Empire TIME module may have isolated data stores

High

No public API documentation found in research

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

  • Twenty requires custom fields to exist before import — Empire Suite custom fields must be pre-created

    Twenty's CSV import creates records, not fields. If Empire Suite uses custom fields beyond the standard Contact/Account/Opportunity schema, those fields must be created in Twenty's Settings → Data Model before the migration CSV lands. FlitStack generates a field-creation checklist from the Empire Suite schema audit so Twenty's admin can pre-create every custom field, set correct types (select options, number formats, relation fields), and configure uniqueness rules before the import step runs. Skipping this step causes import rows with unknown fields to be silently dropped.

  • Import order is strict — Companies must migrate before People

    Twenty's own documentation warns that Companies (the 'one' side of the relationship) must be imported before People, and People before Opportunities. Empire Suite's export may not preserve this ordering. FlitStack sequences the migration: Companies → People → Opportunities → Custom objects. If a People record references a companyId that doesn't yet exist in Twenty, the import row fails validation and is held for retry after the Companies step completes. We surface the failed rows in the sample migration diff so nothing is lost.

  • Twenty's workflow builder handles basic triggers but lacks native sequence/ cadencing logic

    Twenty's workflow engine supports triggers and actions but lacks built-in sequence or cadencing automation — this limitation is documented in community discussions and in Twenty's own roadmap notes. Empire Suite workflows that include time-delay steps (wait 2 days, then send email) have no direct equivalent in Twenty's workflow builder. FlitStack exports the Empire Suite workflow definitions as a JSON reference document. Rebuild options include using Twenty's webhook triggers plus an external automation tool (Make, Zapier) or rebuilding as custom actions via Twenty's REST API in the Organization plan.

  • API rate limits on Pro plan cap bulk imports at 100 calls per minute

    Twenty's Pro cloud plan limits API throughput to 100 calls/minute (200/minute on Organization). Empire Suite exports with 50,000+ records and multiple custom objects can exceed this during the bulk-import phase. FlitStack throttles API writes to respect the 100 calls/minute ceiling on Pro and 200/minute on Organization plans. For self-hosted deployments, rate limits are self-imposed by the hosting environment and typically much higher. We identify the target plan before migration so the import pipeline is tuned correctly.

  • Twent's 20,000-record export limit per file requires multi-part exports from large datasets

    Twenty's CSV export is capped at 20,000 records per file. For migrations from Empire Suite instances with more than 20,000 contacts or 20,000 opportunities, the export must be split across multiple files using date ranges or record ID offsets. FlitStack handles this splitting automatically during the import planning phase, ensuring no records are orphaned by the file-size ceiling and preventing duplicate records during the reassembly in Twenty. This automatic splitting prevents data gaps and ensures complete migration of all records.

Migration approach

Six steps for a successful Empire SUITE to Twenty CRM data migration

  1. Audit Empire Suite schema and inventory

    FlitStack connects to Empire Suite via its export API or CSV export module and inventories every object type, field, pick-list value, relationship, and custom entity. We generate a Schema Summary documenting which objects have standard equivalents in Twenty (People, Companies, Opportunities, Tasks, Notes), which require Custom Objects, and which have no equivalent in Twenty's CRM model. This audit forms the basis of the field-mapping spec and identifies Empire Suite modules (billing, project accounting) that will become Custom Objects or require post-migration manual rebuild.

  2. Create Twenty workspace fields and objects

    Based on the schema audit, FlitStack delivers a pre-migration checklist specifying every custom field and custom object to create in Twenty's Settings → Data Model before data lands. This includes field types, pick-list options, required/unique flags, and relation field configuration for custom objects that link back to People or Companies. We recommend creating these at least 48 hours before the migration window so any permission or visibility settings can be verified by the Twenty admin.

  3. Invite all Empire Suite users to Twenty workspace

    Twenty requires Workspace Members to exist before owner/assignee fields can resolve during import. FlitStack extracts all Empire Suite user records, maps them by email, and generates an invitation list for Twenty's Settings → Members page. We flag any Empire Suite user without a valid email address and recommend assigning their records to a fallback owner during migration. All users must accept their invitations before the migration step runs — we validate member acceptance as a gate before starting the import.

  4. Run sample migration with field-level diff

    A representative slice of Empire Suite data — typically 100–500 records spanning People, Companies, Opportunities, and at least one custom object — migrates first. FlitStack generates a field-level diff comparing source values against destination values for every mapped field, including pick-list value mappings, date formats, and owner resolution. The diff is reviewed with the customer before the full migration commits. Any field mapping errors, missing pick-list options, or data truncation issues discovered at this stage are corrected before the full run.

  5. Execute full migration with delta-pickup window

    The full Empire Suite dataset migrates in dependency order: Companies first, then People with companyId resolution, then Opportunities with stage and probability mapping, then custom objects and activity history last. After the bulk load, a 24–48 hour delta-pickup window monitors Empire Suite for any records created or modified during the cutover. All operations are logged in FlitStack's audit trail, and one-click rollback is available if reconciliation identifies missing or duplicated records.

Platform deep dives

Context on both ends of the pair

Empire SUITE logo

Empire SUITE

Source

Strengths

  • Integrated project-accounting, time-tracking, and billing within one suite.
  • Custom security roles with field-level permission granularity.
  • Designed for professional services and compliance-sensitive industries.

Weaknesses

  • API and integration capabilities are not well-documented publicly.
  • Custom fields and roles are deployment-specific, creating migration complexity.
  • Limited third-party ecosystem compared to major CRM platforms.
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. 2 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 Empire SUITE and Twenty CRM.

  • Object compatibility

    B

    2 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

    Empire SUITE: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Empire Suite to Twenty migrations complete in 48–72 hours of clock time for setups under 50,000 total records. Larger instances with 500,000+ records or custom object schemas extending across multiple entity types extend to 5–10 days. The longest single step is the schema audit and pre-migration field creation in Twenty's Settings → Data Model — we recommend allocating 2–3 business days for that phase before the migration window opens.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Empire SUITE.
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