CRM migration
Field-level mapping, validation, and rollback between Access CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Access CRM
Source
Salesforce Sales Cloud
Destination
Compatibility
9 of 13
objects map 1:1 between Access CRM and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Exiting Access CRM means leaving a tightly coupled suite environment where your CRM records may carry live references to Access Pay & Bill workers, Access Elite client records, and Servelec care-management episodes. Salesforce has no native place for those cross-module IDs, so we audit every reference during scoping, strip or stub them, and deliver a written record of what was removed. On the data side, Access CRM's Worst/Likely/Best deal probability model does not have a Salesforce equivalent — we map each probability tier to a Salesforce stage probability override so historical forecast accuracy is preserved. Pipeline stages are tenant-defined free text in Access CRM, not picklist values; we capture the full stage list during scoping, build the Salesforce stage matrix before import, and route records through it programmatically. Activity history (calls, emails, meetings, tasks) and Cases migrate via the Salesforce Bulk API 2.0. We do not migrate Access CRM workflows, web-enquiry form logic, or knowledge-base articles as functional systems — we deliver a structured export of KB content for re-import into Salesforce Experience Cloud or a standalone helpdesk, and a written inventory of every Access CRM workflow for the customer's admin to rebuild in Salesforce Flow.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Access CRM object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Access CRM
Contact
Salesforce Sales Cloud
Lead or Contact (split required)
1:manyAccess CRM Contacts with no linked Company or with a lead-status flag route to Salesforce Lead. Contacts with a linked Company and an active pipeline relationship route to Salesforce Contact attached to an Account. We capture the original contact_type or status property during scoping and preserve it in a custom field access_original_type__c on both Lead and Contact for audit and reporting.
Access CRM
Company
Salesforce Sales Cloud
Account
1:1Access CRM Company records (sometimes called Account in tenant configs) map directly to Salesforce Account. The company name becomes Account.Name and the primary address maps to BillingAddress. Any circular parent/child references identified during the Access CRM audit are flattened into a single-level hierarchy in Salesforce before import.
Access CRM
Opportunity
Salesforce Sales Cloud
Opportunity
1:1Access CRM Opportunities carry Worst/Likely/Best monetary values and a stage-based probability figure. We map Worst to a custom Salesforce field access_worst_value__c, Likely to Amount, and Best to access_best_value__c. The Access CRM stage-based probability migrates as a Salesforce Probability override so that the Opportunity's forecast value reflects the Likely value. If Access CRM probability is not set per record, we derive it from the stage probability configured in the stage-mapping matrix.
Access CRM
Pipeline Stage
Salesforce Sales Cloud
Opportunity StageName
lossyAccess CRM pipeline stages are tenant-defined free text. We capture every distinct stage name during scoping, produce a stage-mapping matrix, and configure Salesforce StageName picklist values to match. Probability percentages per stage migrate from Access CRM to Salesforce StageProbability. Stages with no mapping default to a 'Archive' stage unless the customer provides explicit direction.
Access CRM
Case
Salesforce Sales Cloud
Case
1:1Access CRM Cases (problem-tracking tickets routed to customer-service, warehousing, or accounts teams) map to Salesforce Case. Case status values from Access CRM migrate to Salesforce Case Status picklist; Case priority maps to Case Priority. If the destination Salesforce org includes Service Cloud, we configure a Service Console Record Type. The Case-Contact link resolves via email match after Contact migration completes.
Access CRM
User (Owner)
Salesforce Sales Cloud
User
1:1Access CRM User records (name, email, role) are migratable. We map the Access CRM owner assignment on each record to the corresponding Salesforce User by email match. Users without a match go to a reconciliation queue for the customer's admin to provision. Inactive Salesforce Users are supported for historical OwnerId preservation.
Access CRM
Activity (Call)
Salesforce Sales Cloud
Task (TaskSubtype = Call)
1:1Access CRM call logs map to Salesforce Task with TaskSubtype set to Call. Call disposition, duration in seconds, and any external recording URL migrate to Salesforce Task fields. ActivityDate is set from the original Access CRM timestamp to preserve timeline ordering.
Access CRM
Activity (Email)
Salesforce Sales Cloud
EmailMessage + Task
1:1Access CRM email history migrates to Salesforce EmailMessage records (body and headers) linked to a Task record on the activity timeline. WhoId points to the converted Lead or Contact; WhatId points to the related Opportunity, Account, or Case. This requires parent-record resolution after Leads, Contacts, and Opportunities are loaded.
Access CRM
Activity (Meeting)
Salesforce Sales Cloud
Event
1:1Access CRM meeting records map to Salesforce Event with StartDateTime, EndDateTime, and Location preserved. Attendees resolve to EventRelation records linked to the corresponding Contact, Lead, or User. If Access CRM stores meeting notes, they migrate as Event Description or as a linked Note.
Access CRM
Activity (Note)
Salesforce Sales Cloud
Note
1:1Access CRM standalone notes migrate as Salesforce Note records linked via ContentDocumentLink to the parent Contact, Account, Opportunity, or Case. Note body passes as rich text. Image attachments migrate as ContentDocument records linked to the Note.
Access CRM
Attachment
Salesforce Sales Cloud
ContentDocumentLink
1:1Attachments on Access CRM Contacts, Companies, and Opportunities migrate as ContentDocument records. We confirm the destination Salesforce org's file storage limits before migration and flag any attachments that would exceed them. ContentDocumentLink ties each file to its parent record (Account, Contact, Opportunity, or Case).
Access CRM
Custom Field
Salesforce Sales Cloud
Custom Field (__c)
lossyAccess CRM custom fields are tenant-specific and not self-documented. We extract the full field manifest from the Access CRM admin knowledge base during scoping and create matching Salesforce custom fields before any data loads. Field types are mapped: text to Text(255), number to Number, date to Date, picklist to Picklist. Lookup references to other Access CRM objects are stubbed or mapped to Salesforce lookup fields per the cross-module reference resolution plan.
Access CRM
Web Enquiry Form
Salesforce Sales Cloud
Lead (with Web-to-Lead mapping)
lossyAccess CRM web-enquiry forms capture leads directly into the CRM Opportunity or lead flow. Form field structure is tenant-specific. We treat each form as a custom field set and map form fields to Salesforce Lead standard fields or custom fields on Lead. The customer configures Salesforce Web-to-Lead as the replacement form-to-Lead routing mechanism post-migration.
| Access CRM | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Opportunity StageNamelossy | Fully supported | |
| Case | Case1:1 | Fully supported | |
| User (Owner) | User1:1 | Fully supported | |
| Activity (Call) | Task (TaskSubtype = Call)1:1 | Fully supported | |
| Activity (Email) | EmailMessage + Task1:1 | Fully supported | |
| Activity (Meeting) | Event1:1 | Fully supported | |
| Activity (Note) | Note1:1 | Fully supported | |
| Attachment | ContentDocumentLink1:1 | Fully supported | |
| Custom Field | Custom Field (__c)lossy | Fully supported | |
| Web Enquiry Form | Lead (with Web-to-Lead mapping)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.
Access CRM gotchas
Cross-module references require pre-migration audit
Pipeline stage names are tenant-defined free text
Knowledge-base articles have no standard CRM export path
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Discovery and Access ecosystem audit
We audit the Access CRM tenant for record counts per object, custom field definitions (extracted from the admin knowledge base), pipeline configurations and stage lists, active workflow definitions, web-enquiry form structures, and any Access Pay & Bill, Access Elite, or Servelec cross-module references stored on CRM records. We also review the existing Access Group contract schedule for licensing implications. The discovery output is a written migration scope, a cross-module reference flag report, a stage-mapping matrix template, and a Salesforce edition recommendation (Professional at $80/user or Enterprise at $165/user depending on custom object and Flow complexity). This phase typically takes two weeks.
Schema design and stage-mapping configuration
We design the Salesforce destination schema in a Sandbox org. This includes provisioning custom fields on Account, Contact, Lead, Opportunity, and Case (with __c API names matched to Access CRM field names), creating custom currency fields for Worst and Best probability values, configuring Opportunity StageName picklist values from the Access CRM stage-mapping matrix, creating Record Types and Sales Processes per pipeline, and setting up Case Record Types if Service Cloud is present. We do not build Experience Cloud or configure Knowledge articles in this step; we create the target schema only. Schema is validated in Sandbox before production migration begins.
Sandbox migration rehearsal and reconciliation
We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-like data volume. The customer's admin or RevOps lead spot-checks 25-50 random records against the Access CRM source, reviews the stage mapping, and signs off the schema and field mapping before production migration begins. Cross-module reference stubs are reviewed and approved. Any mapping corrections happen in Sandbox, not production. This phase typically takes one week.
Owner reconciliation and User provisioning
We extract every distinct Access CRM owner referenced on Contact, Company, Opportunity, Case, and Activity records and match by email against the Salesforce destination org's User table. Any Access CRM owner without a matching Salesforce User is added to a reconciliation queue. The customer's admin provisions missing Users (active for current staff, inactive for departed staff to preserve OwnerId history). Migration cannot proceed past this step because OwnerId references must be resolvable on standard objects.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Access CRM Companies), Users (validated), Contacts and Leads (with AccountId or Lead.Company resolved), Opportunities (with AccountId, OwnerId, RecordTypeId, and Probability override resolved), Cases (with ContactId resolved), Activity history via Bulk API 2.0 (Tasks, Events, EmailMessages), Custom field data (loaded after standard fields to satisfy dependencies), then Cross-module reference stubs. Each phase emits a row-count reconciliation report before the next phase begins. Cross-module IDs are stripped or stubbed per the approved flag report.
Cutover, validation, and workflow handoff
We freeze Access CRM writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the knowledge-base content export package, the workflow inventory document (listing every Access CRM workflow with trigger, conditions, and recommended Salesforce Flow equivalent), and the cross-module reference flag report with stub record IDs. We support a one-week hypercare window for reconciliation issues. We do not rebuild Access CRM workflows as Salesforce Flow, configure Experience Cloud, or provide post-migration admin support as standard scope; these are separate engagements.
Platform deep dives
Access CRM
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Access CRM and Salesforce Sales Cloud.
Object compatibility
3 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
Access CRM: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
Access 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 Access CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Access CRM to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Access CRM
Other ways to arrive at Salesforce Sales Cloud
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.