CRM migration

Migrate from Property Shell to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Property Shell and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Property Shell logo

Property Shell

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

92%

11 of 12

objects map 1:1 between Property Shell and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Property Shell is a CRM built for property developers and project marketers — it tracks projects, lots or units, developer contacts, contract terms, and development stages (DA Approved, On Market, Under Contract, Settled) with built-in marketing automation for buyer journeys. Dynamics 365 Sales is Microsoft's enterprise CRM — its Professional tier limits custom tables to 15, while Enterprise and Premium offer unlimited customization via Dataverse tables. A Property Shell to Dynamics 365 Sales migration carries contacts, companies, projects, and custom properties into Dataverse tables and fields. We map Property Shell's property-specific objects to custom Dataverse tables, preserving development stage names as custom pick-list values rather than overwriting Dynamics 365's native Opportunity stage field. Owner resolution uses email matching against Microsoft 365 identities. A delta-pickup window (24–48 hours) captures any final changes during cutover. We run a sample migration with field-level diff before committing the full dataset. Workflows and automations do not migrate — these must be rebuilt in Power Automate using an exported reference document. Reports and dashboards are not carried over and require rebuilding in Dynamics 365 reporting tools or Power BI. Integrations must be reconnected separately. FlitStack sequences the migration so foreign-key dependencies resolve in order: Accounts first, then Contacts, then Opportunities, then Units and Contracts with attachments.

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

Property Shell logo

Property Shell

What's pushing teams away

  • Limited publicly documented API or export mechanisms, making it difficult to extract data for reporting, backups, or migrations to another platform.
  • Smaller review base (29 verified reviews on Capterra) and thin community resources compared to established CRM platforms, making peer support harder to find.
  • As a niche platform targeting property developers in Australia and New Zealand, teams operating in other regions or industries may find the feature set too specialised for broader CRM needs.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Property Shell objects map to Microsoft Dynamics 365 Sales

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

Property Shell

Contact

maps to

Microsoft Dynamics 365 Sales

Contact (Dataverse)

1:1
Fully supported

Property Shell contacts migrate as Dataverse Contacts. Standard fields (name, email, phone, address) map directly. Custom contact properties (enquiry source, preferred contact method, email subscription status) migrate as custom fields on the Contact table. Owner resolved by email match against Microsoft 365 users.

Property Shell

Company / Developer

maps to

Microsoft Dynamics 365 Sales

Account (Dataverse)

1:1
Fully supported

Property Shell's Company object maps to Dynamics 365 Account. Developer-type property companies preserve their developer_type as a custom pick-list field (DeveloperType__c) on the Account. Primary contact links are resolved after the Contact records are created, using the primary_contact_id lookup from Property Shell.

Property Shell

Project

maps to

Microsoft Dynamics 365 Sales

Opportunity + custom Project__c table

1:1
Fully supported

Property Shell Projects map to a custom Project__c Dataverse table in addition to a standard Opportunity record per project. The Opportunity captures deal-level financial fields (contract_value, budget_amount, deposit_amount); the Project__c table captures property development fields (development_address, settlement_date, project_stage) that have no native Opportunity equivalent.

Property Shell

Unit / Lot

maps to

Microsoft Dynamics 365 Sales

Custom LotUnit__c table

1:1
Fully supported

Property Shell's Lot or Unit object has no direct Dynamics 365 equivalent — it requires a custom LotUnit__c Dataverse table. Fields like lot_number, area_sqm, lot_price, and sales_status migrate as custom columns. The sales_status pick-list maps to a custom pick-list defined in Dynamics 365, not to the native Opportunity Stage field.

Property Shell

Development Stage

maps to

Microsoft Dynamics 365 Sales

Custom pick-list on LotUnit__c

1:1
Fully supported

