CRM migration
Field-level mapping, validation, and rollback between Berry crm and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Berry crm
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
7 of 9
objects map 1:1 between Berry crm and Microsoft Dynamics 365 Sales .
Complexity
CModerate
Timeline
3-5 weeks
Overview
Berry CRM is a lightweight, all-in-one CRM from Raspberry IT Services built for small teams. Microsoft Microsoft Dynamics 365 Sales is an enterprise-grade CRM with deep Microsoft 365 integration, AI-powered sales insights, Power BI reporting, and a scalable data model across Leads, Contacts, Accounts, and Opportunities. Moving from Berry CRM to Microsoft Dynamics 365 Sales requires transitioning from a minimally-documented flat object model to a structured relational schema with explicit lookup relationships, record types, and sales processes. Because Berry CRM has no publicly documented API reference or detailed schema specification, we begin every migration with a discovery export to map the actual data structure before building any transform or load pipeline. We migrate core records and historical activity data through Microsoft Dynamics 365 Sales APIs, flag custom fields for explicit mapping, and deliver a written inventory of any Berry Workflows or automation rules that require manual 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
Berry crm platform overview
Scorecard, SWOT, gotchas, and pricing for Berry crm.
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 Berry crm 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.
Berry crm
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Berry CRM Contact records map to Microsoft Dynamics 365 Contact. Standard fields (full name, email address, phone number, postal address) map to the Contact entity's name, emailaddress1, telephone1, and address fields. We use email address as the dedupe key during import. Contact-to-Company association from Berry CRM resolves to AccountId on the Contact record. Any custom fields detected on Contact during the discovery export are created as explicit fields on the Dynamics 365 Contact entity before migration and mapped by name and type.
Berry crm
Company
Microsoft Dynamics 365 Sales
Account
1:1Berry CRM Company records map to Microsoft Dynamics 365 Account. The company name maps to the Account name field, domain or website maps to the Website field, and address data maps to the address composite fields. We use company name as the dedupe key and resolve the Account record before importing any associated Contacts. Any company-specific custom fields from Berry CRM are created as explicit fields on the Account entity and mapped during the load phase.
Berry crm
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Berry CRM Deals map to Dynamics 365 Opportunity. The deal name maps to the Opportunity name field, amount maps to estimatedvalue, close date maps to estimatedclosedate, and stage maps to a Sales Process stage value. We create a Sales Process in Dynamics 365 that reflects the Berry CRM pipeline stages before migration so that stage values are valid on insert. Deal-to-Contact and Deal-to-Company associations map to the Opportunity's contactid and customerid lookups respectively.
Berry crm
Sales Quote
Microsoft Dynamics 365 Sales
Quote
1:1Berry CRM Sales Quotes map to Dynamics 365 Quote. Quote header fields (quote date, expiration date, status) map to quotedate, effiveDate, and statuscode. Line items from Berry CRM map to quotedetail records referencing the Quote and the associated Product2. Quote-to-Deal associations map via the Opportunity lookup on the Quote. We validate that the destination org has Quotes enabled (available from Professional tier) before planning this object in scope.
Berry crm
Product
Microsoft Dynamics 365 Sales
Product2
1:1Berry CRM Products map to Dynamics 365 Product2. The product name maps to name, SKU maps to productnumber, and pricing data maps to standardcost or is used to create Price List Item entries in the default price book. We create Product2 records before Quote and Line Item migration so that product lookups are satisfied at insert time. Archived or inactive products from Berry CRM are migrated with a status flag for the customer to activate in Dynamics 365 post-migration if needed.
Berry crm
Project
Microsoft Dynamics 365 Sales
Opportunity or Custom Entity
lossyBerry CRM Projects are migrated as either Opportunities with a custom project-type Record Type (if the customer uses Microsoft Dynamics 365 Sales for project pipeline tracking) or as a custom Project entity created in Dataverse. We determine the target during scoping based on the customer's Dynamics 365 tier and intended use of the project data. Project status, associated contacts, and task breakdowns are mapped accordingly. If the customer licenses Project Operations, we can map to the Opportunity-based project model instead.
Berry crm
Task
Microsoft Dynamics 365 Sales
Task
1:1Berry CRM Task records map to Dynamics 365 Task. Task subject maps to subject, due date maps to scheduledend, assignee resolves to the OwnerId via User email matching, and completion status maps to statecode and statuscode. Task-to-Contact, Task-to-Company, and Task-to-Deal associations map to the Regarding (regardingobjectid) lookup on the Task record. Tasks are imported after Contacts, Companies, and Deals so that the lookup targets exist.
Berry crm
Invoice
Microsoft Dynamics 365 Sales
Invoice
1:1Berry CRM Invoices map to Dynamics 365 Invoice if the destination org has the Invoice entity enabled (Sales Enterprise and above). Invoice header fields (invoice number, date, total, payment status) map to invoicenumber, invoicedate, totalamount, and paymenttermscode. Line items map to invoicedetail records. Invoice-to-Contact and Invoice-to-Account associations map to the customerid lookup. We confirm Invoice module availability during scoping since it is not included in Sales Professional.
Berry crm
Custom Field
Microsoft Dynamics 365 Sales
Custom Field
lossyBerry CRM custom fields on any primary object (Contact, Company, Deal, Quote, Product, Project, Task, Invoice) are explicitly mapped during the discovery phase. We create matching custom fields in Dynamics 365 using the appropriate Dataverse field type (text, number, picklist, bit, datetime, currency) before migration begins. Custom field values migrate as part of their parent object import. Any picklist or multi-select custom fields in Berry CRM are mapped to Dynamics 365 OptionSet values created explicitly in the destination schema.
| Berry crm | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Sales Quote | Quote1:1 | Fully supported | |
| Product | Product21:1 | Fully supported | |
| Project | Opportunity or Custom Entitylossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Invoice | Invoice1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | 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.
Berry crm gotchas
Very limited public documentation and schema
Single review on G2 with no peer data
Website URL contains a typo in domain
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 export and schema mapping
We connect to the customer's Berry CRM instance and run a discovery export across all primary objects (Contacts, Companies, Deals, Sales Quotes, Products, Projects, Tasks, Invoices) plus any custom fields. Because Berry CRM has no public API documentation, we extract data through the most complete available export path, which we identify during this phase. The discovery export produces a full field inventory with sample values, data types, and object relationship data. We use this to build the explicit field mapping document that drives all subsequent transform and load work.
Dynamics 365 schema provisioning
We provision the destination Dynamics 365 schema in a Sandbox environment. This includes creating any custom fields required by the Berry CRM discovery findings, setting up Sales Processes and stage values to match the Berry CRM deal pipeline, configuring record types if the customer uses multiple deal categories, and creating Price List entries in the default price book for Products. Schema is deployed via the Dataverse API or environment add-on tooling and validated with a small test record set before the sandbox migration begins.
Sandbox migration and reconciliation
We run a full migration into the Dynamics 365 Sandbox using production-equivalent data volume. The customer's team reconciles record counts for each object (Contacts in, Accounts in, Opportunities in, Activities in), spot-checks ten to twenty records per object type against the Berry CRM source, and validates that field values transferred correctly. Any missing fields, incorrect data type mappings, or lookup resolution failures surface here. We correct the mapping document and re-run the sandbox migration until reconciliation passes before scheduling the production migration.
Owner reconciliation and User provisioning
We extract every distinct Berry CRM Owner referenced on Contacts, Companies, Deals, and Tasks and match by email against the destination Dynamics 365 User table. Any Owner without a matching User record is placed in a reconciliation queue. The customer's Dynamics 365 admin provisions the missing Users (active or inactive depending on whether the original Berry CRM user is still active). OwnerId resolution must be complete before record import begins because Dynamics 365 requires a valid OwnerId on standard entity inserts.
Production migration in dependency order
We run the production migration in record-dependency order: Accounts (from Companies) first, then Contacts (with AccountId resolved), then Products and Price List entries, then Opportunities (with customerid and contactid resolved), then Quotes and Line Items, then Project records, then Tasks and activity history via the Dataverse Web API with chunked batch requests. Each phase emits a row-count reconciliation report showing records attempted, records inserted, and records rejected with error reasons. The customer receives a migration log for every phase.
Cutover, validation, and automation handoff
We freeze write access to Berry CRM during cutover, run a final delta migration of any records modified during the migration window, then set the Dynamics 365 org as the system of record. We deliver the automation inventory document describing every Berry CRM workflow rule and its recommended Dynamics 365 replacement. We support a three-day hypercare window for reconciliation issues identified by the customer's team during their first business day on Dynamics 365. Post-migration admin configuration, workflow rebuild, and user training are outside standard migration scope and are handled as separate engagements.
Platform deep dives
Berry crm
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Berry crm and Microsoft Dynamics 365 Sales .
Object compatibility
4 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
Berry crm: Not publicly documented.
Data volume sensitivity
Berry crm 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 Berry crm to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Berry crm 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 Berry crm
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.