CRM migration

Migrate from Unanet CRM by Cosential to Microsoft Dynamics 365 Sales

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

Unanet CRM by Cosential logo

Unanet CRM by Cosential

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

objects map 1:1 between Unanet CRM by Cosential and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Unanet CRM by Cosential is purpose-built for Architecture, Engineering, and Construction firms with pursuit-based opportunity management, proposal automation, and relationship intelligence that extends across project lifecycles. Microsoft Dynamics 365 Sales uses the standard Account-Contact-Lead-Opportunity model built on Dataverse, offering different semantics for deal tracking, activity association, and territory management. We map Unanet Companies to Dynamics Accounts, Contacts to Contacts, and Pursuits to Opportunities—translating pursuit stage names to opportunity stage values with probability re-application. Original create dates and pursuit identifiers are preserved as custom fields since Dynamics sets CreatedDate at migration time. Custom fields on all entities migrate to Dataverse custom fields with type-aware mapping. Proposal automation, pursuit templates, and AEC-specific relationship intelligence have no direct Dynamics equivalent—these are exported as JSON for manual rebuild. Data moves via Dataverse Web API with sample migration and field-level diff before full commit. The migration also preserves owner assignments and original timestamps, enabling historical reporting continuity. By leveraging the Dataverse Web API, FlitStack performs a staged data transfer with a field-level diff, ensuring mapping accuracy before committing the full dataset.

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

Unanet CRM by Cosential logo

Unanet CRM by Cosential

What's pushing teams away

  • Account Planning feature remains weak despite repeated user requests, leaving Business Development teams unsupported in long-term account strategy.
  • Navigation is widely criticized — convoluted search, hard-to-find dashboards, and a steep learning curve frustrate new users.
  • Double data entry is required in some workflows, particularly when integrating with financial systems or proposal tools outside the core CRM.
  • The interface is described as dated and clunky compared to modern CRM alternatives, affecting daily user experience.
  • Users report that the platform can be slow to load dashboards and reports, especially with large datasets accumulated over years.

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 Unanet CRM by Cosential objects map to Microsoft Dynamics 365 Sales

Each row shows how a Unanet CRM by Cosential 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.

Unanet CRM by Cosential

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Unanet Companies map 1:1 to Dynamics Accounts. Company name, address, phone, website, industry, and employee count map to Account fields directly. Parent-child company hierarchies in Unanet map to the Account.ParentAccountId lookup, requiring top-down migration sequencing. We also preserve the original Unanet company identifier in a custom field for cross-reference during delta runs.

Unanet CRM by Cosential

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Unanet Contacts map to Dynamics Contacts. First name, last name, email, phone, mobile phone, job title, and address fields map directly. The primary company association becomes AccountId; secondary company associations migrate as Account Contact Relationship records. We retain the original Unanet contact ID in a custom field to support reconciliation and delta tracking.

Unanet CRM by Cosential

Pursuit

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Unanet Pursuits map to Dynamics Opportunities. Pursuit name becomes Opportunity.Name, estimated amount maps to EstimatedValue, and close date maps to EstimatedCloseDate. Pursuit stage translates to Opportunity.StageName via value-by-value mapping, with probability and forecast category re-applied from the Dynamics side. Original Unanet pursuit ID is stored in a custom field for traceability across migration runs.

Unanet CRM by Cosential

Pursuit Stage

maps to

Microsoft Dynamics 365 Sales

Opportunity StageName

1:1
Fully supported

Stage names map value-by-value from Unanet pursuit stages to Dynamics opportunity stages. Probability and forecast category re-applied per Dynamics stage configuration. Stage-entered timestamps preserved as custom datetime fields for reporting continuity. We also capture the original Unanet stage identifier in a custom field to enable audit trails and downstream analytics.

Unanet CRM by Cosential

Activity (Call)

maps to

Microsoft Dynamics 365 Sales

PhoneCall

1:1
Fully supported

Unanet call activities migrate as Dynamics PhoneCall records. Subject, description, duration, start time, and owner preserved. Parent record reference re-linked to the mapped Account or Contact based on Unanet pursuit association. We log the original Unanet activity ID in a custom field to facilitate reconciliation and ensure no call records are missed during the cutover window.

Unanet CRM by Cosential

Activity (Email)

maps to

Microsoft Dynamics 365 Sales

Email

1:1
Fully supported

Unanet email activities migrate as Dynamics Email records. Subject, body (plain text or HTML), sent/received timestamp, and owner preserved. Re-linked to mapped Account or Contact using the Unanet contact and pursuit association. We also capture the original Unanet email ID in a custom field for audit tracking and to support delta capture after initial migration.

Unanet CRM by Cosential

Activity (Meeting)

maps to

Microsoft Dynamics 365 Sales

Appointment

1:1
Fully supported

Unanet meeting activities migrate as Dynamics Appointment records. Subject, location, start/end times, duration, and attendees preserved where available. Owner and parent record links re-mapped to the target Account or Contact. We retain the original Unanet meeting identifier in a custom field to enable reconciliation and to track any updates made after the initial export.

