Moving from Sage 200 to Xero is not simply a matter of exporting a few spreadsheets and importing them into a new system. A controlled migration starts with the accounting structure, the history you need to retain and the way the source data needs to be translated into Xero.
This guide explains the process we use for a managed Sage 200 to Xero migration. The exact route varies by company, data volume and scope, but the control points remain broadly the same.
1. Scope the migration
Start by agreeing the entities, cut-off date and years of history to be migrated. We also identify foreign currency, VAT requirements, departments and cost centres, attachments, add-ons and any unusual Sage 200 configuration that could affect the move.
2. Decide what history should move
Some businesses only need opening balances. Others need detailed historical transactions for reporting, audit trail and comparison. This decision affects the extraction, transformation and reconciliation work, so it should be made before the migration starts rather than during the import.
3. Agree the Xero structure
The Sage 200 structure does not have to be copied blindly. Before processing the data, agree whether the chart of accounts will remain broadly the same or be restructured, and how departments or cost centres should map to Xero Tracking where appropriate.
4. Provide access to Sage 200
For our normal managed route, the finance team does not need to populate a set of migration templates. We usually work from Sage 200 access with an active Excel licence and perform the required extraction ourselves. Alternative extraction routes can be discussed where direct access is not available.
5. Extract and validate the source data
We extract the accounting records and control reports needed for the agreed scope. Before transformation, we check that the source reports give us a reliable basis for the migration and identify issues that need explanation before they are carried into Xero.
6. Map and transform the data
Sage 200 and Xero do not store every accounting concept in the same way. Nominal codes, contacts, departments, cost centres, VAT treatment, foreign currency and transaction references may therefore need mapping or restructuring rather than a one-for-one copy.
7. Import into Xero
The transformed data is imported in a controlled sequence. The order matters because contacts, accounts, transactions, allocations and other records can depend on information loaded earlier in the process.
8. Reconcile the migration
A completed import is not the same as a completed migration. We compare the migrated Xero organisation back to the source evidence, including the trial balance and relevant debtor, creditor and VAT information. Where differences exist, they are investigated and documented rather than hidden behind a balancing journal.
9. Client review and handover
Once the migration and reconciliations are ready, the client can review the Xero organisation and the supporting migration workings. Any agreed adjustments can then be dealt with before the finance team fully moves across.
10. Go live in Xero
After the migrated data and opening position have been confirmed, day-to-day processing can continue in Xero. Bank feeds, invoice settings, users, integrations and other operational configuration can then be completed around the agreed go-live plan.
What should be prepared before the migration?
- Entities and financial years in scope
- Target cut-off or go-live date
- Chart of accounts decisions
- Departments and cost centres that need mapping
- Foreign-currency requirements
- Attachments or specialist modules that need consideration
- Known source-system reconciliation issues
The important part is not following a generic checklist mechanically. It is understanding what the Sage 200 data represents and making sure the resulting Xero organisation can be reconciled back to it.
Planning a Sage 200 to Xero migration?
Tell us how your Sage 200 environment is structured, how much history you need and whether the project includes multiple entities, foreign currency or restructuring.