Property Shell stores development stages (DA Approved, Site Works Complete, On Market, Under Contract, Settled) as a pick-list on each Unit record. These stages are not equivalent to Dynamics 365 Opportunity stages — they map to a custom pick-list field (DevelopmentStage__c) on the LotUnit__c table, with value-by-value mapping. Stage-entry timestamps migrate as custom datetime fields.

Property Shell

Contract

maps to

Microsoft Dynamics 365 Sales

Custom Contract__c table + Note

many:1
Fully supported

Property Shell contract records contain both structured fields (contract_number, title, parties, dates) and file attachments. The structured fields merge into a custom Contract__c Dataverse table linked to the LotUnit__c record. Contract documents are re-uploaded as Dataverse Files attached to the Contract__c record — original filenames and MIME types are preserved.

Property Shell

Contract Attachment

maps to

Microsoft Dynamics 365 Sales

Dataverse Files

1:1
Fully supported

Contract PDF files and display-suite assets attached to Property Shell contract records are downloaded and re-uploaded to Dataverse Files linked to the Contract__c record. Files exceeding Dynamics 365's 128 MB per-file limit are flagged for chunked upload. The original file size and creation date are stored as metadata on the file record.

Property Shell

Owner / User

maps to

Microsoft Dynamics 365 Sales

SystemUser (resolved by email)

1:1
Fully supported

Property Shell owner records are resolved by email match against Microsoft 365 user accounts in Dynamics 365. Unmatched owners are flagged before migration — the team either creates a Microsoft 365 account first or assigns records to a designated fallback owner. Property Shell user metadata (role, last_login) is preserved as custom fields on the Contact record for reference.

Property Shell

Lead (enquiry without conversion)

maps to

Microsoft Dynamics 365 Sales

Lead (Dataverse)

1:1
Fully supported

Property Shell enquiries that have not been converted to contacts map to Dynamics 365 Lead records. The enquiry_source property migrates as a custom field (EnquirySource__c) to preserve the origin channel for each lead. Lifecycle stage equivalents are stored as a custom pick-list (LeadType__c) on the Lead record, allowing segmentation by enquiry status without relying on the native lead quality scoring fields.

Property Shell

Marketing Automation / Workflow

maps to

Microsoft Dynamics 365 Sales

Power Automate (must rebuild)

1:1
Fully supported

Property Shell's built-in marketing automation, enquiry funnels, and nurture journeys do not have a migration path to Dynamics 365. They must be rebuilt in Power Automate or Dynamics 365 Customer Insights Journeys. FlitStack exports the workflow definitions and trigger/action logs as a JSON reference document for the rebuild project.

Property Shell

Report / Dashboard

maps to

Microsoft Dynamics 365 Sales

Dynamics 365 Reports + Power BI (must rebuild)

1:1
Fully supported

Property Shell's reporting and metrics dashboards do not carry over. The underlying data migrates, but the report definitions, chart configurations, and scheduled delivery settings require rebuilding using Dynamics 365's native report designer or Power BI. FlitStack provides a data dictionary of the migrated schema to accelerate the rebuild.

Property Shell

Integration / Third-party connection

maps to

Microsoft Dynamics 365 Sales

Power Platform connectors (must rebuild)

1:1
Fully supported

Property Shell integrations with third-party tools (Zapier, PropertyGuru, Campaign Monitor, Mailchimp) must be disconnected before migration and re-established in Dynamics 365 using Power Automate connectors or native integration settings. Integration endpoints, authentication credentials, and trigger configurations are documented during discovery so your team can rebuild each connection in the Power Platform admin center after go-live.

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.

Property Shell logo

Property Shell gotchas

High

No documented public API for data export

High

Highly customised per-customer schema requires pre-migration field audit

Medium

