CRM migration

Migrate from Tall Emu CRM to Twenty CRM

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 logo

Tall Emu CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

82%

9 of 11

objects map 1:1 between Tall Emu CRM and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Tall Emu CRM logo

Tall Emu CRM

What's pushing teams away

  • MYOB and Xero integration quality is inconsistent — users report automated invoicing breaks frequently and two-way sync drops data requiring manual correction.
  • Interface is described as database-like and outdated; users coming from modern SaaS tools find navigation unintuitive without dedicated onboarding.
  • Limited automation options compared to category leaders — power users find workflows too rigid and the roadmap for custom workflow building still pending.
  • Requires 12-month upfront commitment plus a $3,500 onboarding fee before realising the product's actual fit, leading to buyer's remorse when the product lacks promised capabilities.
  • Support quality historically degraded during MYOB ownership (2022–2024) with long response times and generic troubleshooting, though reacquisition in late 2024 has reportedly improved this.

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

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

maps to

Twenty CRM

Company

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Person

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Custom Object: Product

1:many
Fully supported

Tall 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

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Custom Object: Subscription

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Custom Object: Quote

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Custom Object: Order

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Task or Note

1:1
Fully supported

Tall 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

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Tall 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

maps to

Twenty CRM

Custom Field

lossy
Fully supported

Tall 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

maps to

Twenty CRM

Custom Object: Shipment

1:1
Fully supported

Tall 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.

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.

Tall Emu CRM logo

Tall Emu CRM gotchas

High

Mandatory upfront annual billing plus onboarding fee

High

No documented public REST API for bulk migration

Medium

Integration with MYOB and Xero is native but brittle in practice

Medium

Custom fields not available on all modules

Medium

Workflow automations do not survive migration

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

  • Tall Emu has no documented bulk REST API for export

    Tall Emu's primary export mechanism is Excel export from grid views. While API connectivity is mentioned for integrations (Xero two-way sync), there is no publicly documented REST API or bulk export endpoint. We work around this by exporting grid views for each module in dependency order and transforming the flat export into Twenty's import format. This approach is reliable but slower than API-based extraction, and it requires the customer to have Excel or CSV access to all grid views. We flag any views that are restricted by user permissions during scoping.

  • Twenty requires custom fields and objects to exist before import

    Twenty's migration documentation explicitly states that the CSV import creates records, not fields. We must create all custom objects and custom fields in Settings → Data Model before any import. For Tall Emu migrations with inventory attributes (BOMs, serial numbers, landed costs), Subscription Plan/Status fields, Quote status values, and Order fulfilment tracking, this schema creation step is non-trivial and must be completed before the migration begins. Skipping this step causes silent failures during CSV import where records with unmapped fields are rejected.

  • Tall Emu inventory and manufacturing data has no native Twenty equivalent

    Tall Emu's BOM structures, serial number tracking, landed cost calculations, reorder points, and freight management are a core part of its data model for wholesale, manufacturing, and construction businesses. Twenty does not have an inventory module, BOM editor, or landed cost calculator. We model these as custom objects and fields, but BOM exploded-level demand planning, multi-level BOM hierarchies, and freight cost allocation require post-migration rebuild in a dedicated inventory tool or via custom code. We flag the full inventory rebuild scope during scoping so the customer understands the gap before committing to migration.

  • Tall Emu Workflow automations do not migrate to Twenty

    Tall Emu's automated workflows (lead routing, email triggers, stage-change automations, workflow management features) are system-defined and cannot be exported. Twenty does not have a native workflow automation builder in the same sense; automation requires custom development or integration via Zapier and webhooks for self-hosted deployments. We document every active Tall Emu workflow during discovery and produce a rebuild guide that maps each automation trigger and action to a recommended Twenty configuration or integration approach. The rebuild is outside the standard migration scope.

  • Twenty's Person object has limited standard fields out of the box

    A documented GitHub issue (#13953) for Twenty notes that the Person and Company objects are missing standard fields that other CRMs include by default, such as industry, employee count, phone types, and social profiles. Users migrating from Tall Emu or other CRMs report that importing requires creating 30-60 minutes of custom fields before basic contact data can be mapped. We account for this custom field creation as part of the pre-import schema design step and flag any Tall Emu contact fields without Twenty equivalents for manual field creation before import.

Migration approach

Six steps for a successful Tall Emu CRM to Twenty CRM data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Tall Emu CRM logo

Tall Emu CRM

Source

Strengths

  • All-in-one coverage: sales, inventory, manufacturing, warehouse, freight, and accounting integration in a single Australian-hosted platform.
  • MYOB and Xero two-way sync is natively built in, not via third-party middleware, keeping accounting data consistent without manual export cycles.
  • Per-user pricing with no minimum or maximum licence count — no tier gates on core features.
  • Supports serial number tracking, landed cost calculations, and BOM management — unusual depth for a CRM-priced product.
  • Online quoting with eWay and Stripe payment acceptance allows a self-serve customer portal for invoice and quote payments.

Weaknesses

  • Interface is described as database-like and outdated, with navigation that requires training to use effectively.
  • MYOB and Xero integration quality is inconsistent in practice — users report frequent sync failures requiring manual fixes.
  • Limited workflow automation compared to category leaders; the roadmap for custom workflow building was still pending as of 2025.
  • Invoice and document template customisation requires advanced Word skills — not a drag-and-drop editor.
  • 12-month upfront billing plus mandatory onboarding fee creates a significant commitment before full product fit is validated.
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 Tall Emu CRM 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

    Tall Emu CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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 consultation

Most migrations land between three and five weeks for accounts under 10,000 Contacts and no custom objects, with straightforward Company-Contact-Opportunity mapping. Migrations with inventory data (BOMs, serial numbers, landed costs), Subscriptions requiring Plan and Status mapping, large Activity histories, or multiple custom object types move to eight to twelve weeks because of custom object schema design, BOM flattening, and the pre-import Twenty workspace preparation that is required before any data can be loaded.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Tall Emu 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