Navigation
10.20. Import and Export Tenant Data with Alga Migration Packages
Prepare, inspect, validate, and process tenant data with Alga Migration Packages, including ConnectWise conversion through the repository SDK and CLI.
Switching PSA platforms is one of the highest-risk operational changes an MSP undertakes. Client records, work history, billing data, and integration settings have to arrive in a usable tenant without leaving the team uncertain about what was written.
Alga Migration Packages (AMP) make that transfer inspectable before import. AMP expands to Alga Migration Package. Open the feature from Settings > General, then Import/Export under Data & Integration. The Migrations panel accepts an AMP package or a CSV/XLSX spreadsheet; every upload is inspected, configured and preflighted before anything is created.
Figure 1: A tenant with no migrations yet. Click Upload package to start. The preflight gate blocks a package that would produce a broken tenant, and large imports continue as background jobs with progress instead of tying the operation to an open browser tab.
What an Alga Migration Package contains
An AMP is a portable package of entity data and integration configuration prepared for the AlgaPSA migration pipeline. It is inspectable rather than opaque: the migration team can examine what the package proposes to write before allowing it into the target tenant.
That visibility matters during planning and sign-off. An MSP can compare the prepared package with the source export, identify missing relationships or unexpected configuration, and correct the conversion before the import starts.
| AMP characteristic | Why it matters during a migration |
|---|---|
| Portable | The prepared package can move through a controlled conversion and review process. |
| Entity data included | Business records can be represented together with their relationships. |
| Integration configuration included | Relevant configuration can be reviewed as part of the tenant transfer. |
| Inspectable | Reviewers can see what is about to be written rather than approving an opaque operation. |
| Preflight validated | A structurally unsafe package is blocked before import begins. |
An AMP is a migration artifact, not a promise that every source system models data in the same way as AlgaPSA. The MSP still needs mapping decisions, source-data cleanup, review, and a cutover plan.
Plan the migration before creating a package
Define what the target tenant must contain before converting source data.
- Identify the source export and preserve an unchanged copy for reference.
- Decide which entity data and integration configuration are in scope.
- Document how source concepts map to the AlgaPSA tenant.
- Identify records that require cleanup, deduplication, or an explicit business decision.
- Choose who will inspect the AMP and who can approve an import into the target tenant.
- Define reconciliation checks for after the background job finishes.
If the target is a self-hosted tenant, complete the appliance planning and provisioning work first. See 18.1. Self-Hosting AlgaPSA: The On-Premise Appliance.
Convert a ConnectWise export with the SDK and CLI
The repository contains the @alga-psa/migration-sdk SDK and the @alga-psa/migration-cli command-line package, whose binary is alga-migrate. They are used with the ConnectWise connector to convert ConnectWise exports into the package format. This gives a migration team with access to the tooling a repeatable conversion path that can be inspected and incorporated into its own controlled process.
A practical conversion sequence is:
- Export the required data from ConnectWise according to the migration plan.
- Keep the original export unchanged and work from a controlled copy.
- Use the
@alga-psa/migration-sdkor@alga-psa/migration-clitooling available to the migration team to convert the export into an AMP. - Review conversion output and resolve reported mapping or data issues.
- Inspect the resulting package before presenting it to AlgaPSA preflight.
The repository's ConnectWise connector is connectwise-psa-csv. Do not assume another PSA or accounting product has a supported converter without checking the current project documentation.
For accounting-focused transfers that do not require a tenant migration, review 14.17. Export Finalized MSP Invoices for Import into QuickBooks, Xero, and Other Accounting Systems.
Inspect the package before import
Treat AMP inspection as a migration approval step, not as a troubleshooting step after data has already been written.
| Review area | What to confirm |
|---|---|
| Package scope | The entities and configuration match the approved migration plan. |
| Client identity | Client records can be distinguished and mapped without ambiguous duplicates. |
| Relationships | Referenced records are present and point to the intended entities. |
| Integration configuration | Proposed configuration belongs to the target tenant and has an accountable owner. |
| Exceptions | Omissions, conversions, and unresolved source issues are documented before approval. |
Use realistic samples in the review. For example, trace GreenLeaf Dental Group from its source record through the prepared entities and relationships. Sampling does not replace full validation, but it can expose a faulty mapping assumption early.
Do not treat inspectability as permission to share the package broadly. Migration data can contain sensitive client and operational information. Store and transfer the artifact according to the MSP's data-handling policy.
Run preflight and resolve blocking findings
Preflight validates the package before the import job begins. If the package would produce a broken tenant, the pipeline refuses to start it. This is the main risk control in the workflow: a known-invalid package does not write part of its data and fail halfway through.
The resolution loop is straightforward:
- Submit the prepared AMP to preflight.
- Review every blocking result.
- Correct the source mapping, conversion logic, or package data responsible for the finding.
- Produce or update the package through the controlled conversion process.
- Inspect the corrected result and run preflight again.
- Start the import only after the package passes the gate and has migration approval.
Do not work around a blocking finding merely to make the job start. A blocked package is evidence that the proposed write cannot safely establish the target tenant as prepared.
Preflight reduces the risk of a structurally broken import. It does not decide whether the migrated business data is current, complete, or operationally correct — that remains part of the MSP's review and reconciliation.
Monitor the background import
Large imports run as background jobs and report progress. The browser does not need to remain blocked while the pipeline processes the package.
Assign an owner to watch the job state and retain its final outcome with the migration record. If the job reports a problem, capture the package version and the reported result before changing the conversion or attempting another run.
| During processing | Operator responsibility |
|---|---|
| Job is progressing | Monitor the reported state and avoid starting an overlapping import. |
| Job reports a problem | Preserve the result, identify the affected package, and return to the controlled correction process. |
| Job completes | Begin reconciliation against the approved scope and source export. |
Background processing protects the workflow from a long-lived browser request. It does not remove the need for a maintenance window, user communication, or a plan for source-system changes during cutover.
Reconcile the target tenant
After completion, verify the tenant against the migration plan rather than relying only on a successful job state.
- Confirm that the expected entity groups and integration configuration are present.
- Trace representative client records, including their important relationships.
- Review conversion exceptions and confirm their approved disposition.
- Test the operational workflows the team needs at cutover.
- Record the package version, approval, job outcome, and reconciliation results.
Tenant defaults may need separate review after migrated data is in place. See 10.1. Configure Your MSP Organization Name and Your Company for the organization and company designation that shape client-facing records.
An inspectable AMP and a blocking preflight gate reduce migration uncertainty by moving review ahead of the write. They do not make switching effortless; the quality of the result still depends on mapping, cleanup, controlled execution, and reconciliation.
