CRM migration
Field-level mapping, validation, and rollback between Kartra and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Kartra
Source
Twenty CRM
Destination
Compatibility
7 of 10
objects map 1:1 between Kartra and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Kartra to Twenty CRM is a migration from an all-in-one marketing platform into a purpose-built, open-source CRM. Kartra's central object is the Contact (formerly Lead), with Tags, Lists, Custom Fields, and Transactions layered as separate data exports pulled from the UI as individual CSVs. There is no bulk extraction API; all migration data comes from sequential manual UI exports. We sequence those exports oldest-to-newest to preserve creation-order timelines, split comma-separated Tags into individual tag records, and map Kartra's transactional fields to Twenty's Opportunities. We do not migrate Sequences, automation logic, or behavioral events unless explicit tags exist in Kartra to capture them. We deliver a written automation rebuild inventory for Kartra Sequences so the customer's team can reconstruct them in Twenty's Workflows post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Kartra 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.
Kartra
Contact (formerly Lead)
Twenty CRM
Person
1:1Kartra Contacts (renamed from Leads in October 2024) map directly to Twenty CRM Person records. Standard fields (firstName, lastName, email, phone, address) map cleanly to Twenty's Person object fields. We export oldest-to-newest to preserve creation-order timestamps, which become the createdAt value on each Person record. The Kartra GDPR Status field maps to a custom field on Person. Contacts without email are flagged during profiling and held in a reconciliation queue.
Kartra
Company
Twenty CRM
Company
1:1Kartra Company records map to Twenty CRM Company. The company name becomes the Company name field. We run a dedupe check on companyName before import to catch duplicate Kartra companies that represent the same business. Companies are imported before People so that the Company-Person relationship (Company name on Person) can be resolved at insert time.
Kartra
Custom Fields
Twenty CRM
Custom Fields (Person / Company)
lossyKartra supports five custom field types: input_field, text_area, drop_down, radio_button, and checkbox. We read the Kartra field schema during scoping to determine types, then pre-create matching custom fields in Twenty via Settings → Data Model before migration begins. Drop-down and radio_button types become Twenty Select fields; checkbox becomes a Boolean; text_area becomes a Long Text field. API field names must be set explicitly on Twenty custom fields during creation for import compatibility.
Kartra
Tag
Twenty CRM
Workspace Tags
lossyKartra stores tags as comma-separated strings per contact in the CSV export. We parse and split these into individual tag values, then create corresponding tag records in Twenty CRM's workspace. Each migrated Person receives tag associations linked to its record. Note: retroactive tags (e.g., 'form_completed') that were not set up in Kartra are absent from export and cannot be recovered. We probe the customer's tag taxonomy during scoping to identify which behavioral events were captured versus which are permanently absent.
Kartra
List
Twenty CRM
Workspace / Segment
lossyKartra Lists are exported as comma-separated values per contact. We split list memberships into individual workspace or segment associations in Twenty CRM. If the customer used lists for audience segmentation in Kartra's email marketing, these translate to Twenty workspace-level tag segments. List-based marketing segmentation that drives Kartra email campaigns must be rebuilt as Twenty Workflow trigger conditions post-migration.
Kartra
Transaction
Twenty CRM
Opportunity
1:1Kartra Transactions export as a separate CSV from contacts. We map transaction amount, product name, date, and payment method to a Twenty CRM Opportunity record. The Opportunity name is derived from the Kartra product name or a transaction reference. Transaction date becomes the Opportunity createdAt; amount becomes the Opportunity amount. Note: Kartra does not export lifetime value or total spend aggregates — only per-transaction records. Subscription transactions migrate with status (active, cancelled, paused) mapped to Opportunity stage or a custom subscription status field.
Kartra
Subscription
Twenty CRM
Opportunity or Custom Object
1:1Kartra Subscription records export separately from contacts and include status, start date, and associated product. We map active subscriptions to Opportunity records with a subscription-specific stage, or to a custom Subscription object if the customer requires recurring revenue tracking. Cancelled and paused subscriptions map to a separate stage. Kartra does not export subscription MRR or ARR values — only the product association and status.
Kartra
Calendar / Appointment
Twenty CRM
Task / Event
1:1Kartra Calendar bookings are separate from the contacts export. We map calendar names and booking metadata to Twenty CRM Task or Event records linked to the Person. Historical appointment records require a separate Kartra export and are not included in the standard contacts CSV. If no historical appointment export exists, appointment history is absent from the migration.
Kartra
Affiliate
Twenty CRM
Custom Object (Affiliate / Partner)
1:1Affiliate sign-up events tracked in Kartra's API events system map to a custom Affiliate or Partner object in Twenty CRM. We create the custom object schema during migration setup, then populate affiliate relationships from Kartra's events data where available. Standard Kartra exports do not include affiliate commission history.
Kartra
Sequences (Automated Email Sequences)
Twenty CRM
Workflows (not migrated)
1:1Kartra Sequences are multi-step email automation flows with conditional branching, delays, and action triggers. This automation logic does not exist as a data file that can be exported — only the contacts enrolled in sequences are present in the contacts export. We do not migrate sequence logic. We deliver a written inventory of every active Kartra Sequence (step count, triggers, conditions, and actions) for the customer's team to rebuild as Twenty Workflows post-migration.
| Kartra | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact (formerly Lead) | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Custom Fields | Custom Fields (Person / Company)lossy | Mapping required | |
| Tag | Workspace Tagslossy | Fully supported | |
| List | Workspace / Segmentlossy | Fully supported | |
| Transaction | Opportunity1:1 | Fully supported | |
| Subscription | Opportunity or Custom Object1:1 | Fully supported | |
| Calendar / Appointment | Task / Event1:1 | Fully supported | |
| Affiliate | Custom Object (Affiliate / Partner)1:1 | Fully supported | |
| Sequences (Automated Email Sequences) | Workflows (not migrated)1:1 | Not supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Kartra gotchas
Behavioral history is absent from Kartra exports unless tags were pre-set up
Contact-based pricing requires pre-migration record audit
No bulk or programmatic API for extraction
Sequences, automation logic, and workflows cannot be exported
GDPR status fields export but require manual review at destination
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Discovery and data audit
We conduct a scoping call to extract Kartra account metadata: contact count, custom field list (with field types), tag taxonomy, list count, transaction volume, subscription count, and calendar setup. We use the Kartra UI to run sample exports of contacts and transactions and validate field completeness against the customer's schema. We probe the tag taxonomy to identify which behavioral events (form completions, survey results, webinar registrations, membership access) were captured via tags versus which are absent from export. The discovery output is a written migration scope that specifies what migrates, what is permanently absent, and what must be rebuilt in Twenty Workflows.
Schema design in Twenty CRM
We provision the destination schema in Twenty CRM before any data moves. This includes creating all custom fields (with API names and types matched to Kartra's five field types), any custom objects for subscriptions or affiliate data, workspace tags for parsed Kartra tag values, and list-based segments for Kartra audience lists. We configure the data model via Twenty's Settings → Data Model interface using the REST or GraphQL API where possible. If the customer uses Twenty's Organization tier ($19/user), we also configure roles and permissions before migration begins.
Kartra CSV extraction and batching
We guide the customer through Kartra's UI-based CSV export process. For contacts, we sequence the export oldest-to-newest to preserve creation-order timelines. For accounts with fewer than 2,500 contacts, a single export suffices. For larger accounts, we batch the export across multiple UI operations and reassemble the files. We pull separate CSVs for transactions, subscriptions, and any calendar data. We validate each CSV file for field completeness, flagging any missing standard fields (email, name, phone) before the transform phase begins.
Data transformation and field mapping
We transform the Kartra CSVs into Twenty CRM's import format. Tag comma-separated strings are split into individual tag records. Date formats are converted to ISO 8601. Phone numbers are normalized. Drop-down values are matched to pre-created select field options in Twenty. We run the Kartra transaction CSV through a name-derivation step to create Opportunity names. We resolve Kartra company names against the Company import to populate the Person-Company relationship. The transformation output is a set of staging CSVs ready for Twenty's CSV import tool or REST API.
Staging import and validation
We run a full migration into Twenty CRM using a staging environment or a dedicated workspace. We import Companies first (as the foundation for Person-Company relationships), then People (with Company name resolved), then Opportunities (with Person and Company lookups resolved), then Tags (parsed and linked), then Custom Fields. We produce a row-count reconciliation report comparing Kartra source counts against Twenty destination counts for each object. The customer's team spot-checks 25-50 records across each object type against the Kartra source before we proceed to production migration.
Production migration and cutover
We run the production migration in the same dependency order as staging: Companies → People → Opportunities → Tags → Custom Fields. We freeze Kartra writes during the cutover window. We run a final delta check for any records modified during the migration window and import the delta. We validate record counts, relationship integrity, and field completeness in the production Twenty workspace. We deliver the Sequence and automation rebuild inventory to the customer's team. We provide a one-week hypercare window for reconciliation issues. We do not rebuild Kartra Sequences as Twenty Workflows; that is a separate engagement or internal admin task.
Platform deep dives
Kartra
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Kartra and Twenty CRM.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Kartra: Hardcoded ceiling of 20 inbound API calls per second per Kartra App..
Data volume sensitivity
Kartra doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Kartra to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Kartra to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Kartra
Other ways to arrive at Twenty CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.