Guide · Updated October 2026

The Ultimate Guide to Xero to NetSuite Migration

You've picked NetSuite. Now someone has to move years of contacts, invoices, bills and payments out of Xero without breaking the books.

There are seven ways to do it. This guide puts them side by side: what each one moves, what it costs, how long it takes, and who checks the result.

The short answer

  • Only need balances and open invoices? Export from Xero and load it with NetSuite's Import Assistant, or have your implementation partner include it. More
  • Need the full history, signed off? SuiteMigration moves all of it as native NetSuite records and checks each one against Xero. A conversion service is the done-for-you alternative. More
  • Have engineers, or many Xero organisations? Write code against both APIs, and budget for proving the result. More
SM By the SuiteMigration team. We make one of the seven options, so every claim about the others links to its source.

The seven options at a glance.

Who does the work, how much history you get, what it costs and how long it takes. Click a row for the full card.

OptionWho does the workHistoryCostTimeline
01 Xero export and NetSuite's Import Assistant Your finance team or a NetSuite admin Balances and open items, realistically No licence; skilled hours Weeks at mid-market volume (our estimate)
02 Implementation partner Partner consultants Open balances by default; history if scoped Part of the implementation 6 to 10 weeks (Versich) to 3 to 6 months (Eventura)
03 Conversion service The service's team Full history (as advertised) Quoted per job 1 to 5 business days for most jobs (ClonePartner)
04 Integration platform (iPaaS) Your integration team Whatever flows you build Subscription plus build time Weeks to build (our estimate)
05 Custom code against both APIs Your engineers Anything, at build cost Engineering weeks, plus Xero API fees Weeks to a clean run (our estimate)
06 AI agent over MCP The agent, supervised by you A few hundred records (our QuickBooks test) Model tokens plus supervision About 12 hours per 10,000 records at our test rate
07 SuiteMigration The platform; you review mappings Full history, as native records Per migration, quoted; free to start Days, including sandbox review
Figures come from each vendor, Xero or Oracle; estimates are marked as ours. Sources are at the foot of the page.

What actually moves.

Three layers. Every method handles the first two; the third is where they differ.

  1. Master data

    3%

    Contacts, the chart of accounts, items and tracking categories. Every method handles these.

  2. Open items

    Inside the 97%

    What's still owed at cutover: unpaid invoices and bills, unused credits and opening balances. Enough to run day to day.

  3. History

    97%

    Every past transaction, with payments still matched to what they paid. Most of the rows, and most of the work.

Share of rows for a typical mid-market company: about 7k master-data records against 217k transactions.

How much history you bring, and whether it arrives as real transactions or summary journals, decides how much of Xero you can switch off. Our scoping guide helps you draw the line.

Where your Xero data lands in NetSuite

In Xero In NetSuite
Contacts Customers and vendors Xero keeps both in one list. NetSuite splits them.
Chart of accounts Chart of accounts Every account needs a NetSuite account type.
Tracking categories Classes, departments or locations Or a custom segment. Xero allows two active categories. [8] [9]
Items Items Inventory, non-inventory or service.
Invoices and credit notes Invoices and credit memos
Bills and supplier credits Vendor bills and vendor credits
Payments Customer payments and bill payments Applied to the invoices and bills they settled.
Spend and receive money Checks and deposits
Manual journals Journal entries

Won't come across on its own

Plan for these before kickoff, whichever method you choose, and ask whoever quotes the work what else is out.

  • ✕ File attachments, which move separately
  • ✕ Repeating invoice and bill templates, set up again as NetSuite memorized transactions
  • ✕ Payroll, which is handled apart from the ledger
  • ✕ Custom reports, rebuilt as NetSuite reports or saved searches

Four Xero limits that shape your choice.

