CRM migration

Migrate from CASH to Microsoft Dynamics 365 Sales

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

CASH logo

CASH

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

10 of 10

objects map 1:1 between CASH and Microsoft Dynamics 365 Sales .

Complexity

CModerate

Timeline

2–5 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

CASH stores contacts, companies, deals, and activities in a flat object model with minimal relationship enforcement. Dynamics 365 Sales uses Microsoft Dataverse tables with enforced foreign keys, security roles, and business rules that CASH does not impose. The migration must therefore sequence Accounts before Contacts (via AccountId lookup), then Opportunities before Activity pointers. CASH records without timezone data require UTC normalization since Dynamics 365 stores all datetime values as UTC. Owner resolution happens by email match against Azure Active Directory-synced Dynamics users, with unmatched owners flagged before commit. Workflows, sequences, and automation rules do not transfer — those must be rebuilt in Dynamics 365 Sales using Power Automate or Power Apps. FlitStack AI extracts CASH data via its export API, transforms each record to match Dynamics 365 column types and pick-list values, creates custom fields in the target environment when no native equivalent exists, and loads via the Dataverse Web API with batched requests to observe Power Platform request limits. A delta-pickup window (24–48 hours) captures in-flight changes during cutover, and one-click rollback reverts the environment if reconciliation fails.

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

CASH logo

CASH

What's pushing teams away

  • Spend caps remain on the business account itself — $7,500/day and $17,500/month limit operational outflows.
  • Not a relationship CRM — customer records are tied to payment instruments, not lifecycle/profile data. Email, phone, address, notes, and tags are not first-class.
  • Limited reporting — no built-in funnel, deal pipeline, or activity timeline; merchants outgrow this and migrate to Square Customer Directory, Shopify, or a dedicated CRM.
  • 3% fee for credit-card-funded payments (above the 2.75% baseline) erodes margin for higher-ticket items.
  • No multi-user / role-based access — the account belongs to one Cash App identity, which constrains team operations.

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 CASH objects map to Microsoft Dynamics 365 Sales

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

CASH

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Direct map to the Dataverse Contact table. Dynamics requires AccountId (a lookup to Account) for contacts associated with a company — contacts without a company in CASH land with AccountId blank. We preserve a Source_System_ID__c custom field for traceability and delta-run de-duplication.

CASH

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Direct map to the Dataverse Account table. CASH company hierarchies (parent/child) map to Account.ParentAccountId; the parent Account must be migrated before child Accounts to satisfy the lookup. Multi-company associations on a CASH contact collapse to one primary AccountId; secondary companies are stored as Account Contact Relationships in Dynamics. All migrated accounts retain a Source_System_ID__c reference for traceability and delta-run matching.

CASH

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Direct map to the Dataverse Opportunity table. CASH deal fields map to Opportunity columns. The Opportunity.AccountId lookup must resolve to a migrated Account record — deals referencing unmapped companies are flagged before migration commits. CASH deal priority values require a custom pick-list field in Dynamics unless the values match an existing stage probability configuration.

CASH

Pipeline / Stage

maps to

Microsoft Dynamics 365 Sales

Opportunity.SalesProcess + Stage

1:1
Fully supported

CASH pipelines become Dynamics 365 Sales Processes tied to Business Process Flows. Each CASH pipeline stage name maps to a corresponding stage value in the Opportunity.StageCode pick-list. Stage probability and forecast category re-applied from Dynamics defaults unless custom stage mapping is provided.

CASH

User / Owner

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

Owner resolution matches CASH user email addresses against Azure Active Directory-synced Dynamics 365 users. Unmatched owners are flagged with their CASH email before migration runs — teams either provision the user in Dynamics first or assign records to a designated fallback owner. Owner history is preserved as Opportunity.OwnerId post-resolution.

CASH

Activity (Call, Email, Meeting, Note)

maps to

Microsoft Dynamics 365 Sales

Task / Email / Appointment / Annotation

1:1
Fully supported

CASH call logs map to Task records with Type='Phone Call'; emails map to Email; meetings map to Appointment. Notes map to Annotation. All original timestamps and owner assignments preserved. Parent record links (regardingobjectid) point to the migrated Contact, Account, or Opportunity record.

CASH

Attachment / File

maps to

Microsoft Dynamics 365 Sales

SharePoint / OneDrive for Business