Interactive Maps are visualisation-layer only and cannot be migrated

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Development stage names do not map to Dynamics 365 Opportunity Stage

    Property Shell tracks each lot or unit through named development stages: DA Approved, Site Works Complete, On Market, Under Contract, Settled. Dynamics 365's native Opportunity Stage field is a sales-cycle pick-list designed for prospect-to-close pipelines — it has no semantic alignment with a property development lifecycle. Migrating these stages to Opportunity StageName will corrupt your pipeline reporting. We map them to a custom DevelopmentStage__c pick-list field on the LotUnit__c table, with value-by-value translation. Stage-entry timestamps are preserved as custom datetime fields. Before go-live, your Dynamics admin must add the pick-list values in the Power Apps maker portal.

  • Sales Professional tier caps custom tables at 15 — Enterprise or Premium required for full schema

    If your Property Shell setup uses more than 15 custom properties that require dedicated tables (e.g., LotUnit__c, Contract__c, Project__c, Developer__c, Enquiry__c), Dynamics 365 Sales Professional will hit its custom-table ceiling immediately. We flag this during discovery. Teams with complex property development schemas must be licensed at Sales Enterprise ($105 per user per month) or Sales Premium ($150+ per user per month) before migration proceeds. Failure to identify this during scoping results in schema truncation at go-live — a data-loss risk that cannot be reversed without an Enterprise license upgrade.

  • Contract PDF files and attachments must be re-uploaded to Dataverse Files

    Property Shell stores contract documents, display-suite assets, and supporting files as attachments on project or contract records. Dynamics 365 stores files in Dataverse Files (SharePoint-backed). Files do not migrate as binary references — they must be downloaded from Property Shell and re-uploaded to Dataverse. The 128 MB per-file limit applies. We handle the download-reupload cycle, preserve original filenames and MIME types, and link each file to the corresponding Contract__c or LotUnit__c record. Files over 128 MB are flagged and chunked. This step is the most common source of partial data loss in Property Shell migrations if handled manually.

  • Power Platform API request limits apply during high-volume migration windows

    Dynamics 365 Sales runs on the Power Platform API layer, which enforces request allocation limits per environment (currently 100,000 requests per 24 hours for standard Dynamics 365 environments). Property Shell migrations with large contract attachment sets or high record counts can exhaust these limits during the migration window, causing HTTP 429 throttling responses. We manage request pacing, implement exponential backoff on throttled requests, and run migration batches in off-peak hours to stay within allocated limits. If your environment has had prior high-volume API usage, we recommend requesting a temporary allocation increase from Microsoft before migration day.

  • Marketing automation sequences and enquiry funnels do not migrate — they must be rebuilt

    Property Shell's built-in marketing automation features — enquiry nurture journeys, lead funnels, automated follow-up sequences, and buyer journey logic — are platform-native constructs that have no equivalent in Dynamics 365's core CRM. They do not export as transferable workflow definitions. We can export the sequence names, step logic, trigger conditions, and timing rules as a JSON reference document that your Power Automate or Dynamics 365 Customer Insights administrator can use to rebuild the logic. This is always a post-migration project; it cannot be part of the data migration itself.

Migration approach