From Xero's own documentation. They matter most if you export by hand or read Xero through its API.

  • 500

    transactions per export

    Invoices, bills and credit notes leave in batches. 124,812 invoices is about 250 exports.

    Source [1]

  • 5,000

    API calls a day, per app

    For each app connected to an organisation, or 1,000 on Xero's free Starter tier. Also 60 a minute.

    Source [5] [6]

  • 100,000

    documents per request

    Bigger requests are refused, so large organisations are read in date slices.

    Source [7]

  • Advanced

    tier for the full ledger

    The Journals endpoint needs Xero's Advanced tier, $1,445 AUD a month, and an approval.

    Source [6]

The seven ways.

Grouped from most manual to most automated. Each card starts with a one-line verdict.

By hand

Free to start. You export, reshape and import everything yourself.

01

Xero export and NetSuite's Import Assistant

Native · Free Oracle: Import Assistant

Costs nothing to start, but you rebuild every transaction yourself and nothing checks the result.

Export contacts, accounts and transactions from Xero as CSV, reshape them into NetSuite's import templates, and load them with the Import Assistant at up to 25,000 records a job. Fine for balances. For years of history it means hundreds of exports, because transactions leave Xero 500 at a time.

Right call when

A small company moving balances only, with someone who has run NetSuite imports before.

Limits

Payments link to invoices only by ID, so invoices must load first. Nothing compares what posted with what you exported.

Who
Your finance team or a NetSuite admin
History
Balances and open items, realistically
Test runs
Manual, in a sandbox if you have one
Accuracy checks
Yours, from trial balance reports
Source systems
Xero
Cost
No licence; skilled hours
Timeline
Weeks at mid-market volume (our estimate)

References [1][2][3][4]

Done for you

Someone else does the by-hand work: your implementation partner or a conversion service. What we say about each firm comes from its own website.

02

Implementation partner

Service Example: Versich's Xero guide

The usual choice when NetSuite is being implemented anyway. How much history comes across depends on the scope.

Data migration becomes one part of the implementation. Partners such as Versich, Eventura, Six Lakes Consulting and Cooper Parry Digital offer Xero to NetSuite moves. Open balances are the usual baseline, and Versich says two to three years of history is a common extra. Only a partner will also set NetSuite up for you.

Right call when

You're implementing NetSuite with a partner and can live without full transaction history.

Limits

The statement of work sets the scope, so check what "data migration" covers. Partner availability usually sets the schedule.

Who
Partner consultants
History
Open balances by default; history if scoped
Test runs
Sandbox, then production
Accuracy checks
Partner-led checkpoints
Source systems
Xero
Cost
Part of the implementation
Timeline
6 to 10 weeks (Versich) to 3 to 6 months (Eventura)

References [16][17][18][19][20]

03

Conversion service

Service Example: ClonePartner

A quoted price to do the move for you. You still check the result.

ClonePartner, Cloud Accounting and Switch My Books all quote for Xero to NetSuite migrations. ClonePartner, for example, shares its field mapping as a spreadsheet for your team to approve, runs sample migrations first, and says most jobs take 1 to 5 business days.

Right call when

One organisation, a fixed budget, and a team that will review the sample and check the final load.

Limits

Accuracy claims are the provider's own. Timing depends on Xero's API limits and how quickly your team reviews.

Who
The service's team
History
Full history (as advertised)
Test runs
Sample migrations, then the full run
Accuracy checks
Their report; your review
Source systems
Xero
Cost
Quoted per job
Timeline
1 to 5 business days for most jobs (ClonePartner)

References [21][22][23]

Repurposed tools

Tools built to keep systems in sync, or your own code, bent into a one-off move.

04

Integration platform (iPaaS)

Platform Skyvia: NetSuite and Xero

Sensible if you already pay for one. Built to keep systems in sync, not to move years of history once.

Workato has connectors for both Xero and NetSuite. Skyvia connects the two directly and offers one-off migration as well as sync, and Zapier links them for event-by-event automations. Whichever you use, you build the flows, the mapping and the checks.

Right call when

The platform is already paid for and will keep running after go-live.

Limits

No rollback and no reconciliation beyond an error log, and Xero's daily API limit caps how fast it can read.

Who
Your integration team
History
Whatever flows you build
Test runs
Point the flows at a sandbox
Accuracy checks
None built in
Source systems
Xero
Cost
Subscription plus build time
Timeline
Weeks to build (our estimate)