1:1
Fully supported

CASH file attachments re-upload to SharePoint document libraries associated with the target Account, Contact, or Opportunity. Dynamics 365 file size limits (default 25MB per file) apply; files exceeding the limit are flagged for manual chunking or compression before migration. Inline images in CASH notes are downloaded and rehosted on SharePoint.

CASH

Custom Object

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

1:1
Fully supported

CASH custom objects map 1:1 to Dataverse custom tables when CASH exposes them via API. Custom table schema (columns, data types, relationships) must be inspected in CASH before migration — we deliver a schema audit as part of the discovery phase. N:N relationships in CASH require Dataverse many-to-many relationship tables.

CASH

Currency / Amount

maps to

Microsoft Dynamics 365 Sales

Money (decimal) field

1:1
Fully supported

CASH amounts stored as integers in cents require division by 100 before loading into Dynamics money fields. Decimal amounts pass through directly. We validate scale and precision against Dynamics field metadata to prevent truncation. Multi-currency records require CurrencyId assignment to the appropriate Dynamics transactioncurrency record.

CASH

CASH ID / Record created timestamp

maps to

Microsoft Dynamics 365 Sales

Source_System_ID__c / Original_Create_Date__c (custom fields)

1:1
Fully supported

Dynamics CreatedOn and ModifiedOn are set at migration time by the platform. Original CASH record IDs and create dates are preserved as custom fields on each record so historical reporting continuity is maintained and delta runs can de-duplicate by source ID.

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.

CASH logo

CASH gotchas

High

Cash App is a payment app, not a CRM — schema mismatch on import

Medium

Spend caps on the Cash App for Business account

Medium

Unverified business accounts have a $250/day receive limit

Low

No published rate limit on Square Connect API used for Cash App Pay

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

  • CASH API access is not guaranteed — export capability gates the entire migration

    CASH platforms vary widely in API coverage. Some lighter CASH tiers expose no public API for record extraction, requiring CSV or manual exports that lose relationship data (contact-to-company links, deal-to-contact roles). Before scoping the migration, FlitStack AI audits the CASH API endpoint availability, authentication method (API key, OAuth, bearer token), and rate limits. If no API exists, we document the export constraints and propose a hybrid approach using CSV enrichment with relationship reconstruction based on CASH report exports. This discovery step is included in the upfront assessment and prevents mid-migration discovery that data cannot be extracted programmatically.

  • Currency amounts stored as integer cents require explicit division by 100

    CASH implementations frequently store monetary amounts as integers in cents (e.g., 1999 representing $19.99) rather than decimal floats. Dynamics 365 Sales money fields accept decimal values. Loading an integer-cents value directly into Dynamics results in amounts 100x higher than intended. FlitStack AI detects the CASH field data type and currency storage convention during the discovery phase, applies division-by-100 transformation in the migration pipeline, and validates a sample of records against expected amount ranges before committing the full migration. This requires explicit handling per currency field and cannot be applied globally.

  • CASH datetime values lack timezone — Dynamics 365 requires UTC storage

    CASH records commonly store dates and timestamps without timezone information, defaulting to the local server time at record creation. Dynamics 365 Sales stores all datetime values in UTC. When migrating records with CASH timestamps, FlitStack AI must normalize to UTC using the organization's known time zone (e.g., America/New_York) before loading into Dynamics ScheduledStart, CreatedOn, or custom datetime fields. Failure to normalize produces incorrect modified-on timestamps and activity sequences in Dynamics reports. The time zone must be confirmed with the client before migration because CASH does not embed time zone metadata in exported records.

  • Contact-company associations require Account to exist before Contact

    Dynamics 365 Sales enforces that Contact.AccountId references a valid Account record. CASH allows contacts without a company assignment or with multiple company associations. FlitStack AI sequences the migration so all CASH companies migrate to Account records first, then contacts are loaded with AccountId populated from the resolved account. Contacts with no company in CASH land with AccountId blank. Contacts with multiple CASH companies are assigned to the primary (most-recently-modified) company and the additional associations are stored as Account Contact Relationships in Dynamics. This sequencing prevents foreign-key violations that would halt the migration mid-load.

  • Dynamics 365 file size limits apply to migrated attachments

    Dynamics 365 Sales stores file attachments in SharePoint Online or OneDrive for Business, both subject to Microsoft-imposed file size limits (default 25MB per file in SharePoint). CASH attachments may exceed this limit. FlitStack AI measures each CASH attachment during the discovery phase, flags files over the SharePoint limit, and offers two paths: compress the file before re-upload, or split the attachment into chunks and reassemble in Dynamics. PDF and image files typically compress well; ZIP archives do not. This handling is documented in the pre-migration report before any file data moves.

