CRM migration
Field-level mapping, validation, and rollback between Criminal Case Management and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Criminal Case Management
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 12
objects map 1:1 between Criminal Case Management and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
5–10 days
Overview
Criminal case management platforms store specialized data—cases, defendants, charges, evidence logs, court appearances, and multi-party contact relationships—that requires custom table configuration in Microsoft Dynamics 365 Sales. Standard Dynamics 365 Sales tables (Account, Contact, Lead, Opportunity, Case) cover clients and activities but criminal justice data demands additional custom tables with specific field types, pick-list values for case status and charge classifications, and relationship definitions that enforce referential integrity across parties involved in each case. FlitStack AI extracts records via each system's API, maps source fields to Dynamics 365 Sales tables and custom tables, creates the necessary schema in your Dynamics 365 Sales environment, and loads all data with original timestamps and owner assignments preserved. Workflows, automated case routing rules, and court notification templates do not migrate and must be rebuilt using Power Automate or Dynamics 365 Sales processes after migration. A sample migration with field-level diff validates charge classification mapping, court date scheduling, and evidence chain-of-custody records before the full run commits.
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
Criminal Case Management platform overview
Scorecard, SWOT, gotchas, and pricing for Criminal Case Management.
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 Criminal Case Management 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.
Criminal Case Management
Case
Microsoft Dynamics 365 Sales
Incident (Case) / Custom Case Table
1:1Criminal cases map directly to Dynamics 365 Sales Case table or a custom Case__c table depending on jurisdiction workflow complexity. Original case number, filing date, jurisdiction, and case type transfer as custom fields. Standard Dynamics 365 Case status field handles minor statuses; major case-stage transitions (Investigation, Arraignment, Trial) require custom pick-list.
Criminal Case Management
Defendant
Microsoft Dynamics 365 Sales
Contact + Custom Role Field
many:1Defendants are Contact records in Dynamics 365 Sales with a custom Case_Role__c pick-list set to 'Defendant'. Criminal identification fields (DOB, SID number, FBI number) migrate as custom fields on Contact. If the source stores aliases or prior names, these append to a custom Aliases__c text field. Multiple aliases from source collapse into semicolon-delimited string.
Criminal Case Management
Victim
Microsoft Dynamics 365 Sales
Contact + Custom Role Field
1:1Victims migrate as Contact records with Case_Role__c = 'Victim'. Contact protection status from source maps to a custom Is_Protected__c boolean field. Victim contact information is fully preserved; restraining order data migrates to a custom Restraining_Order__c pick-list if the source distinguishes order types.
Criminal Case Management
Witness
Microsoft Dynamics 365 Sales
Contact + Custom Role Field
1:1Witnesses map to Contact records with Case_Role__c = 'Witness'. Witness contact details, testimony status, and subpoena records migrate as related sub-records. If the source stores witness statement dates, availability windows, and special accommodations (interpreter needs, security concerns), these transfer as custom fields on the Contact record. Witness availability windows and any special accommodations such as interpreter needs or security concerns transfer as custom fields on the Contact.
Criminal Case Management
Defense Attorney / Prosecutor
Microsoft Dynamics 365 Sales
Contact + Custom Role Field
1:1Legal counsel (defense and prosecution) migrate as Contact records with Case_Role__c = 'Defense Attorney' or 'Prosecutor'. Bar number, firm affiliation, and appointment type (court-appointed vs. retained) migrate as custom fields. Attorney contact records link to Cases via custom junction table or Case_Role__c on Contact.
Criminal Case Management
Charge
Microsoft Dynamics 365 Sales
Custom Charge__c Table
1:1Charges require a custom Charge__c table in Dynamics 365 Sales because standard Dynamics 365 tables do not have charge-specific fields. Each Charge__c record links to the parent Case via a Lookup field (Case__c). Statute code, charge description, severity (felony/misdemeanor), and classification (person crime, property crime, drug offense) map to custom pick-list and text fields on Charge__c.
Criminal Case Management
Evidence
Microsoft Dynamics 365 Sales
Custom Evidence__c Table / SharePoint
1:1Evidence items require a custom Evidence__c table to track item description, evidence type (physical, digital, documentary), custody chain timestamps, storage location, and chain-of-custody transitions. Each custody transfer (seizure, lab submission, court exhibit) becomes a Custody_Event__c related record. For large evidence volumes, evidence metadata migrates to Dynamics 365 with document files stored in SharePoint and linked via URL field.
Criminal Case Management
Court Date / Hearing
Microsoft Dynamics 365 Sales
Custom Court_Date__c Table / Activity
1:1Court appearances require a custom Court_Date__c table to store hearing type, scheduled date and time, courtroom location, judge name, and outcome. If source distinguishes between arraignment, preliminary hearing, motion hearing, and trial settings, each becomes a record type or custom pick-list value on Court_Date__c. Outcome data (continuance, plea entered, verdict) migrates to an Outcome__c pick-list field.
Criminal Case Management
Case Document
Microsoft Dynamics 365 Sales
SharePoint + Custom Document__c Table
1:1Case documents (motions, filings, discovery) migrate to SharePoint with a custom Document__c metadata table in Dynamics 365. Document type (motion, police report, exhibit, correspondence), filing date, and author link to custom fields. Dynamics 365 SharePoint integration requires site and library configuration before migration; FlitStack AI maps document URLs from source to destination SharePoint paths.
Criminal Case Management
Case Activity / Note
Microsoft Dynamics 365 Sales
Activity / Note
1:1Case notes, investigator activities, and attorney work product migrate as Dynamics 365 Notes or Activities depending on type. Phone calls, emails, and meetings map to standard Activity records (Task or Appointment). Free-form case notes map to Note records. Original timestamps, authors, and parent Case lookup transfer via custom fields if Dynamics 365 standard fields do not capture all metadata.
Criminal Case Management
Case Party Relationship
Microsoft Dynamics 365 Sales
Contact + Case_Role__c / Custom Junction Table
1:1Source systems with many-to-many party-to-case relationships (one defendant on multiple cases, or multiple defendants on one case) require either a custom Case_Party__c junction table in Dynamics 365 or use of Contact.Case_Role__c for simple 1:N relationships. FlitStack AI analyzes the relationship cardinality in source and recommends the appropriate model before migration.
Criminal Case Management
Probation / Supervision Record
Microsoft Dynamics 365 Sales
Custom Supervision__c Table
1:1Probation conditions, supervision start/end dates, and compliance status require a custom Supervision__c table linked to the Case and Defendant Contact. Supervision officer, reporting schedule, and violation history migrate as custom fields. If the source has separate supervision case numbers, these transfer as separate Supervision__c records linked to the originating criminal case.
| Criminal Case Management | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Case | Incident (Case) / Custom Case Table1:1 | Fully supported | |
| Defendant | Contact + Custom Role Fieldmany:1 | Fully supported | |
| Victim | Contact + Custom Role Field1:1 | Fully supported | |
| Witness | Contact + Custom Role Field1:1 | Fully supported | |
| Defense Attorney / Prosecutor | Contact + Custom Role Field1:1 | Fully supported | |
| Charge | Custom Charge__c Table1:1 | Fully supported | |
| Evidence | Custom Evidence__c Table / SharePoint1:1 | Fully supported | |
| Court Date / Hearing | Custom Court_Date__c Table / Activity1:1 | Fully supported | |
| Case Document | SharePoint + Custom Document__c Table1:1 | Fully supported | |
| Case Activity / Note | Activity / Note1:1 | Fully supported | |
| Case Party Relationship | Contact + Case_Role__c / Custom Junction Table1:1 | Fully supported | |
| Probation / Supervision Record | Custom Supervision__c Table1:1 | 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.
Criminal Case Management gotchas
Limited export options for bulk data extraction
Annual subscription billing with prorated cancellation
Custom field schemas vary by account and plan
Document blob extraction may require manual intervention
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
Discover source data model and destination schema requirements
FlitStack AI begins by analyzing your Criminal Case Management system's API to enumerate all record types, custom fields, and entity relationships. We simultaneously map source objects to Dynamics 365 Sales standard tables (Contact, Case) and identify custom table requirements (Charge__c, Evidence__c, Court_Date__c, Custody_Event__c, Case_Party__c, Document__c, Supervision__c). We deliver a schema design document for your Dynamics 365 Sales environment that specifies custom table structures, pick-list values, lookup relationships, and field-level security requirements. Your Dynamics 365 admin (or our team) creates the tables in your sandbox before the sample migration phase begins.
Map party roles and validate relationship cardinality
Criminal case management involves complex multi-party relationships that require careful mapping before data loads begin. FlitStack AI analyzes whether your case data uses 1:N (one party role per case) or N:N (same party with different roles across cases) patterns. For 1:N scenarios, Contact records with Case_Role__c field suffice. For N:N scenarios, we create the Case_Party__c junction table and validate relationship integrity during the sample migration. We also resolve owner assignments by matching detective, attorney, and prosecutor email addresses against Dynamics 365 user accounts, flagging unmatched owners for your team to resolve before the full migration runs.
Sequence migration to resolve foreign-key dependencies
Criminal case data has strict referential integrity requirements: charges require existing Case records, evidence requires existing Case records, court dates require existing Case records, and Custody_Event__c records require existing Evidence__c records. FlitStack AI sequences the migration load order so parent records insert before child records: Cases first, then Contacts (Defendants, Victims, Witnesses, Attorneys), then Charges, then Court Dates, then Evidence, then Custody Events. If the source exports records in random order, FlitStack AI re-sequences during the transformation step. This sequencing is validated in the sample migration phase before the full run commits.
Run sample migration with field-level diff
A representative slice of records—typically 100–500 records spanning multiple case types, charge classifications, and evidence volumes—migrates to your Dynamics 365 Sales sandbox first. FlitStack AI generates a field-level diff report that compares source values against destination values for every mapped field. You can verify charge classification mapping, court date scheduling accuracy, evidence custody chain continuity, and party role assignment in the sandbox. Any mapping errors or missing pick-list values are corrected before the full migration. The sample migration also validates SharePoint document path mapping if document migration is included in scope.
Execute full migration with delta-pickup cutover window
The full migration runs against your Dynamics 365 Sales production environment. A delta-pickup window of 24–48 hours after the initial load captures any records created or modified in the source system during cutover—critical for active cases receiving new charges, evidence submissions, or court date updates. FlitStack AI uses source system IDs stored in Source_System_ID__c fields to identify and update existing records rather than creating duplicates. An audit log records every insert, update, and skip operation. One-click rollback reverts all changes if post-migration reconciliation reveals data integrity issues. SharePoint document migration runs concurrently with database migration using mapped URL paths validated in the sample phase.
Platform deep dives
Criminal Case Management
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 Criminal Case Management 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
Criminal Case Management: Not publicly documented.
Data volume sensitivity
Criminal Case Management 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 Criminal Case Management to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Criminal Case Management 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 Criminal Case Management
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.