Six steps for a successful Property Shell to Microsoft Dynamics 365 Sales data migration

  1. Discovery and schema profiling

    FlitStack extracts Property Shell's full object schema via API — all custom properties, pick-list values, relationship metadata, and owner records. We profile record counts per object, identify multi-table relationship chains (Project → Unit → Contract → Attachment), and flag pick-list value sets that require value-by-value mapping. The discovery output is a Migration Scope Document that your team reviews before we begin field mapping. At this stage we also identify which Dynamics 365 license tier is required to accommodate your custom schema.

  2. Schema design and Dynamics 365 configuration

    Based on the discovery output, we design the Dataverse custom tables and fields needed for your migration: LotUnit__c, Contract__c, Project__c, and custom fields on Account and Contact. We produce a Dynamics 365 setup plan listing every table to create, every pick-list to populate, and every relationship to configure — including the DevelopmentStage__c and SalesStatus__c pick-lists. Your Dynamics admin creates the schema (or FlitStack creates it via the Dataverse API with your admin's OAuth credentials) before data movement begins. This step prevents the common failure mode of data landing before the destination fields exist.

  3. Owner resolution and user seeding

    We extract Property Shell owner records and match them against Microsoft 365 user accounts in your Dynamics 365 tenant by email address. Owners with no matching Microsoft 365 account are flagged in a Pre-Migration Owner Report. Your team either provisions a Microsoft 365 account for each unmatched owner before migration day or designates a fallback owner. No record is loaded without a valid Dynamics 365 owner; this prevents orphaned records that appear in reports but have no assigned user.

  4. Data migration in dependency order

    We sequence the migration to respect Dataverse foreign-key constraints: Accounts first (no dependencies), then Contacts (depends on Account), then Project__c and Opportunity (depends on Account), then LotUnit__c (depends on Project__c), then Contract__c (depends on Account, LotUnit__c, and Project__c), and finally Annotations (file attachments) linked to their parent records. Each batch is validated after loading — record counts, required-field completeness, and pick-list validity are checked before the next batch begins. Contract PDF files are downloaded from Property Shell and re-uploaded to Dataverse Files with original filenames and MIME types preserved.

  5. Sample migration with field-level diff

    Before the full migration runs, we migrate a representative sample — typically 100–500 records spanning contacts, accounts, projects, units, contracts, and a sample of attachments. We generate a field-level diff comparing source values against destination values for every mapped field, including custom pick-lists and datetime stamps. You review the diff and confirm the mapping is correct. DevelopmentStage__c and SalesStatus__c value mappings are validated here. No full migration commits until you sign off on the sample.

  6. Delta pickup, cutover, and audit delivery

    The full migration runs and a delta-pickup window opens — typically 24 to 48 hours — to capture any Property Shell records created or modified during the cutover period. FlitStack maintains scoped read access to Property Shell throughout; your team keeps working in the platform. After the delta window closes, we run a final reconciliation comparing total record counts per object in both systems. We deliver a complete Migration Audit Log listing every record created, updated, or skipped, plus a Power Automate rebuild reference document for your workflow reconstruction project. One-click rollback is available if reconciliation reveals discrepancies above your defined tolerance threshold.

Platform deep dives

Context on both ends of the pair

Property Shell logo

Property Shell

Source

Strengths

  • Purpose-built for property development projects with native concepts for lots, stages, releases, and settlements.
  • Real-time interactive mapping for display suites and project websites showing stock status and lot availability.
  • AI-powered lead scoring and automated nurture journeys from first enquiry through to settlement.
  • Comprehensive contract management with variation and upgrade tracking across the settlement lifecycle.
  • Integrates development, marketing, sales, and finance team collaboration within a single platform.

Weaknesses

  • No publicly documented API or developer portal — export and migration rely on ad-hoc data extraction.
  • Small review cohort and limited third-party community resources for troubleshooting or peer support.
  • Interactive Map geometry and visual stock statuses are UI-layer data not exposed for migration or backup.
  • Highly custom implementations per customer mean no standard schema — every migration requires a full field audit.
  • Platform is primarily oriented to the Australian property development market, limiting applicability for teams in other regions.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

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 Property Shell and Microsoft Dynamics 365 Sales .

  • 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

    Property Shell: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Property Shell to Microsoft Dynamics 365 Sales 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 Property Shell to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Property Shell to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Property Shell to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Property Shell to Dynamics 365 migrations complete in 48–72 hours of clock time for under 50,000 records. Larger setups with 100,000+ records, multiple custom tables (LotUnit__c, Contract__c, Project__c), and contract attachment re-uploads extend to 5–7 days. Beyond the data movement window, allow 1–3 weeks for pre-migration discovery, schema setup in Dynamics 365, and post-migration workflow rebuilding. The longest planning step is typically getting the DevelopmentStage__c and SalesStatus__c pick-list values defined in Dynamics 365 before data can land.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Property Shell.
Land in Microsoft Dynamics 365 Sales , 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