CRM migration
Field-level mapping, validation, and rollback between OneSuite and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
OneSuite
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 10
objects map 1:1 between OneSuite and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from OneSuite to Microsoft Microsoft Dynamics 365 Sales is a structural migration that requires resolving a fundamental model difference before any data moves. OneSuite holds contacts, companies, and client records in a single Client entity with a flat property structure; Dynamics 365 separates unqualified prospects into Leads and qualified records into Contacts attached to Accounts. We split OneSuite Clients at migration time using a configurable rule (typically source attribution or revenue threshold), create the corresponding Account and Contact or Lead records in the destination, and preserve the original Client ID in a custom field for audit. OneSuite has no documented bulk API endpoint, so we work through its officially documented CSV and JSON import paths, chunking large datasets to avoid the platform's import buffer truncation. Dynamics 365's per-user API rate limits (60,000 requests per user per instance in a five-minute span) govern write throughput during migration. Workflows, automations, and document templates do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild in Dynamics 365.
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
OneSuite platform overview
Scorecard, SWOT, gotchas, and pricing for OneSuite.
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 OneSuite 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.
OneSuite
Client
Microsoft Dynamics 365 Sales
Account + Contact or Lead (split required)
1:manyOneSuite's Client is a unified entity holding both person-level contact details and company-level information. We split Clients into Dynamics 365 Accounts (company data: name, domain, address, industry) and either Contacts (qualified buyers: direct phone, email, title) or Leads (unqualified prospects: source attribution, initial interest). The split rule is defined during scoping, typically using OneSuite's ICP status flag or revenue tier property. OneSuite's original Client ID is preserved in a custom field src_client_id__c on both the Account and the related Contact or Lead for cross-reference.
OneSuite
Lead
Microsoft Dynamics 365 Sales
Lead
1:1OneSuite's distinct Lead object (pipeline stages, source attribution, scoring) maps directly to Dynamics 365 Lead. The leadstage property maps to Lead Status, source tracking maps to LeadSource, and scoring values transfer to a custom field src_lead_score__c. We preserve the full pipeline stage order as Lead Status values configured in Dynamics before import.
OneSuite
Project
Microsoft Dynamics 365 Sales
Custom Entity (Project) or msdyn_project (if Project Operations licensed)
1:1OneSuite Projects link directly to Clients. We map Projects as a custom entity in Dynamics 365 (or msdyn_project if the customer licenses Project Operations) and reconstruct the Client-to-Project relationship by resolving the Account or Contact lookup at migration time. Project tasks and milestones migrate as related custom records with a parent_project__c lookup field.
OneSuite
Invoice
Microsoft Dynamics 365 Sales
Invoice (Sales Enterprise) or Custom Entity
lossyOneSuite Invoices reference Clients and contain line items, tax rates, payment status, and currency. We map standard invoice fields (invoice number, date, due date, total amount, tax amount) to Dynamics 365 Invoice if the customer holds Sales Enterprise, or to a custom Invoice entity for Sales Professional. Multi-currency and complex tax configurations are flagged for manual reconciliation post-migration because Dynamics 365 handles currency at the org level via the TransactionCurrency entity, which requires pre-configuration.
OneSuite
Document
Microsoft Dynamics 365 Sales
SharePoint (via Dynamics 365 integrated document management)
1:1OneSuite Documents can be associated with Clients or Projects. We transfer document metadata (name, type, URL, associated Client reference) and map the URL to a SharePoint location linked from the Dynamics 365 Account or Contact. Binary file content does not migrate directly; we flag any Documents exceeding the account's plan storage cap (30 GB Freelancer, 60 GB Growing Agency) before committing the import so the customer can provision additional SharePoint capacity separately.
OneSuite
File
Microsoft Dynamics 365 Sales
SharePoint or Notes (ContentDocument)
1:1Files attached to Projects, Tasks, or Invoices migrate as ContentDocument records linked via ContentDocumentLink to the parent Account, Contact, or custom Project entity. File URLs transfer to SharePoint document locations. Files approaching or exceeding plan storage caps are flagged for separate SharePoint provisioning; binary content is not duplicated into Dataverse storage unless the customer has confirmed available capacity.
OneSuite
Custom Fields
Microsoft Dynamics 365 Sales
Custom Fields on Account, Contact, Lead, Project
lossyOneSuite returns custom fields flattened onto the entity with their original slug as the property key (e.g., clientTier appears as clientTier on the Client record). We parse each slug, create the equivalent custom field in Dynamics 365 using the default new_ prefix (e.g., new_clienttier), and preserve the mapping in the migration manifest so no custom field values are dropped. If a custom field in OneSuite has no equivalent in Dynamics, we flag it for creation before migration runs.
OneSuite
Member
Microsoft Dynamics 365 Sales
User
1:1OneSuite Members are team users assigned to Projects, Clients, and Invoices. We map Members to Dynamics 365 User records by email match. Any OneSuite Member without a matching User in the destination org is held in a reconciliation queue for the customer's admin to provision before record import resumes because OwnerId references are required on most standard objects.
OneSuite
Template
Microsoft Dynamics 365 Sales
Dynamics 365 Email Template or Document Template
lossyOneSuite Templates (Project and Document templates) contain metadata and field structure but no automation logic. We migrate template metadata and note the field tokens for manual rebuild in Dynamics 365 Email Templates or SharePoint library templates. Template automation logic (auto-assignment, workflow triggers) does not replicate and is documented separately for admin rebuild.
OneSuite
Pipeline Stage
Microsoft Dynamics 365 Sales
Lead Status (system) + Custom Option Set (pipeline-specific)
lossyOneSuite's user-defined lead pipeline stages vary by agency configuration. We map stage names and order to Dynamics 365 Lead Status values and create a custom Option Set for any pipeline-specific stage semantics that do not map directly to the standard Lead Status picklist. Stages with custom automation or scoring rules are flagged for manual reconfiguration post-migration.
| OneSuite | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client | Account + Contact or Lead (split required)1:many | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Project | Custom Entity (Project) or msdyn_project (if Project Operations licensed)1:1 | Fully supported | |
| Invoice | Invoice (Sales Enterprise) or Custom Entitylossy | Fully supported | |
| Document | SharePoint (via Dynamics 365 integrated document management)1:1 | Fully supported | |
| File | SharePoint or Notes (ContentDocument)1:1 | Fully supported | |
| Custom Fields | Custom Fields on Account, Contact, Lead, Projectlossy | Mapping required | |
| Member | User1:1 | Fully supported | |
| Template | Dynamics 365 Email Template or Document Templatelossy | Fully supported | |
| Pipeline Stage | Lead Status (system) + Custom Option Set (pipeline-specific)lossy | 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.
OneSuite gotchas
No documented bulk API forces CSV or JSON UI import for migrations
Storage tier caps apply to imported file content and attachments
API custom field flattening requires slug-aware remapping
Lead count capped on lower tiers may require plan upgrade before migration
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
Discovery and plan tier audit
We audit the source OneSuite account across plan tier (Freelancer, Solopreneur, Growing Agency), record counts per object (Clients, Leads, Projects, Invoices, Documents, Files), custom field slugs, and storage volume used. We flag any account approaching the 10,000-lead cap, any account exceeding its storage tier, and any Invoice records with multi-currency or complex tax configurations that may require manual reconciliation. The discovery output is a written migration scope with record counts, custom field inventory, and a recommendation on whether the customer needs a OneSuite plan upgrade before migration begins.
Client split rule design and Dynamics 365 schema provisioning
We design the Account-Contact-Lead split rule during scoping using the customer's business logic (typically ICP status, revenue tier, or a Client type flag). We provision the destination schema in Dynamics 365: custom fields with types matched to OneSuite's property types, Account and Contact lookups configured, Lead Status values matching the OneSuite pipeline stages, and any custom entities required for Projects and Invoices. Schema is deployed via the Dataverse Web API into a Sandbox environment first for validation before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox using production-like data volume. The customer's admin reconciles record counts (Accounts in, Contacts or Leads in, Projects in, Invoices in), spot-checks 25-50 random records against the OneSuite source, and validates that the Client split rule applied correctly. Any mapping corrections, custom field gaps, or pipeline stage mismatches are resolved here. Sign-off on the Sandbox migration is required before production cutover begins.
Member-to-User reconciliation and Owner provisioning
We extract every distinct OneSuite Member referenced on Client, Project, and Invoice records and match by email against the Dynamics 365 User table. Members without a matching User go to a reconciliation queue. The customer's Dynamics 365 admin provisions any missing Users and assigns the appropriate security roles before production migration proceeds because OwnerId references are required on Account, Contact, Lead, and custom entity records.
Production migration in dependency order with API rate-limit pacing
We run production migration in record-dependency order: Users (validated from step 4), Accounts (from OneSuite Companies), Contacts and Leads (with the split rule applied and AccountId resolved), Leads (pipeline stages and scoring), Projects (with AccountId or ContactId lookup resolved), Invoices (with AccountId or ContactId resolved), and Document/File metadata (linked to SharePoint locations). Each phase uses the Dataverse Web API with ExecuteMultipleRequest batch writes and exponential backoff on HTTP 429 responses to respect Dynamics 365 service protection limits. Chunk size is tuned during Sandbox testing to maximize throughput without triggering throttling.
Cutover, delta sync, and automation inventory handoff
We freeze OneSuite writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dynamics 365 as the system of record. We deliver a written inventory of OneSuite Templates, Pipeline Stages with automation rules, and any workflow-equivalent logic for the customer's admin to rebuild in Dynamics 365 using the native Sales Automation tools. We support a one-week hypercare window for reconciliation issues. We do not rebuild OneSuite automations as Dynamics 365 workflows inside the migration scope; that is a separate engagement.
Platform deep dives
OneSuite
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 OneSuite 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
OneSuite: Not publicly documented.
Data volume sensitivity
OneSuite 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 OneSuite to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your OneSuite 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 OneSuite
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.