CRM migration
Field-level mapping, validation, and rollback between Myprosperity and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Myprosperity
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
10 of 10
objects map 1:1 between Myprosperity and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3–5 business days
Overview
Myprosperity is a client-facing wealth portal platform built for financial advisers and accounting practices — it stores client portal users, relationship types (Owner, Accountant, Lawyer, Wife, Husband, Child), financial account balances, portfolio valuations, property valuations, and document attachments behind a white-labelled client portal. Dynamics 365 Sales is a Microsoft CRM built on Dataverse that stores contacts, accounts, opportunities, and custom tables. The two platforms share almost no schema overlap: Myprosperity has no native contact-company association model and stores financial data in portal-specific properties, while Dynamics 365 Sales uses Account as the primary organizational record with Contact linked via a lookup and financial fields requiring custom fields on Account or custom Dataverse tables. We migrate Myprosperity User records as Dynamics 365 Contacts, Myprosperity Client records as Dynamics 365 Accounts, relationship types as a custom pick-list field on Contact (since Dynamics has no native relationship-type concept), financial balances and portfolio values as custom fields on Account, property valuations as a custom Dataverse table, and documents as Notes attachments on the parent Contact or Account. Document files from Myprosperity's portal storage are downloaded and re-uploaded to Dynamics 365's native SharePoint integration or as file attachments. Workflows, automations, and client-portal configurations do not migrate — those are rebuilt using Power Automate or Dynamics 365 business process flows 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.
Source platform
Myprosperity platform overview
Scorecard, SWOT, gotchas, and pricing for Myprosperity.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
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 Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Myprosperity
User
Microsoft Dynamics 365 Sales
Contact
1:1Myprosperity User maps directly to Dynamics 365 Contact. Each portal user becomes a Contact record. The user's primary Client association maps via AccountId lookup — the Client must be migrated first so the Contact.AccountId foreign key resolves correctly at insert time.
Myprosperity
Client
Microsoft Dynamics 365 Sales
Account
1:1Myprosperity Client maps to Dynamics 365 Account. The Client represents the household or individual entity — in Dynamics this maps to Account (individual accounts use the 'Individual' account type). ABN/ACN and business name map to Account.Industry or custom fields depending on entity type.
Myprosperity
Relationship
Microsoft Dynamics 365 Sales
Contact (custom pick-list field)
1:1Myprosperity relationship type (integer code: 0=Owner, 1=Accountant, 2=Lawyer, 3=Wife, 4=Husband, 5=Child) has no native equivalent in Dynamics 365 Sales. We map the integer to a custom pick-list field RelationshipType__c on Contact, preserving the exact label semantics so advisers can filter by relationship in Dynamics views and reports.
Myprosperity
FinancialAccount (balance, portfolio value, cash holdings)
Microsoft Dynamics 365 Sales
Account (custom fields)
1:1Myprosperity financial account data — bank balances, investment portfolio values, superannuation balances — are stored as portal properties. Dynamics 365 Sales has no native financial-balance fields. We create custom Decimal fields on Account (e.g., AccountBalance__c, PortfolioValue__c, CashHoldings__c) and map values directly from the Myprosperity financial data export.
Myprosperity
Property (residential, investment, vehicle valuations)
Microsoft Dynamics 365 Sales
Custom Dataverse Table: PropertyValuation
1:1Myprosperity property and vehicle valuation records have no direct Dynamics 365 Sales equivalent — Opportunity and Account do not natively store asset valuations. We create a custom PropertyValuation Dataverse table with fields for property type, address, valuation amount, valuation date, and source (Owner, Accountant, etc.), linked to Account via a lookup relationship.
Myprosperity
Document (statements, contracts, valuations)
Microsoft Dynamics 365 Sales
Contact/Account Notes and Attachments / SharePoint
1:1Myprosperity documents are downloaded from the portal API and re-uploaded as Notes attachments on the parent Contact or Account record in Dynamics 365. For large document volumes we use Dynamics 365's SharePoint integration — documents are uploaded to the associated SharePoint document library and linked via the entity's document location record.
Myprosperity
User.email (owner/adviser lookup)
Microsoft Dynamics 365 Sales
SystemUser / Contact.OwnerId
1:1Myprosperity does not have a native owner field on User. Adviser-assigned users are resolved by email match against Dynamics 365 SystemUser records. Unmatched users are flagged before migration — the practice either creates the user in Dynamics first or assigns a fallback owner (e.g., the practice principal) for the Contact record.
Myprosperity
Client.createdate / User.createdate
Microsoft Dynamics 365 Sales
Contact.OriginalCreateDate__c (custom datetime)
1:1Dynamics 365 sets CreatedDate at insert time — the original Myprosperity create timestamp is lost unless preserved explicitly. We create a custom datetime field OriginalCreateDate__c on Contact and populate it from the Myprosperity createdate value so historical reporting continuity is maintained in Dynamics.
Myprosperity
Myprosperity custom client properties
Microsoft Dynamics 365 Sales
Account (custom fields) / Dataverse custom tables
1:1Myprosperity allows practice-specific custom properties on client profiles. These map to custom fields on Account using the property name as the field label and the __c suffix in the API name. Complex multi-value custom properties (e.g., lists of related entities) may require a custom Dataverse table with a lookup to Account.
Myprosperity
Myprosperity subscription tier / client limit
Microsoft Dynamics 365 Sales
N/A — informational only
1:1Myprosperity's tier model (Starter limits: 300–2,000 client subscriptions; Pro: 5–100 included, then $14.95/client) has no Dynamics 365 equivalent. We document the tier and record count for migration scoping but do not create a corresponding object — Dynamics 365 Sales has no per-client billing model.
| Myprosperity | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| User | Contact1:1 | Fully supported | |
| Client | Account1:1 | Fully supported | |
| Relationship | Contact (custom pick-list field)1:1 | Fully supported | |
| FinancialAccount (balance, portfolio value, cash holdings) | Account (custom fields)1:1 | Fully supported | |
| Property (residential, investment, vehicle valuations) | Custom Dataverse Table: PropertyValuation1:1 | Fully supported | |
| Document (statements, contracts, valuations) | Contact/Account Notes and Attachments / SharePoint1:1 | Fully supported | |
| User.email (owner/adviser lookup) | SystemUser / Contact.OwnerId1:1 | Fully supported | |
| Client.createdate / User.createdate | Contact.OriginalCreateDate__c (custom datetime)1:1 | Fully supported | |
| Myprosperity custom client properties | Account (custom fields) / Dataverse custom tables1:1 | Fully supported | |
| Myprosperity subscription tier / client limit | N/A — informational only1: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
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Assess Myprosperity API and export the schema
FlitStack AI connects to the Myprosperity REST API and inventories all User, Client, FinancialAccount, Property, and Document records. We pull the field schema to identify custom properties, relationship type distributions, and financial data fields present in your account. API rate limits are tested against a sample export to calibrate extraction timing. We also inventory active Myprosperity workflows and automations for the rebuild reference document.
Stand up Dynamics 365 schema: custom fields and Dataverse tables
Before data lands in Dynamics 365, we create the required custom schema based on the Myprosperity field inventory: RelationshipType__c pick-list on Contact; AccountBalance__c, PortfolioValue__c, CashHoldings__c, and Custom_ABN__c fields on Account; and the PropertyValuation__c custom Dataverse table with its lookup to Account. We verify the field API names and data types against your Dynamics environment before extraction begins. If your licence is Sales Professional, we flag the custom-table count to ensure you stay within the 15-table limit.
Extract, transform, and validate with a field-level diff
Myprosperity data is extracted via the REST API in batches, respecting rate limits. Each record is transformed according to the field mapping: integer relationship codes become RelationshipType__c pick-list labels, financial values are cast to Decimal, and property records are upserted to the PropertyValuation__c custom table. A sample migration (typically 100–500 records) is run first against a Dynamics 365 sandbox environment, and FlitStack AI generates a field-level diff report showing source value versus destination field for every mapped property so you can verify accuracy before the full run.
Cut over with delta-pickup window and audit log
The full migration runs against your live Dynamics 365 environment. A delta-pickup window (typically 24–48 hours after the full run) captures any Myprosperity records created or modified during the cutover period. Every insert, update, and error is written to a migration audit log. If reconciliation fails, one-click rollback reverts the Dynamics environment to its pre-migration state. Documents are uploaded in parallel to SharePoint or as entity attachments, with the parent Contact or Account linked via ObjectId.
Deliver the rebuild reference and post-migration handoff
FlitStack AI delivers the exported workflow JSON (for Power Automate rebuild), the complete field-mapping manifest, and the migration audit log as part of the handoff package. We schedule a 30-minute post-migration call with your Dynamics administrator to walk through the mapping decisions, review any records that require manual review, and confirm the next steps for rebuilding Myprosperity automations in Power Automate.
Platform deep dives
Myprosperity
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Microsoft Dynamics 365 Sales .
Object compatibility
1 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 Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Myprosperity to Microsoft Dynamics 365 Sales 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 Microsoft Dynamics 365 Sales
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.