CRM migration
Field-level mapping, validation, and rollback between Myprosperity and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Myprosperity
Source
Salesforce Sales Cloud
Destination
Compatibility
11 of 11
objects map 1:1 between Myprosperity and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
2–5 business days
Overview
MyProsperity structures its data around a User object — clients with relationship types (Owner, Accountant, Lawyer, family members), linked financial account references, document storage, tasks, and notes. Salesforce Sales Cloud uses a standard CRM object model: Account, Contact, Lead, Opportunity, Task, Event, Note, and custom __c fields. The migration must translate MyProsperity's user-centric schema into Salesforce's relational model, where clients become Contacts linked to Account records (representing households or individual clients), relationship types become custom pick-list fields on Contact, and financial account identifiers migrate as custom fields on Account. Document references from MyProsperity become Salesforce Files or Notes with original URLs preserved as custom text fields. Tasks and notes migrate as native Salesforce Task and Note objects with original timestamps. MyProsperity has no workflow or automation engine equivalent to Salesforce Flow — any adviser-specific task sequences or document request automations must be rebuilt post-migration. We extract data via MyProsperity's REST API, transform relationship codes and timestamps, create required custom fields in Salesforce, and load via Salesforce Bulk API with parallel validation.
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 Myprosperity object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Myprosperity
User
Salesforce Sales Cloud
Contact
1:1MyProsperity User records map 1:1 to Salesforce Contacts. The primary user (relationship_type 0=Owner) and any household members (relationship_type 3–5) each become individual Contact records linked to a common Account representing the household or individual client. The Account Contact Relationship object captures each person’s role, and non-primary relationships (Accountant, Lawyer) are also stored as separate Contacts on the same Account.
Myprosperity
User.relationship_type
Salesforce Sales Cloud
Contact.Agent_Relationship_Type__c
1:1MyProsperity encodes relationships as integers (0=Owner, 1=Accountant, 2=Lawyer, 3=Wife, 4=Husband, 5=Child). Salesforce lacks a built-in relationship-type field, so we define a custom pick-list (Agent_Relationship_Type__c) on Contact, populate it with the matching labels, and map each integer code during the transform step. Your admin then adds the field to the appropriate Contact page layouts and sharing rules.
Myprosperity
User.linked_accounts
Salesforce Sales Cloud
Account.Custom_Account_Reference__c + Account.Feed_Provider__c
1:1MyProsperity links users to external financial accounts (XPLAN, Macquarie, and other feeds). These references migrate as custom text fields on the Account record — one field for the external account identifier and one for the feed provider name. Holdings data requires a separate custom object or related list design.
Myprosperity
User (household grouping)
Salesforce Sales Cloud
Account + Account Contact Relationship
1:1Multiple MyProsperity users sharing a household (e.g., Owner + spouse + child) map to one Salesforce Account representing the family unit, with each user as a Contact on that Account. The Account Contact Relationship object captures the relationship between each person and the household Account.
Myprosperity
Document
Salesforce Sales Cloud
ContentDocument / ContentVersion + Note
1:1MyProsperity documents attach to user records. Small documents (<25MB) re-upload to Salesforce Files and link to the corresponding Contact or Account record. Documents exceeding Salesforce's 25MB file limit or with inaccessible download URLs are preserved as Salesforce Notes with the original portal URL stored in a custom field for re-linkage.
Myprosperity
Task
Salesforce Sales Cloud
Task
1:1MyProsperity tasks (document requests, reminders, to-dos) map to Salesforce Task records with the same subject, status, due date, and original created timestamp. The MyProsperity 'send reminder' flag migrates as a custom checkbox field (Reminder_Flag__c) since Salesforce Task has its own native reminder mechanism.
Myprosperity
Note
Salesforce Sales Cloud
Note
1:1MyProsperity notes attached to user records migrate as Salesforce Notes linked to the corresponding Contact. Rich-text formatting in MyProsperity notes is preserved as HTML in the Salesforce Note Body field. If MyProsperity stores notes in a separate object, we map them to Salesforce Notes with the parent record ID linking back to the Contact.
Myprosperity
User.portal_reference_id
Salesforce Sales Cloud
Contact.Source_System_ID__c
1:1MyProsperity's internal user identifier is stored on the Salesforce Contact as a custom text field named Source_System_ID__c. This field enables delta‑run de‑duplication, audit traceability, and cross‑referencing between Salesforce records and the MyProsperity portal after go‑live. It also supports incremental data loads by allowing the extraction job to skip records already present with matching identifiers.
Myprosperity
User.created_date / updated_date
Salesforce Sales Cloud
Contact.Original_Create_Date__c / Contact.Original_Last_Modified__c
1:1Salesforce sets the system‑generated CreatedDate at the moment of migration, so original MyProsperity create and update timestamps are preserved as custom datetime fields (Original_Create_Date__c and Original_Last_Modified__c) on the Contact. These fields let reports and dashboards display the true client engagement timeline, support data‑quality validation, and enable filters that reference the source system’s history.
Myprosperity
User.sms_consent / email_consent
Salesforce Sales Cloud
Contact.SMS_Consent__c / Contact.Email_Consent__c
1:1Australian financial services firms must retain consent records for SMS and email marketing under ASIC and AFS licence rules. MyProsperity consent flags migrate as custom checkbox fields (SMS_Consent__c, Email_Consent__c) on Contact, preserving the raw on/off state. Your compliance team should audit these values post‑migration, consider adding consent‑date, consent‑channel, and consent‑source fields, and ensure the records satisfy current opt‑in requirements before any marketing communications are sent from Salesforce.
Myprosperity
User (adviser / staff user)
Salesforce Sales Cloud
User
1:1MyProsperity practice portal staff accounts (admins, paraplanners) who do not correspond to client contacts map to Salesforce Users. Owner resolution in Salesforce Opportunities uses email matching — if a MyProsperity staff user email matches a Salesforce User, their MyProsperity tasks assign to that Salesforce User; otherwise tasks are flagged for manual owner assignment.
| Myprosperity | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| User | Contact1:1 | Fully supported | |
| User.relationship_type | Contact.Agent_Relationship_Type__c1:1 | Fully supported | |
| User.linked_accounts | Account.Custom_Account_Reference__c + Account.Feed_Provider__c1:1 | Fully supported | |
| User (household grouping) | Account + Account Contact Relationship1:1 | Fully supported | |
| Document | ContentDocument / ContentVersion + Note1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| User.portal_reference_id | Contact.Source_System_ID__c1:1 | Fully supported | |
| User.created_date / updated_date | Contact.Original_Create_Date__c / Contact.Original_Last_Modified__c1:1 | Fully supported | |
| User.sms_consent / email_consent | Contact.SMS_Consent__c / Contact.Email_Consent__c1:1 | Fully supported | |
| User (adviser / staff user) | User1: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.
Myprosperity gotchas
No bulk data export endpoint requires iterative API polling
Tier determines data vintage, not just feature availability
Document storage caps can silently block large migrations
Client Relationship roles have a hard-coded integer schema
eSignature packages are stored as stateful workflow objects, not plain documents
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Authenticate MyProsperity API and audit data model
FlitStack AI connects to MyProsperity's API using credentials provided by your team. We pull a full data export including all User records with relationship_type codes, linked account references, document metadata, tasks, and notes. We validate record counts, identify any missing fields, and confirm whether MyProsperity stores binary file content or only portal download URLs. The audit output is a data inventory document that your team reviews before schema design begins. API pagination and rate-limit behaviour are profiled during this step to calibrate extraction timing.
Design Salesforce custom fields and household Account structure
Based on the data inventory, FlitStack AI produces a Salesforce schema setup plan: custom fields to create on Contact (Agent_Relationship_Type__c, Client_Reference_ID__c, SMS_Consent__c, Email_Consent__c, ABN__c, Original_Create_Date__c, Original_Last_Modified__c, Source_System_ID__c), custom fields to create on Account (External_Financial_Account_ID__c, Feed_Provider__c, Latest_Balance__c, Household_Email__c), and the household Account grouping strategy for multi-person households. Your Salesforce admin creates these fields and page layout assignments before the migration runs. We deliver exact field names, data types, pick-list values, and the order of creation so no manual mapping is needed.
Provision Salesforce Users for practice staff
MyProsperity practice portal staff accounts are extracted, de-duplicated by email, and cross-referenced against existing Salesforce Users. A user-provisioning checklist is delivered showing which MyProsperity staff accounts have a matching Salesforce User and which do not. Your team provisions missing Salesforce Users before migration so task owner resolution works by email match. Accounts without a Salesforce User match are flagged during the migration run and assigned to a designated fallback owner.
Run test migration with field-level diff on 50–100 records
A representative slice of MyProsperity data (typically 50–100 records spanning different relationship types, households, and document volumes) is migrated to a Salesforce sandbox or scratch org. FlitStack AI generates a field-level diff showing source value vs. destination field for every mapped property, highlighting any value-mapping discrepancies in relationship type codes, task status, and date fields. You review the diff, approve or adjust mappings, and sign off before the full migration runs. Documents exceeding 25MB are flagged at this stage.
Execute full migration with delta-pickup window
The full MyProsperity dataset loads into Salesforce via the Bulk API, sequenced so parent records (Account, Contact) exist before child records (Tasks, Notes, ContentVersions) to satisfy Salesforce lookup requirements. A delta-pickup window of 24–48 hours captures any records created or modified in MyProsperity during the cutover period. Every operation is written to an audit log, and a one-click rollback to the pre-migration state is available if reconciliation identifies data integrity issues. After rollback confirmation, the delta records are merged and the final dataset is validated against the original MyProsperity record counts.
Platform deep dives
Myprosperity
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Myprosperity and Salesforce Sales Cloud.
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
Myprosperity: Not publicly documented.
Data volume sensitivity
Myprosperity 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 Myprosperity to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Myprosperity to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Myprosperity
Other ways to arrive at Salesforce Sales Cloud
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.