References [24][25][26][27][32]

05

Custom code against both APIs

Build Xero: API limits

Full control, at the highest effort. Proving the result is your job too.

Read Xero through its Accounting API and write to NetSuite through REST, since Oracle switches SOAP off in 2028. Xero returns up to 1,000 records a page, so 124,812 invoices take about 125 calls, within the 5,000 a day each connected app gets. The full ledger through the Journals endpoint needs Xero's Advanced tier.

Right call when

You have engineers, an unusual data model, or many Xero organisations to move the same way.

Limits

Batching, retries, NetSuite's governance limits and the reconciliation are all yours, and the reconciliation is most of the work.

Who
Your engineers
History
Anything, at build cost
Test runs
As many as you script
Accuracy checks
Yours to build
Source systems
Xero
Cost
Engineering weeks, plus Xero API fees
Timeline
Weeks to a clean run (our estimate)

References [5][6][7][10]

Automated

An AI agent pointed at both systems, or software built only for this job.

06

AI agent over MCP

Experimental Xero's MCP server

Impressive in a demo, not yet something you'd sign off. We haven't tried it on Xero.

Xero publishes an open-source MCP server, and Oracle's NetSuite AI Connector lets an agent create and update records. Each write handles one record per call, with no bulk tool. In our QuickBooks test, 319 records took about 4.3 seconds each, and every invoice posted with zero tax while each call reported success.

Right call when

A proof of concept, or testing your mapping before you pick a method.

Limits

One record per call, no rollback, and errors that pass unnoticed. NetSuite's connector won't run as Administrator, and Xero's terms bar training AI on API data.

Who
The agent, supervised by you
History
A few hundred records (our QuickBooks test)
Test runs
Sandbox only; no rollback
Accuracy checks
None unless you build it
Source systems
Xero
Cost
Model tokens plus supervision
Timeline
About 12 hours per 10,000 records at our test rate

References [11][12][13][14][15]

07

SuiteMigration

Purpose-built How SuiteMigration works

Built only for this job: full history as native NetSuite records, checked record by record.

The one we make. Connect your Xero organisation and it moves every layer, history included, as native NetSuite records with payments applied. Push to a sandbox as often as you like, then reconcile at total and record level before you go live. The free Readiness Audit checks your Xero data first.

Right call when

History matters, someone must sign off the books, and the source is Xero or QuickBooks.

Limits

Data only. It doesn't configure NetSuite or run your implementation, so it won't replace a partner if you need one.

Who
The platform; you review mappings
History
Full history, as native records
Test runs
Unlimited sandbox pushes
Accuracy checks
Built in, record by record
Source systems
Xero, QuickBooks Online and Desktop
Cost
Per migration, quoted; free to start
Timeline
Days, including sandbox review

References [28]

Compared.

Seven methods, five criteria. Full history and accuracy checks matter more than the cost column.

Way Full historyAccuracy checksTest runsEffort on youCost
Xero export Balances Yours Manual High $0 licence
Implementation partner Scoped Checkpoints Sandbox Low In the SOW
Conversion service Advertised You verify Sample runs Medium Per quote
Integration platform (iPaaS) You build None Sandbox High Tier + build
Custom code against both APIs Anything You build Scripted Highest Eng. weeks
AI agent over MCP Hundreds None No rollback Medium Tokens
SuiteMigration Full, native Built in Unlimited Low Per migration
Our scores, from what each vendor documents rather than our own tests. Three dots is best. Checked October 2026.

Only a platform built for the job scores top marks on both full history and accuracy checks, the two columns that decide whether the books can be signed off.

What each way costs.

Published prices where they exist. The biggest cost in every row is people's time, which nobody publishes.