Unanet CRM by Cosential

Note

maps to

Microsoft Dynamics 365 Sales

Annotation

1:1
Fully supported

Unanet notes migrate as Dynamics Annotations. Note subject, body text, created date, and owner preserved. Rich-text formatting in Unanet notes is flattened to plain text for Dynamics compatibility. We also keep the original Unanet note ID in a custom field to support delta tracking and to ensure all annotations are linked correctly after migration.

Unanet CRM by Cosential

Custom Field

maps to

Microsoft Dynamics 365 Sales

Custom Field (__c)

1:1
Fully supported

Unanet custom fields on Companies, Contacts, and Pursuits map to Dataverse custom fields with the __c suffix. Field types (text, number, currency, picklist, date, boolean) are preserved with type-aware mapping. Note the Sales Professional 15-table limit—complex Unanet setups may require Sales Enterprise licensing.

Unanet CRM by Cosential

User / Owner

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

Unanet users are matched to Dynamics SystemUsers by email address. Unmatched owners are flagged before migration with a fallback owner assigned to prevent record landing without a valid owner. Active/Unactive status preserved where applicable. We also record the original Unanet user ID in a custom field for audit trails and future reference.

Unanet CRM by Cosential

Proposal Template

maps to

Microsoft Dynamics 365 Sales

No equivalent

1:1
Fully supported

Unanet proposal automation and pursuit templates do not have a native Dynamics equivalent. We export template structure, field mappings, and content library references as JSON. Rebuild typically uses Dynamics 365 Sales, Conga CPQ, or a custom Power Apps solution. Your team should plan a separate project timeline for rebuilding these templates in the target system.

Unanet CRM by Cosential

Territory / Account Planning

maps to

Microsoft Dynamics 365 Sales

Territory

1:1
Fully supported

Unanet account planning data and territory assignments migrate as custom fields on Account. Dynamics Territory Management (Enterprise) can be used to rebuild territory hierarchies post-migration with territory assignment rules. We also export the existing territory definitions and assignment logic as a reference document to assist with the post-migration rebuild.

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.

Unanet CRM by Cosential logo

Unanet CRM by Cosential gotchas

High

Non-standard object names block naive field mapping

High

API requires Enterprise License agreement

Medium

Duplicate contact risk on bulk imports

Medium

Custom fields require manual schema enumeration

Low

Proposal templates carry template logic, not just data

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

  • Proposal automation and pursuit templates have no Dynamics native equivalent

    Unanet's proposal automation, pursuit templates, and content libraries are AEC-specific constructs with no built-in Dynamics 365 Sales counterpart. These include proposal generation from pursuit data, FAR/DFARS compliance templates, and automated document assembly. We export template field mappings and content references as JSON for your team to rebuild using Dynamics 365 Sales, Conga CPQ, or a custom Power Apps solution. This is a manual-rebuild item, not a data-migration task. Plan for a separate project timeline and budget to address this gap.

  • Sales Professional caps custom tables at 15—complex Unanet setups need Enterprise

    Dynamics 365 Sales Professional limits custom tables to 15, which includes all custom fields and custom entities combined. Unanet CRM users frequently accumulate 20+ custom fields across companies, contacts, and pursuits. Before migration, FlitStack inventories all Unanet custom fields and reports whether your target Dynamics license can accommodate them. Upgrading to Sales Enterprise removes this ceiling entirely. If your current Unanet schema exceeds 15 custom fields, the migration will flag the surplus and recommend an Enterprise license upgrade before proceeding with data load.

  • N:N contact-to-company associations collapse to primary AccountId plus junction records

    Unanet supports N:N relationships between contacts and companies natively—any contact can associate with any number of companies with no primary designation required. Dynamics 365 Sales Contacts use a single primary AccountId lookup plus the Account Contact Relationship entity for additional links. We migrate the most-recently-modified company as primary (or apply your specified primary-rule) and surface the rest as Account Contact Relationship records. This approach preserves the relationship richness while ensuring each contact points to a primary account for standard Dynamics reporting.

  • Pursuit-stage probability does not auto-sync to Dynamics stage probability

    Unanet calculates pursuit probability based on stage position within the pipeline configuration. Dynamics 365 Sales stores stage probability independently on the Opportunity record via CloseProbability. During migration, we write both the Unanet probability value and the pursuit stage name, then re-apply Dynamics stage probabilities from your target Business Process Flow configuration post-migration. After migration, you should review the Business Process Flow stages in Dynamics to align the probability percentages with your sales cycle, ensuring forecast accuracy and reporting consistency across teams.

  • Activity parent-record re-association requires pursuit-to-Account cross-reference

    Unanet activities attach directly to pursuits with the pursuit as the parent record context. In Dynamics, activities attach to Account, Contact, or Opportunity records. During migration, we cross-reference the Unanet pursuit ID to its migrated Opportunity and Account records, then re-parent the activity to the appropriate Dynamics entity. Unmapped pursuits (if any) default to the associated Account. If a pursuit cannot be resolved to an Opportunity, the activity will be linked to the related Account, maintaining visibility for follow-up actions.

