# Software migration checklist

Decision owner: <name or role>. Current system: <system and plan>. Target: <system and plan>. Planned cutover: <date>. Last reviewed: <date>.

Use this with the [software migration guide](/buying-guides/software-migration). These are prompts to adapt, not confirmation that a product can perform the move. Leave untested items unresolved.

## 1. Inventory and scope

| Item | Migrate, archive or exclude | Owner | Evidence or open question |
| --- | --- | --- | --- |
| Records and custom fields | | | |
| Attachments and comments | | | |
| Relationships and identifiers | | | |
| History and timestamps | | | |
| Roles, guests and administrators | | | |
| Integrations and automations | | | |
| Reports and saved views | | | |

For every exclusion, record who accepts it and how the information will remain available if needed. Apply your organisation's retention and deletion requirements.

## 2. Export and import rehearsal

- Prepare a non-sensitive sample with ordinary and awkward cases.
- Preserve an untouched export and record how it was obtained.
- Map each required field and record any transformation.
- Reconcile counts, then inspect values, dates and linked records.
- Open attachments and reconstruct one real workflow.
- Record missing content and the person responsible for resolving it.

Result: <meets / partly meets / does not meet / unresolved>. Evidence: <source, test and date>. Follow-up owner and date: <details>.

## 3. Access and handover

- Test daily tasks as an ordinary member, guest and administrator.
- Check that restricted roles cannot see or change the wrong information.
- Test one integration, including retries and failure notifications.
- Have a second administrator follow the setup notes.
- Record who owns each connection and receives its errors.

## 4. Cutover runbook

| Step | Owner | Start condition | Completion evidence |
| --- | --- | --- | --- |
| Notify the team and confirm the change window | | | |
| Pause writes or define the source of truth | | | |
| Transfer and reconcile final changes | | | |
| Run essential workflow and permission checks | | | |
| Approve resumption or trigger rollback | | | |

Person authorised to pause: <role>. Rollback triggers: <observable conditions>. Latest safe rollback point: <condition>. How new target records are preserved: <steps>. Recovery rehearsal result: <evidence and date>.

## 5. Review and retirement

- Assign an owner for first-period issues.
- Resolve or explicitly accept each remaining gap.
- Confirm retained exports can be read outside the old workflow.
- Check notice, renewal and access terms before cancellation.
- Confirm ongoing administration and support ownership.

Outcome: <go / revisit / stop>. Reason: <details>. Accepted trade-offs: <details>. Approver and date: <details>.

Keep overlap and internal effort in the [software cost estimate](/tools/software-cost-calculator). Use the [evaluation scorecard](/tools/software-evaluation-scorecard) for a comparison of your pilot observations.