WaySoftware / licencePeoplePublished rangeNotes References
Export and Import Assistant None Your finance team, for weeks $0 licence You pay in time and re-runs. [1][3]
Implementation partner Part of the implementation Consultant hours $25,000 to $500,000+ for the whole implementation (Anchor Group) Migration is one line of the quote. [20]
Conversion service None Their team Quoted per job Checking the result takes your time. [21][22][23]
Integration platform Skyvia: free for 10,000 records a month, paid from $99; Workato: quoted Your integration team Subscription plus build weeks Cheapest if you already have one. [26]
Custom code Xero API: Starter free; Core $35, Plus $245, Advanced $1,445 AUD a month Engineers Engineering weeks Most of the effort goes into proving the result. [6]
AI agent over MCP Model subscription or tokens Someone to supervise Low at small scale Rework after silent failures is the hidden cost. [15]
SuiteMigration Per migration A reviewer for mappings Quoted per migration; free to start The readiness audit is free. Priced per migration, not per seat. [28]
Published prices or vendor terms; see Sources.

No row includes rework, the second pass when the first load doesn't tie. The hidden costs of spreadsheet-driven migrations puts numbers on it.

Why matching totals aren't enough.

A migration can create every record, report no errors and still leave the books wrong. The trial balance won't catch it.

The load log says

✓ Complete

217,359 transactions created. No errors.

The trial balance says

✓ Agrees

Totals match at cutover, because the errors cancel out.

The customer ledger says

✕ Wrong

A customer who paid in March still shows as owing.

How it happens with Xero data

Payments

Xero can't edit a payment, only delete it, so deleted payments sit beside live ones. A load that ignores status brings back payments that no longer exist.

Source [29]

Invoices

An approved invoice can be voided but never deleted, so voided invoices stay in the history. A load that ignores status posts them.

Source [30]

Contacts

Xero decides whether a contact is a customer or a supplier from its transactions. A quick summary read leaves out those flags, plus addresses and contact people, so a tool can't tell which NetSuite record to create.

Source [31]

What catches it

Comparing each Xero transaction with its NetSuite record, one by one. SuiteMigration runs that comparison on every record; with the other methods it's a step to plan and staff. It's the Accuracy checks column in the comparison, and our reconciliation post shows the kind of mismatch it finds. In our own QuickBooks test, every call succeeded and receivables still came up short.

Which way fits.

Two questions settle most of it: does the history have to live in NetSuite, and does someone have to sign off that it's right?

If

Balances and open items are enough.

Because

Every method handles master data and open balances. Paying to move history you'll never open is the common mistake.

If

The history has to be in NetSuite, and someone must sign off the books.

Because

Full history with record-level proof is the hard part. A conversion service can deliver it for a quote; you still check the result.

If

You have engineers, an unusual data model, or many Xero organisations.

Because

You control the mapping and can repeat it. In return, batching, retries and the proof are yours.

If

You already pay for an integration platform.

Because

Cheapest if it's already licensed. Better at keeping lists in sync than at moving deep history.

If

You want to test your mapping before choosing.

Because

Good for read-only checks against a sandbox. We've only tested it on QuickBooks, so treat it as a trial run.

If two options tie, pick the one that can prove the data landed correctly.

How every migration runs.

Five stages, whoever does the work, with the Xero details to watch at each one.

  1. Prepare

    Tidy Xero and decide how much history to bring.

    Watch for

    • Duplicate contacts
    • Unreconciled bank lines
    • Your history cut-off date
  2. Map

    Decide where each account, tracking category and tax rate lands.

    Watch for

    • NetSuite account types
    • Where tracking categories go
    • Tax rates to tax codes
  3. Load

    Load into a sandbox first, in the right order.

    Watch for

    • Contacts and items before invoices
    • Payments after their invoices
    • Exports of 500 at a time, by hand
  4. Reconcile

    Compare NetSuite with Xero, not just the totals.

    Watch for

    • Deleted payments, voided invoices
    • Aged receivables and payables
    • Trial balance, period by period
  5. Go live

    Stop posting in Xero, load the last days, switch over.

    Watch for

    • Transactions entered during cutover
    • Opening bank balances
    • Who signs off
The same five stages apply whichever of the seven ways you choose; what changes is who does stages two to four.

FAQ

Xero to NetSuite migration: common questions

Quick answers to what finance teams, partners and developers ask first.