Migration approach

Six steps for a successful Unanet CRM by Cosential to Microsoft Dynamics 365 Sales data migration

  1. Inventory Unanet data via Compass API and audit custom field schema

    FlitStack connects to Unanet via Compass API v1 or v2 and pulls a full export of Companies, Contacts, Pursuits, Activities, and custom fields. We generate a schema inventory report showing field types, pick-list values, and N:N associations. This report drives the custom field creation plan for Dataverse and identifies any pursuit stages that need value-mapping setup in Dynamics. The schema inventory also flags any deprecated fields that can be archived before migration.

  2. Create Dataverse custom fields and configure opportunity stage mapping

    Before data moves, we create all required custom fields on Account, Contact, and Opportunity in Dataverse. Custom field names use the __c suffix following Dynamics conventions. Simultaneously, we configure the opportunity stage value-map so Unanet pursuit stage names map to the correct Dynamics StageName values with probability and forecast category pre-applied. We also validate the picklist option set values and set default visibility settings for each custom field to ensure consistent access across security roles.

  3. Resolve owners by email match and flag unmatched users

    Unanet users are matched to Dynamics SystemUsers by email address using the Dataverse WhoAmI endpoint. Records with unmatched owners are flagged in a pre-flight report with two resolution paths: create the user in Dynamics first, or designate a fallback owner. No record migrates without a valid Dynamics owner ID to avoid orphaning. If a fallback owner is used, we log the original owner for later reconciliation so you can reassign records after migration.

  4. Migrate Accounts, then Contacts, then Opportunities in dependency order

    Dynamics requires Account before Contact (via AccountId lookup) and Contact before Opportunity (via OpportunityContactRoles). We sequence the migration accordingly: Accounts first with parent-company resolution, then Contacts with primary-company AccountId assignment and secondary Account Contact Relationships, then Opportunities with stage and probability mapping. Activities re-parent to the migrated Account or Opportunity after both exist. This ordered approach ensures referential integrity and prevents orphaned relationships during the bulk load process.

  5. Run sample migration with field-level diff before full commit

    A representative slice—typically 100–500 records spanning companies, contacts, pursuits, and activities—migrates first. We generate a field-level diff comparing Unanet source values against Dynamics destination values so you can verify stage mapping, owner resolution, custom field values, and activity re-parenting before the full run commits. The diff report highlights any discrepancies in picklist values, date formats, and currency fields, allowing you to adjust mappings before the final load.

  6. Execute full migration with delta-pickup window and audit log

    The full migration runs against Dataverse Web API. A delta-pickup window (24–48 hours) captures any records modified in Unanet during the cutover window. Every operation is logged to an audit trail. One-click rollback is available if reconciliation fails. Post-migration, we deliver a reconciliation report showing record counts, skip reasons, and custom field validation results. The audit trail includes timestamps, user IDs, and API response codes for compliance review and troubleshooting after go-live.

Platform deep dives

Context on both ends of the pair

Unanet CRM by Cosential logo

Unanet CRM by Cosential

Source

Strengths

  • Deep AEC-native data model purpose-built for project-based relationship tracking and proposal generation
  • Proposal automation directly integrated with CRM data, eliminating manual re-entry for qualification packages
  • Strong company-association model handles multi-role contacts and firm hierarchy within a single object structure
  • Reputation and track record with 1,000+ AEC firms over 20+ years provides industry credibility
  • Comprehensive Microsoft Outlook integration and mobile app support field teams working on projects

Weaknesses

  • Non-standard field names and AEC-specific object names require significant field-level mapping work
  • Account Planning feature is consistently under-developed and a pain point for Business Development teams
  • Navigation and search are widely criticized as convoluted, suggesting a dated UX
  • Custom fields are not fully documented in the public API schema, making discovery a manual process
  • Pricing starts at $50/user/month with significant implementation costs, making it expensive for smaller AEC firms
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. 1 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 Unanet CRM by Cosential and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 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

    Unanet CRM by Cosential: Not publicly documented.

  • Data volume sensitivity

    B

    Unanet CRM by Cosential doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Unanet CRM by Cosential 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 Unanet CRM by Cosential to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Unanet CRM by Cosential to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Unanet CRM by Cosential 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 Unanet-to-Dynamics migrations complete in 48–72 hours for under 25,000 total records. Datasets exceeding 200,000 records or using complex custom field schemas extend to 5–7 days. The longest planning step is mapping Unanet pursuit stages to Dynamics opportunity stages value-by-value and configuring the Dataverse custom field schema before data lands. During this phase, we also validate owner resolution, verify N:N contact relationships, and prepare the activity re-parenting strategy to ensure smooth record linkage after the cutover.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Unanet CRM by Cosential.
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