CRM migration

Migrate from Myprosperity to Twenty CRM

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

Myprosperity logo

Myprosperity

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

11 of 11

objects map 1:1 between Myprosperity and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

MyProsperity structures its data around a client portal model: People records hold contact details and relationship types (Owner, Accountant, Lawyer, etc.), Companies store firm/organization data with investment feeds, and Documents attach to client records. Twenty CRM uses a simpler relational model built on People, Companies, and Opportunities with optional custom objects. The migration maps MyProsperity client relationships to Twenty's relation fields, preserves document file references as attachment links, and creates custom fields for MyProsperity-specific properties like relationship type and subscription tier. We sequence the run so Companies load first (Twenty's foreign-key requirement), then People with their companyId links, then Opportunities. Workflows, email templates, and automations do not migrate — MyProsperity's automated client communications and document e-signing workflows must be rebuilt in Twenty or an external tool. The migration runs via Twenty's REST and GraphQL API, with CSV fallback for bulk operations. FlitStack AI surfaces all unmapped MyProsperity fields as custom fields in Twenty before the full migration commits.

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

Myprosperity logo

Myprosperity

What's pushing teams away

  • Primary market is Australia (myprosperity.com.au with a UK arm); advisors and firms in North America have limited local data-feed coverage and support.
  • Pricing is not publicly published — sales-led model slows procurement for firms used to transparent SaaS tiers.
  • Heavy reliance on bank/investment data feeds means feature value drops sharply when an Australian institution discontinues feed support.
  • Power users requesting deep customisation beyond standard wealth views and goal types may need third-party planning tools alongside myprosperity.
  • Property and investment data quality depends on third-party providers — outages or stale feed updates surface as client-facing issues.

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

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

Myprosperity

Client

maps to

Twenty CRM

People

1:1
Fully supported

MyProsperity clients map directly to Twenty People records. The client name splits into firstName and lastName on import. Email, phone, and job title transfer as standard fields. The MyProsperity client ID is stored as a custom Source_System_ID__c field for traceability and delta-run de-duplication.

Myprosperity

Company

maps to

Twenty CRM

Company

1:1
Fully supported

MyProsperity Company records map 1:1 to Twenty Company objects. Company name, domain/website, industry, employee count, and address fields transfer as standard Company fields. Parent-child company hierarchies in MyProsperity map to Twenty's parentCompanyId relation. Circular parent references are detected and flagged before migration to prevent import errors. If a parent company does not exist in the target dataset, the child company is imported without a parent link for manual resolution.

Myprosperity

Relationship

maps to

Twenty CRM

relation (People → Company)

1:1
Fully supported

MyProsperity relationship types (Owner=0, Accountant=1, Lawyer=2, Wife=3, Husband=4, Child=5) are typed links between clients and companies. We map these to Twenty's generic relation system with a custom RelationType__c field holding the MyProsperity integer value and label. This preserves the relationship semantics without losing context.

Myprosperity

Document

maps to

Twenty CRM

Note + attachment link

1:1
Fully supported

MyProsperity documents attached to clients and companies migrate as Twenty Notes with the file reference stored in the Note body or as an external URL link. If the document lives in MyProsperity's storage, we flag it as a manual re-upload item in the migration plan. Original upload dates and author references are preserved as custom datetime and user fields.

Myprosperity

Task / To-Do

maps to

Twenty CRM

Task

1:1
Fully supported

MyProsperity tasks and reminders map to Twenty Tasks with standard fields: title, due date, assignee, and completion status. The original task description transfers to the Task body. Completed-at timestamps map to completedAt where available. Recurring task patterns in MyProsperity are flagged as custom notes since Twenty's native recurrence model differs; your team recreates recurring schedules in Twenty's task builder post-migration.

Myprosperity

Subscription Tier

maps to

Twenty CRM

Custom field on People

1:1
Fully supported

MyProsperity Starter vs Pro client subscription tier is a billing flag with no direct Twenty equivalent. We migrate this as a custom select field (Client_Tier__c) on People with values Starter and Pro. The tier determines which advisory features were available in MyProsperity and provides context for continuity in Twenty.

Myprosperity

Investment Feed Data

maps to

Twenty CRM

Custom fields on Company

1:1
Fully supported