Not as it comes out. Xero exports transactions 500 at a time, and NetSuite's Import Assistant needs its own templates, at up to 25,000 records a job. Expect to reshape every file, and to load invoices before the payments that settle them.
Seven: export and import it yourself, use your implementation partner, hire a conversion service, use an integration platform, write code against both APIs, point an AI agent at both systems, or use a platform built for the job. The real differences are how much history arrives and who proves it's right.
Yes, though not every method makes it practical. By hand, most teams stop at open balances because transactions export 500 at a time. Partners often include two or three years if it's in scope. Conversion services and migration platforms such as SuiteMigration bring the full history across.
Usually to one of NetSuite's classifications: classes, departments or locations, or a custom segment you create. Xero allows two active tracking categories, so each can have its own home. Decide while mapping, before anything loads.
It depends on how much history you bring and who does the work. Partners quote 6 weeks to 6 months for the whole implementation, of which data is one part. ClonePartner says most of its migrations take 1 to 5 business days. By hand, expect weeks at mid-market volume. SuiteMigration runs take days, including sandbox review.
Tie the trial balance period by period, then compare aged receivables and payables customer by customer. Totals can match while individual records are wrong, so the strongest check compares each Xero transaction with its NetSuite record.
It can work if you already have one. Workato and Skyvia both connect the two systems, and Skyvia offers one-off migration as well as sync. You still build the flows, the mapping and the checks, and each app's Xero limit of 5,000 calls a day (1,000 on Starter) caps how fast it reads.
Not reliably yet. Xero's and Oracle's MCP tools write one record per call, with no bulk or rollback tool. In our QuickBooks test, every call reported success while every invoice posted zero tax. We haven't tested Xero.
Keep reading
Sources

Every figure above comes from one of these, checked October 2026. What we say about other vendors comes from their own pages.

  1. [1] Export invoices and bills · Xero Central
  2. [2] About exporting data · Xero Central
  3. [3] General CSV File Conventions · Oracle NetSuite Help
  4. [4] Customer Payment Import · Oracle NetSuite Help
  5. [5] Limits FAQs · Xero Developer
  6. [6] Pricing · Xero Developer
  7. [7] Efficient data retrieval for large organisations · Xero Developer
  8. [8] Tracking Categories · Xero Developer
  9. [9] Classifications Overview · Oracle NetSuite Help
  10. [10] SOAP Removal Plans FAQ · Oracle NetSuite Help
  11. [11] MCP Standard Tools SuiteApp · Oracle NetSuite Help
  12. [12] NetSuite AI Connector Service: Required Features and Permissions · Oracle NetSuite Help
  13. [13] xero-mcp-server · XeroAPI on GitHub
  14. [14] Xero Developer Platform Terms and Conditions · Xero
  15. [15] QuickBooks Online to NetSuite Migration with Claude and MCP · SuiteMigration
  16. [16] Migrating from Xero to NetSuite: A Complete Guide · Versich
  17. [17] Migrate from Xero to NetSuite · Eventura
  18. [18] Xero to NetSuite migration · Six Lakes Consulting
  19. [19] Outgrowing Xero? Upgrade to NetSuite · Cooper Parry Digital
  20. [20] NetSuite implementation timeline · Anchor Group
  21. [21] Xero to Oracle NetSuite migration · ClonePartner
  22. [22] Xero to NetSuite migration · Cloud Accounting
  23. [23] Xero to NetSuite migration service · Switch My Books
  24. [24] Xero integrations · Workato
  25. [25] NetSuite and Xero integration · Skyvia
  26. [26] Pricing · Skyvia
  27. [27] NetSuite and Xero integrations · Zapier
  28. [28] Pricing · SuiteMigration
  29. [29] Payments · Xero Developer
  30. [30] Invoices · Xero Developer
  31. [31] Contacts · Xero Developer
  32. [32] NetSuite connector · Workato Docs
Free readiness audit

Check your Xero data before you choose.

The free Migration Readiness Audit reads your Xero data and lists the validation errors, mapping conflicts and data problems a migration would hit, before you commit to a method.