CRM migration
Field-level mapping, validation, and rollback between Tall Emu CRM and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Tall Emu CRM
Source
Twenty CRM
Destination
Compatibility
9 of 11
objects map 1:1 between Tall Emu CRM and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Tall Emu CRM to Twenty CRM is a structural migration from an Australian-hosted all-in-one platform with inventory, manufacturing, and freight layers to a self-hosted, open-source CRM with a cleaner interface and a GraphQL API. Tall Emu's export mechanism is Excel from grid views, not a documented bulk REST endpoint, so we extract each module in dependency order and transform the flat export structure into Twenty's Company, Person, Opportunity, and Custom Object schema. Tall Emu's inventory attributes (SKU, stock on hand, serial numbers, BOM structures, landed costs) have no native Twenty equivalent and require a custom object with field-level mapping created before import. Subscriptions, Quotes, and Orders map to custom objects or Opportunity extensions with status value translation. Workflow automations, freight records, and binary attachments do not migrate; we document them in a separate rebuild guide for the customer's admin. Twenty's requirement that fields exist before import and that users be provisioned before owner lookups are resolved shapes the sequencing plan from step one.
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 Tall Emu 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.
Tall Emu CRM
Company
Twenty CRM
Company
1:1Tall Emu Company records map to Twenty Company. Standard fields (displayName, domainName, address, phone) migrate directly. We extract via Tall Emu's Excel grid export, resolve the address sub-fields (street, city, state, postal code, country) into Twenty's address compound field, and use the company domain as the Company domainName. Company is imported first to establish the primary lookup anchor for Contacts and Opportunities.
Tall Emu CRM
Contact
Twenty CRM
Person
1:1Tall Emu Contact records map to Twenty Person objects. Email, phone, role, and name fields migrate directly. We import Contacts after Company and match them to the parent Company by company name or a provided external reference field. Tall Emu's role field maps to the Person jobTitle field. Note that Twenty's Person object historically has limited standard fields (GitHub issue #13953 notes missing industry-standard fields); we create custom fields for any Tall Emu contact properties that have no Twenty equivalent before import.
Tall Emu CRM
Product
Twenty CRM
Custom Object: Product
1:manyTall Emu Products carry rich inventory attributes (SKU, description, pricing tiers, stock on hand, serial number tracking, BOM structures, landed costs, reorder points) that have no native Twenty equivalent. We split these into a Product custom object (name, SKU, description, pricing) and a separate Inventory custom object (stock on hand, reorder point, serial number, BOM reference). BOM parent-child relationships flatten into a BOM custom object with parent_product and component_product lookup fields. Landed cost and freight attributes map to custom number fields on the Product custom object.
Tall Emu CRM
Pipeline
Twenty CRM
Opportunity
1:1Tall Emu Pipelines map to Twenty Opportunity records. The pipeline name becomes the Opportunity name, and Tall Emu stage names map to Twenty stage values that we configure in the destination workspace before migration. Stage probabilities migrate as custom number fields. Tall Emu's pipeline-level custom fields migrate as Opportunity custom fields.
Tall Emu CRM
Subscription
Twenty CRM
Custom Object: Subscription
1:1Tall Emu Subscriptions (Plan, Status, Order Quantity, Billable Quantity, Price, Period, Renewal Due Date) map to a Subscription custom object with fields for plan_name, status, billing_period, renewal_date, quantity, and unit_price. Status values (Active, Expired, Cancelled, etc.) require value mapping to a status picklist defined in Twenty's Data Model before import. The subscription is linked to the parent Company and Person via lookup fields.
Tall Emu CRM
Quote
Twenty CRM
Custom Object: Quote
1:1Tall Emu Quotes (line items, pricing, terms, acceptance status) map to a Quote custom object. Quote status (Draft, Sent, Accepted, Declined) maps to a status picklist. Line items migrate as related Quote Line Item custom object records. PDF attachments and template styling do not migrate; we export the quote metadata and flag attachments for manual handoff.
Tall Emu CRM
Order
Twenty CRM
Custom Object: Order
1:1Tall Emu Sales Orders link to accepted Quotes and carry line items, quantities, and pricing. They map to an Order custom object with order_number, status, total_amount, and order_date fields. Order line items migrate as related Order Line Item records. Fulfilment tracking (picking, packing, shipping status) maps to custom fields on the Order object. Note that Twenty does not have native order fulfilment tracking; the customer configures this as a workflow using custom object status values post-migration.
Tall Emu CRM
Activity
Twenty CRM
Task or Note
1:1Tall Emu Activities (meetings, calls, emails, tasks) with assignees, due dates, and completion status migrate to Twenty Task and Note records. Meeting details migrate as Note records with meeting-specific fields (location, attendees, duration) stored in custom fields. Call records migrate as Note records with call disposition and duration stored as custom fields. Email content migrates as Note records with the email body as the note content and the timestamp preserved. Activity ordering is maintained by setting the Twenty createdAt to the original Tall Emu activity timestamp.
Tall Emu CRM
User / Owner
Twenty CRM
WorkspaceMember
1:1Tall Emu Users (roles, team assignments) export by email. We match Tall Emu owner references on Contact, Company, Opportunity, and Activity records to Twenty WorkspaceMembers by email. Any Tall Emu user without a matching Twenty account goes to a reconciliation queue. Important: Twenty's migration guide requires users to be invited before import so that owner lookups can be resolved; we sequence User provisioning as a pre-import step.
Tall Emu CRM
Custom Field
Twenty CRM
Custom Field
lossyTall Emu custom fields on Companies, Contacts, Products, Pipelines, and Subscriptions migrate to Twenty custom fields on the equivalent standard or custom object. We audit custom field availability per module during discovery (some Tall Emu modules do not support custom fields). Before any import, we create all destination custom fields in Twenty Settings → Data Model. Any Tall Emu custom fields without a Twenty equivalent are flagged for pre-migration field creation or mapped to a text property with a note for manual review.
Tall Emu CRM
Freight / Shipping
Twenty CRM
Custom Object: Shipment
1:1Tall Emu Freight and shipping records (carrier, tracking number, delivery status) export as linked records. They map to a Shipment custom object with carrier, tracking_number, status, and estimated_delivery fields. Since Twenty has no native freight management, the customer rebuilds tracking workflows using the custom object status field post-migration. We do not migrate binary tracking document attachments (proof of delivery PDFs); we export filename metadata and flag for manual handoff.
| Tall Emu CRM | Twenty CRM | Compatibility | |
|---|---|---|---|
| Company | Company1:1 | Fully supported | |
| Contact | Person1:1 | Fully supported | |
| Product | Custom Object: Product1:many | Fully supported | |
| Pipeline | Opportunity1:1 | Fully supported | |
| Subscription | Custom Object: Subscription1:1 | Fully supported | |
| Quote | Custom Object: Quote1:1 | Fully supported | |
| Order | Custom Object: Order1:1 | Fully supported | |
| Activity | Task or Note1:1 | Fully supported | |
| User / Owner | WorkspaceMember1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Freight / Shipping | Custom Object: Shipment1:1 | Fully 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.
Tall Emu CRM gotchas
Mandatory upfront annual billing plus onboarding fee
No documented public REST API for bulk migration
Integration with MYOB and Xero is native but brittle in practice
Custom fields not available on all modules
Workflow automations do not survive migration
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 audit Tall Emu across all active modules (Companies, Contacts, Products, Pipelines, Subscriptions, Quotes, Orders, Activities, Freight, Users) to capture record counts, custom field definitions per module, active workflow list, inventory attribute usage (BOMs, serial numbers, landed costs), and export permission coverage. We identify which grid views each user role can access because Tall Emu's Excel export is permission-scoped. The discovery output is a written migration scope document with record counts, custom field inventory, and a data-cleanse recommendation (removing duplicate records, outdated contacts with no activity in 2+ years, and test data before migration). This step also produces the Tall Emu workflow inventory for the rebuild guide.
Twenty workspace preparation and custom object design
We design the destination schema in Twenty before any extraction. This includes creating the Product, Inventory, BOM, Subscription, Quote, Order, OrderLineItem, and Shipment custom objects with all required fields. We create custom fields on the standard Company and Person objects for any Tall Emu properties without Twenty equivalents. We configure picklist values (Opportunity stages, Subscription status, Quote status, Order status, Shipment status) before importing any data. We invite all team members to the Twenty workspace so that owner lookups can be resolved at import time. Schema is validated against the Tall Emu custom field inventory to confirm every source field has a destination home.
Tall Emu Excel export in dependency order
We extract Tall Emu data via Excel export from grid views in dependency order: Users first (for owner lookup), then Companies (for parent anchor), Contacts (linked to Companies), Products (for SKU and pricing), Inventory data (linked to Products), BOM structures (parent-component relationships), Opportunities (linked to Company), Subscriptions (linked to Company and Product), Quotes and Quote line items (linked to Company and Opportunity), Orders and Order line items (linked to Company and Quote), Activities (linked to Company and Contact), and Freight records. Each export produces a CSV that we transform to match the Twenty import schema, applying date format normalisation, picklist value mapping, and address field decomposition.
Owner and reference reconciliation
We extract every distinct Tall Emu owner referenced on Company, Contact, Opportunity, and Activity records and match by email against the Twenty WorkspaceMember list. Any Tall Emu user without a matching Twenty account goes to a reconciliation queue for the customer's admin to provision. Additionally, we resolve all Tall Emu foreign-key references (Contact → Company, Opportunity → Company, Subscription → Company and Product, Quote → Company and Opportunity, Order → Company and Quote) before import so that relationship integrity is satisfied at insert time. Circular or missing references are flagged for the customer to resolve before the migration proceeds.
Production migration in dependency order with reconciliation reporting
We run the production migration into Twenty in the same dependency order used for export: Companies first, then Persons, then Opportunities, then custom objects (Product, Inventory, BOM, Subscription, Quote, Order, Shipment), then Activities. Each phase emits a row-count reconciliation report showing records attempted, records succeeded, records skipped, and error rows. Errors are investigated and resolved before the next phase begins. Inventory data (BOMs, serial numbers, landed costs) migrates after the basic object graph is validated. Activity history (tasks, notes) migrates last to ensure all parent records exist.
Cutover, validation, and rebuild handoff
We freeze Tall Emu writes during cutover and run a final delta migration of any records created or modified during the migration window. We validate record counts against the discovery phase baselines, spot-check 25-50 records per object for field-level accuracy, and confirm that relationship lookups (Company on Person, Account on Opportunity, Subscription on Product) resolve correctly. We deliver the Tall Emu workflow inventory document and the rebuild guide for automations, freight tracking, and inventory management to the customer's admin. We support a five-business-day hypercare window for reconciliation issues. We do not rebuild Tall Emu workflows in Twenty, rebuild inventory management tooling, or configure freight tracking integrations as part of the standard migration scope.
Platform deep dives
Tall Emu CRM
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 Tall Emu CRM 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
Tall Emu CRM: Not publicly documented.
Data volume sensitivity
Tall Emu CRM 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 Tall Emu CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Tall Emu CRM 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 Tall Emu CRM
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.