Migration approach

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

  1. Audit CASH API and data export capability

    FlitStack AI tests CASH API endpoint availability, authentication requirements, and rate limits. If no API exists, we request sample CSV exports and assess relationship data availability. We map CASH objects to Dynamics 365 Dataverse tables, identify missing relationships (contact-company links, opportunity-contact roles), and produce a migration feasibility report. This step determines whether the migration proceeds as API-driven, CSV-hybrid, or requires manual data reconstruction for specific object types.

  2. Create Dynamics 365 custom fields and configure pick-list values

    Before any data moves, FlitStack AI provisions custom fields in Dynamics 365 for source system IDs, original create dates, and custom pick-list values from CASH that have no native Dynamics equivalent. We also add non-matching industry codes, CASH priority values, and currency codes to their respective Dynamics pick-lists. This step requires a Dynamics admin to publish the changes — we deliver a field creation checklist so the schema is ready before the migration pipeline begins validation.

  3. Migrate Accounts first, then Contacts, then Opportunities

    Dynamics 365 enforces the Account-Contact-Opportunity relationship hierarchy. We sequence the migration to migrate Account records first (all fields including ParentAccountId resolution), then contacts with AccountId lookups resolved against migrated accounts, then opportunities with AccountId and owner resolution complete. Activities and notes attach to their parent records in the final phase. This ordering prevents foreign-key violations and ensures opportunity reports reflect the correct account context immediately after migration.

  4. Run sample migration with field-level validation

    A representative slice of records (typically 200–500 per object type) migrates first. FlitStack AI generates a field-level diff between CASH source values and Dynamics 365 target fields, highlighting mismatches in pick-list values, datetime normalization, decimal scaling, and owner resolution. The diff is reviewed with the client before the full migration run commits. This step catches currency-scaling errors, timezone normalization gaps, and account-contact relationship gaps before they affect all records.

  5. Execute full migration with delta-pickup and audit logging

    The full CASH dataset migrates to Dynamics 365 Sales via the Dataverse Web API with batched requests observing Power Platform request limits. FlitStack AI maintains an audit log of every record operation (create, update, associate) with source system ID cross-reference. A delta-pickup window (24–48 hours) runs after the initial cutover to capture records modified in CASH during migration execution. One-click rollback reverts all Dynamics changes if reconciliation fails. Final reconciliation confirms record counts, relationship integrity, and attachment presence before sign-off.

Platform deep dives

Context on both ends of the pair

CASH logo

CASH

Source

Strengths

  • Familiar consumer UX increases checkout completion vs entering card data.
  • Flat 2.75% fee with no monthly minimum is friendly to low-volume sellers.
  • Integrates with Square's merchant stack for in-person acceptance.
  • Verified business account removes inbound receive caps.
  • Setup is genuinely zero-paperwork compared to traditional merchant accounts.

Weaknesses

  • Not a CRM — minimal contact, no pipeline, no activities timeline.
  • Spend caps ($7,500/day, $17,500/month) constrain larger operational use.
  • 3% fee on credit-card-funded payments hits higher-ticket margins.
  • No multi-user/role-based team access.
  • Square API rate limits are not publicly published — must be discovered via backoff in practice.
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?

Moderate CRM migration. 5 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across CASH and Microsoft Dynamics 365 Sales .

  • Object compatibility

    F

    5 of 8 objects need a manual workaround.

  • 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

    CASH: Square does not publish fixed rate limits — APIs return rate-limit error codes; exponential backoff is required.

  • Data volume sensitivity

    A

    CASH exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Migration duration depends on record volume and CASH API availability. For CASH environments with functional API access and under 25,000 records, FlitStack AI typically completes the migration in 2–5 days including sample validation and delta-pickup. CASH instances exceeding 50,000 records or requiring CSV-hybrid export (due to limited API coverage) extend to 5–10 days. The discovery and schema setup phase adds 1–3 days before the migration run begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from CASH.
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