MyProsperity investment feeds from XPLAN, Macquarie, and other integrations provide portfolio and balance data on Company records. These custom financial metrics map to custom Number fields on the Twenty Company object. We create fields named by their source (e.g., XPLAN_Balance__c, Macquarie_Portfolio__c) so advisory teams can rebuild dashboards in Twenty.

Myprosperity

Custom Client Properties

maps to

Twenty CRM

Custom fields on People

1:1
Fully supported

Any extended client properties stored in MyProsperity beyond standard contact fields migrate as custom fields on the Twenty People object. Field type is determined by the source data type (text, number, date, select). We audit MyProsperity's property schema before migration to capture everything.

Myprosperity

Practice Portal Staff

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

MyProsperity Practice Portal staff licenses represent internal team members who access the platform. These map to Twenty WorkspaceMembers. Email and name transfer directly; role-based access in MyProsperity maps to Twenty's permission groups (Admin, Editor, Viewer). Inactive staff accounts in MyProsperity migrate as inactive WorkspaceMembers in Twenty unless your team specifies otherwise. Staff license counts in MyProsperity do not affect the migration cost but determine how many WorkspaceMember seats you need in Twenty.

Myprosperity

Activity History

maps to

Twenty CRM

TimelineEvent (via Note/Task)

1:1
Fully supported

MyProsperity's activity timeline (client interactions, meeting logs, communication history) has no precise equivalent in Twenty's native model. We migrate key activity summaries as Notes attached to the People record with a custom Activity_Type__c label. Full chronological activity feeds require a custom timeline implementation in Twenty.

Myprosperity

Annature e-Signing

maps to

Twenty CRM

No equivalent

1:1
Fully supported

MyProsperity's Annature e-signing integration for document signatures has no direct equivalent in Twenty. Completed signatures in MyProsperity are preserved as Notes with signing metadata including signer name, timestamp, and document status. Future signature workflows must be rebuilt using Twenty's webhook system combined with an external e-signing tool such as DocuSign, HelloSign, or Adobe Sign. We provide a webhook configuration guide during migration to help your team set up the new signing pipeline.

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.

Myprosperity logo

Myprosperity gotchas

High

No bulk data export endpoint requires iterative API polling

High

Tier determines data vintage, not just feature availability

Medium

Document storage caps can silently block large migrations

Medium

Client Relationship roles have a hard-coded integer schema

Medium

eSignature packages are stored as stateful workflow objects, not plain documents

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 enforces Companies-before-People import ordering for referential integrity

    Twenty's relational model requires that the Company record exists before a People record can reference it via companyId. MyProsperity stores client records with company associations, but the data export typically produces clients and companies in the same file or unrelated order. We sequence the migration run so all Companies load first, then People with their resolved companyId links. Any MyProsperity clients whose primary company does not exist in Twenty get attached to a default 'Unassigned Company' record — your team resolves these manually post-migration. This ordering is enforced both in the CSV import UI and in the batch API calls.

  • MyProsperity relationship types require a custom field in Twenty's relation system

    MyProsperity stores typed client-company relationships using integer codes (Owner=0, Accountant=1, Lawyer=2, etc.). Twenty's relation system stores generic links between People and Company without a native type field. We create a custom Relation_Type__c select field on the People-Company relation to preserve which role each client plays relative to each company. If you have multi-relationship clients (e.g., a client who is both an accountant and a board member at the same firm), Twenty's single-relation-per-pair constraint means only the primary relationship transfers — secondary relationships are logged as custom notes.

  • Document and e-signing workflows do not migrate and must be rebuilt

    MyProsperity's Annature e-signing integration and automated document workflows have no equivalent in Twenty's workflow builder. Completed signatures in MyProsperity are preserved as Notes with metadata, but the live signing workflow — including template selection, recipient routing, and reminder sequences — must be rebuilt. We export the MyProsperity workflow definitions as a rebuild reference for your implementation team. The document files themselves require manual re-upload to Twenty's storage or an external document management system if you do not have direct access to MyProsperity's file storage.

  • Activity history migrates as Notes, not a native timeline

    MyProsperity tracks detailed client interaction history including meeting logs, email threads, and call records. Twenty does not have a native activity timeline object — activity context lives in Notes, Tasks, and Opportunities. We migrate key activity summaries as Notes with a custom Activity_Type__c label, but the full chronological interaction history requires a custom timeline implementation in Twenty or integration with a separate communication tool. Client-facing interaction timelines visible in MyProsperity will need to be rebuilt using Twenty's API.

  • Investment feed data requires custom field creation before migration can run

    MyProsperity pulls live investment data from XPLAN, Macquarie, and other wealth management integrations. These portfolio balances and performance metrics are stored as extended Company properties in MyProsperity. Twenty has no native investment or portfolio field types — the data must be stored as custom Number fields on the Company object. We create these fields (e.g., XPLAN_Balance__c, Macquarie_Portfolio__c) before the migration run so the feed data lands in the correct schema. Rebuilt dashboards and reporting on this financial data must be created manually in Twenty.

Migration approach

Six steps for a successful Myprosperity to Twenty CRM data migration

  1. Audit MyProsperity schema and plan Twenty field creation

    FlitStack AI reads MyProsperity's full data export including all client properties, company fields, relationship types, document references, and investment feed data. We cross-reference the export against Twenty's standard field list to identify every custom field that needs to be created before migration: client tier flags, relationship type codes, investment balances, and any extended client properties. We deliver a Twenty field creation checklist so your admin pre-stages the schema before data lands, preventing import errors on the first run.

  2. Export and sequence data for Twenty's import order

    MyProsperity data is extracted via its REST API into structured CSV files organized by object. We enforce Twenty's referential integrity requirement by splitting the export: Companies first, then People with resolved companyId foreign keys, then Opportunities. Any People records without matching Companies are flagged for assignment to a default company record. Relationship types between clients and companies are extracted separately for custom field mapping. Document references are captured as Note records with external URL links.

  3. Create custom fields and validate mapping rules

    We create all required custom fields in Twenty's data model before the migration run: Client_Tier__c, Source_System_ID__c, Relation_Type__c, Original_Create_Date__c, XPLAN_Balance__c, Macquarie_Portfolio__c, and any other MyProsperity-specific properties. Field type is set per data type (select, number, datetime, text). We run a dry-run validation pass using Twenty's API to confirm all field mappings resolve correctly and that no required fields are missing on the Twenty side before committing data.

  4. Run sample migration with field-level diff

    A representative slice of data — typically 100–300 records covering clients across relationship types, companies with and without investment feeds, tasks, and notes — migrates first. We generate a field-level diff comparing source MyProsperity values against the Twenty records post-import. You verify that relationship types map correctly, investment balances land in the right fields, and document links resolve. This step catches any mis-mapped fields before the full run commits.

  5. Full migration with delta pickup and rollback capability

    The complete MyProsperity dataset loads into Twenty via batch API calls in the correct sequence (Companies → People → Tasks → Notes → Opportunities). A delta-pickup window captures any records created or modified in MyProsperity during the cutover window (typically 24–48 hours). FlitStack AI generates an audit log of every record operation, and one-click rollback is available if reconciliation reveals data integrity issues. Your team continues working in MyProsperity during the migration with scoped read-only access.

Platform deep dives

Context on both ends of the pair

Myprosperity logo

Myprosperity

Source

Strengths

  • Client portal with white-labelled mobile app builds brand visibility for accounting and advisory practices
  • Integrates with Xplan, Xero Practice Manager, and MYOB for practice-side data import
  • Investment feed aggregation from XPLAN and Macquarie consolidates client wealth data in one view
  • Document e-signing via Annature integrates into the client workflow natively
  • Pro tier provides live bank feed syncing and monthly valuation updates

Weaknesses

  • No publicly documented bulk export or migration API — data extraction relies on per-record API calls or CSV/XPM import templates
  • Starter tier limits bank feeds to one-time sync and valuations to one-time snapshots, reducing the richness of migrated financial history
  • Tier-gated features (Fact Finds, Survey Analytics, Advanced Mobile Branding) mean not all clients on a plan have equivalent data
  • Document storage caps (50–200GB) may require archival or selective migration for high-volume practices
  • Practice Portal staff licenses and client subscription limits are tied to the current tier — over-importing will trigger an upgrade
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 Myprosperity 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

    Myprosperity: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most MyProsperity-to-Twenty migrations complete in 48–72 hours for under 50,000 client records. Larger setups with 500k+ records, multiple investment feed fields, or complex relationship types extend to 5–10 days. The longest planning step is auditing MyProsperity's extended property schema and pre-creating the matching custom fields in Twenty before the migration run begins. Pre-migration preparation including schema audit, field creation checklist delivery, and dry-run validation typically adds 1–3 days to the overall timeline depending on the complexity of your MyProsperity data model.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Myprosperity.
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