Guide · Updated September 2026

The Ultimate Guide to QuickBooks to NetSuite Migration

Every credible way to move a QuickBooks company into NetSuite, from a CSV export to an AI agent. What each one really delivers, what it costs, who reconciles the result, and when it is the right call.

Most guides describe one method and call it the process. This one compares all of them.

SM By the SuiteMigration team, from over a decade of ERP integration work. The findings here, including our own MCP test migration, are first-hand.

Who should be reading this.

Anyone with a QuickBooks company that is heading into NetSuite, and the people they will ask for help along the way.

This guide is for you if

It is not for you if

  • You are staying on QuickBooks for now. Start with Outgrowing QuickBooks? When to move to NetSuite, which covers how to tell it is time.
  • You are moving from QuickBooks to something other than NetSuite. The methods overlap, but the limits and sources here are NetSuite-specific.

What actually moves.

A QuickBooks to NetSuite migration is really three migrations stacked on top of each other, and most of the arguments about method are arguments about the third one.

  1. Master data

    3%

    Chart of accounts, customers, vendors, items, employees, classes and locations. Every method handles this.

  2. Open items

    Inside the 97%

    Unpaid invoices and bills, open credits, and the opening trial balance as at cutover. The minimum a business needs on day one, and the default scope of most implementations.

  3. History

    97%

    Every posted transaction before cutover, with the links between them intact. This is where the rows are, and the whole argument.

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

The first two layers are a solved problem for every method below. The third is what separates them. How much of it you bring, and whether it lands as native records or as summary journals, decides how much of the old system you get to switch off. Our scoping guide covers how to draw that line.

What does not cross over

The ledger moves. The edges around it usually do not, whichever method you pick, so plan to rebuild them or leave them in a QuickBooks archive. Name these before you start, because they are the ones that get assumed into scope and then missed.

  • File attachments and document links
  • Header and line-level memos, and custom fields beyond the mapped set
  • Bank-feed connections and reconciliation status
  • Payroll history, usually re-implemented rather than migrated
  • Memorized reports and QuickBooks-specific customizations

The failure that looks like success.

A migration can create every record, report zero errors, and still leave the books wrong. Nothing failed, so nothing warned anyone. Every method on this page can do this, and the trial balance will not tell you.

The migration tool says

Success

Every record created. Zero errors.

The trial balance says

Ties out

The totals match, because the mistakes cancel out or never touch them.

The books say

Still wrong

Tax posted as zero. A payment saved as a journal, so its invoice is still open.

This is not hypothetical. In our own test migration, every call returned success and receivables were still short.

Why it slips through

QuickBooks lets you post almost anything. NetSuite checks that a record is well-formed, not that it means what the source meant. And a trial balance only compares totals, which these mistakes leave alone.

What catches it

Comparing every source transaction with its NetSuite copy, one by one. That is the Accuracy checks column below, and why it is the first one to read. Why matching totals isn't enough shows what it catches.

How every migration runs.

Whichever method you choose, the work runs through the same five phases. What changes is who does each one, and how much of your history survives phase three.

  1. 1

    Prepare

    Clean the QuickBooks file, then set the scope: open balances only, a few years of summary, or full detail. This one decision drives every cost below.

  2. 2

    Map and design

    Build the NetSuite chart of accounts and segments, then map QuickBooks accounts, classes and items onto them. A flat QuickBooks file is restructured into NetSuite's model here, and it is more work than the load itself.

  3. 3

    Load

    Move master data, open items and whatever history you scoped, into a sandbox first. This is the phase the seven methods actually differ on.

  4. 4

    Reconcile

    Compare each record with its NetSuite copy and tie the trial balance, AR and AP. Whatever is not checked here surfaces at the first month-end close.

  5. 5

    Cut over

    Freeze QuickBooks, load the final few days of activity, and go live in NetSuite. A short parallel period is optional, not a second migration.

Read the methods below as seven answers to one question: who runs phases two through four, and how much of phase three you can afford. The comparison scores each on exactly that.

Every way, in order.

Seven methods in four groups, from the most manual to the most automated. Each card leads with a one-line verdict, then the same facts in the same order, so the cards compare instead of just describe.

By hand

The default, because it costs nothing to start. QuickBooks Online exports lists and reports to Excel from Settings, Desktop exports lists to IIF and reports to Excel, and NetSuite's Import Assistant at Setup > Import/Export > Import CSV Records takes CSVs mapped to its record types. Every implementation partner has done it. The real cost is the reshaping in between, and it scales with the third layer.

01

CSV export and NetSuite's Import Assistant

Native · Free Oracle: Importing CSV Files with the Import Assistant

Free and native, but you rebuild every transaction by hand and nothing checks the result.

QuickBooks exports lists and reports, not import files. You rebuild transactions into NetSuite's header-and-line CSVs, one template per record type, and the Import Assistant loads each file up to 25,000 records at a time. For 250,000 transactions that is ten import jobs for the headers alone, which is why most teams stop at open items.

Right call when

A small file, a balances-only cutover, and someone in-house who has run NetSuite imports before.

Limits

25,000 records or 50 MB per import job. Payment application and linked records by hand. Nothing checks that what posted matches what you exported.

Who
Your finance team or NetSuite admin
History
Balances and open items, in practice
Test runs
Manual, into a sandbox if you have one
Accuracy checks
Yours, from trial balance reports
Source systems
Online and Desktop
Cost
No licence. Weeks of skilled hours
Timeline
Two to eight weeks of effort

References [1][2][3]

Done for you

Same mechanics as category one, different hands. The implementation partner does it as a line in the statement of work, or a conversion bureau does it as a fixed-price service. You buy back the weeks. What you do not automatically buy is history or record-level proof, so read the scope.

02

Implementation partner or NetSuite Professional Services

Service Oracle: SuiteSuccess

The safe default when the implementation is already budgeted. Transaction history costs extra.

Data migration is one workstream inside the implementation, whether Oracle's SuiteSuccess team or a partner runs it. The default scope is master data, open AR and AP, and an opening trial balance. Full history is usually a change order priced in hours. The partner is also the one configuring NetSuite, which no migration tool does.

Right call when

The implementation is already budgeted and you can live without transaction-level history.

Limits

Scope is whatever the statement of work says. History is priced in hours. Partner capacity is the bottleneck.

Who
Partner consultants
History
Balances by default; history as an add-on
Test runs
Sandbox load, then production
Accuracy checks
Partner, at trial-balance level
Source systems
Online and Desktop
Cost
Inside a $30k to $150k+ implementation
Timeline
Three to twelve months, whole implementation

References [11][12][15]

03

Conversion bureau

Service Examples: MMC Convert, Fourlane

A fixed quote for the move, strongest on Desktop. Verifying what comes back is on you.

Shops such as MMC Convert and Fourlane sell the move as a product: send the QuickBooks file, get back NetSuite-ready imports or a completed load at a quoted price. They are strongest on QuickBooks Desktop, where the company file is the whole dataset. Both advertise full history. Verifying it is on you.

Right call when

QuickBooks Desktop, one company file, a fixed price, and you will verify the result yourself.

Limits

A black box until delivery. Payment application and NetSuite-specific fields vary by shop. Little control over mapping.

Who
The bureau's conversion team
History
Full history advertised
Test runs
Usually one delivery; ask
Accuracy checks
Theirs to deliver, yours to verify
Source systems
Desktop first, Online too
Cost
Fixed quote per company file
Timeline
Days to a few weeks

References [9][10][14]

Other shops advertise the same service. Treat any of them as unverified until you have seen a reconciliation from a completed QuickBooks to NetSuite job.

Repurposed tools

Integration platforms and the two systems' APIs were built to keep records in sync, not to move a decade of them once. They can be made to do it. The flows, the mapping and the proof are yours to build, and Desktop drops most of this category because it has no cloud API.

04

Worth it only if you already run the platform. Built for sync, not a one-off migration.

Celigo ships a QuickBooks Online to NetSuite template and a free edition that runs one flow at a time; Boomi and Skyvia can be wired the same way. Lists move well. Transactions mean one flow per record type and payment application against already-migrated invoices, with no rehearsal, rollback or reconciliation beyond the error log.

Right call when

You already pay for the platform and will keep it after go-live.

Limits

Built for sync, not migration. No rollback, no reconciliation. Desktop connectors are rare.

Who
Your integration team
History
Whatever flows you build
Test runs
Point the flows at a sandbox
Accuracy checks
None built in
Source systems
Online only, in practice
Cost
Platform subscription plus build time
Timeline
Weeks to build, hours to run

References [8][17][18]

05

Custom code against both APIs

Build Intuit: QuickBooks Online API features and limits

Total control, highest effort. You build the reconciliation harness too.

Read QuickBooks Online through its REST API at 500 requests a minute and 1,000 rows a page, and write NetSuite through SuiteTalk or a SuiteScript map/reduce. Full control over mapping and native record types, plus the batching the MCP toolset lacks. You also own retries, governance limits and the reconciliation harness, which is most of the build.

Right call when

In-house engineers, an unusual data model, or a repeatable pattern across many companies.

Limits

Everything is yours: batching, retries, governance, proof. Two API stacks if Desktop is involved.

Who
Your engineers
History
Anything, at build cost
Test runs
As many as you script
Accuracy checks
Yours to build
Source systems
Online via REST; Desktop via the SDK
Cost
Engineering weeks
Timeline
Four to twelve weeks to a clean run

References [2][5][6]

Automated

Two very different things share this category. An AI agent given tools for both systems is general-purpose automation pointed at a migration. A migration platform is software built for nothing else. We have run the first and we build the second, so read this section knowing that.

06

A promising demo, not yet a migration you would sign off. Failures are silent.

Connect Claude to Intuit's QuickBooks MCP server and Oracle's NetSuite AI Connector and ask it to move the company. We tried it on a 319-record sandbox company: it mapped well and created every record, one call at a time at about 4.3 seconds each. Tax posted as zero on every invoice while every call returned success. Strong for mapping and checks, not yet for a migration you would sign off on.

Right call when

A demo company, a proof of concept, or mapping and read-side checks ahead of another method.

Limits

One record per call, no bulk tool, no rollback, no delete. Failures are silent. Administrator roles cannot connect.

Who
The agent, supervised by you
History
Full history, for a few hundred records
Test runs
Sandbox only; no rollback
Accuracy checks
None unless you build it
Source systems
Online only
Cost
Model tokens plus a day of supervision
Timeline
Hours; ~12 h per 10,000 records

References [4][13]

07

Made by us

SuiteMigration

Purpose-built How SuiteMigration works

Full history as native records, reconciled record by record. Built for this one job.

A platform built for this one job, and the one we make. It connects to QuickBooks Online, QuickBooks Desktop or Xero and pushes every layer, including full history, as native NetSuite records with payments applied. Push to a sandbox as often as you need, then to production. Every migration is checked two ways: an aggregate tie-out and a record-level reconciliation you can hand to an auditor. We could not find another purpose-built platform for this route.

Right call when

History matters, someone has to sign off on the result, and the source is QuickBooks or Xero.

Limits

Data only: it moves the records but does not configure NetSuite or run the implementation, so it is not a substitute for a partner if you need one. Source must be QuickBooks or Xero.

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
Online, Desktop and Xero
Cost
Per migration, quoted; free to start
Timeline
Days, including sandbox review

References [16]

Side by side.

Every way against six criteria. Read down Full history and Accuracy checks first; they decide more than the cost column does.

Way Full historyAccuracy checksTest runsDesktop supportEffort on youCost
CSV export Balances Yours Manual Yes High $0 licence
Implementation partner or NetSuite Professional Services Add-on TB level Sandbox Yes Low In the SOW
Conversion bureau Advertised You verify One pass Strong Medium Per file
iPaaS You build None Sandbox Rare High Tier + build
Custom code against both APIs Anything You build Scripted Via the SDK Highest Eng. weeks
AI agent over MCP Hundreds None No rollback No Medium Tokens
SuiteMigration Full, native Built in Unlimited Yes Low Per migration
More dots is better; three is the best the market offers. The ratings are ours and every one is explained in the card above. Checked September 2026.

What each way actually costs.

“Free” is rarely free. Every method spends some mix of licence, hours and fees, and the hours are the part nobody budgets. Published ranges below; your numbers will move with row count and how clean the source is.

WaySoftware / licencePeoplePublished rangeNotes References
CSV and Import Assistant None Your finance team, for weeks $0 licence The cost is the reshaping and the re-runs. [1]
Implementation partner Included in the implementation Consultant hours $30,000 to $50,000 simple; $120,000 to $150,000+ complex, whole implementation Migration is a slice. History is a change order. [11][12]
Conversion bureau None Their team Quoted per company file; not published Verification is your time. [9][10]
iPaaS Celigo free edition runs one flow; paid tiers above Your integration team Platform tier plus build weeks Cheapest if already licensed. [8]
Custom code None; API access is free Engineers Engineering weeks The reconciliation harness is most of it. [5]
AI agent over MCP Model subscription or tokens A supervisor Low at small scale; about 12 hours per 10,000 records at volume Rework after silent failures is the hidden line. [13]
SuiteMigration Per migration A reviewer for mappings Quoted per migration; scales with data volume and trial-balance-only vs full history Free to start and the readiness audit is free. Per migration, never per seat. [16]
Ranges are published figures or vendor terms; see Sources. The biggest cost in every row is people's time, which no vendor publishes.

The line missing from every row is rework: the second pass after the first load did not tie. The hidden costs of spreadsheet-driven migrations puts numbers to it.

Which way is right for you.

Two questions settle most of it: do you need transaction history inside NetSuite, and does someone have to sign off that it is right? Source system and in-house capacity decide the rest. Find the line that fits, then start with the ways beside it.

If

You need balances and open items on day one, not years of history.

Why

Master data, open AR and AP, and an opening balance are a solved problem for every method. Do not pay to move history you will never open.

If

You need full history and someone has to sign off that the books are right.

Why

History plus record-level reconciliation is the hard part, and a trial balance will not prove it. A bureau can deliver it for a fixed quote if you verify the result yourself.

Why

Desktop has no cloud API, so AI agents and most iPaaS connectors cannot read it. Pick a method that names Desktop support outright.

If

You have in-house engineers, an unusual data model, or many companies to move the same way.

Why

Full control over mapping and a repeatable pattern, in exchange for owning the batching, retries, governance limits and the reconciliation harness.

If

You already license an integration platform and will keep it after go-live.

Why

Cheapest when the platform is already a sunk cost, and strongest on lists rather than deep transaction history.

If

You want to prove out the mapping before you commit to a method.

Why

Good for mapping and read-side checks on a sandbox company. Not a migration you would sign off on yet.

Two shortlists tie more often than not. When they do, the tie-breaker is reconciliation: whichever way you pick, the result is only as good as the proof that it landed right.

FAQ

QuickBooks to NetSuite migration: frequently asked questions

The questions controllers, partners and developers ask before choosing a method.

No. NetSuite has no QuickBooks importer. Its native route is the CSV Import Assistant at Setup > Import/Export > Import CSV Records, which takes CSV files mapped to NetSuite record types, up to 25,000 records or 50 MB per job. QuickBooks exports lists and reports, not NetSuite-shaped files, so the reshaping in between is the actual work.

Yes, for master data, open items and opening balances, if someone in-house has run NetSuite imports before. Full transaction history by hand is possible in theory and rarely finished in practice, because every transaction type needs its own template, payments must be applied to the invoices they settled, and nothing checks that what posted matches what you exported.

The data move and the implementation run on different clocks. Published implementation timelines run from three to four months for small companies to six to twelve months or more for complex ones. The data move inside that ranges from weeks of manual work to days on a purpose-built platform, and the reconciliation afterwards is what usually decides the go-live date.

Software ranges from free to a per-migration fee. Published NetSuite implementation costs run from roughly $30,000 to $50,000 for straightforward deployments to $120,000 to $150,000 or more for complex multi-subsidiary ones, with data migration a slice of that and full history often a change order. The cost nobody budgets is rework after a load that did not tie.

Bring it if you need it for audit, comparative reporting or customer and vendor history, and if your method can land it as native records with payments applied. Leave it if a read-only QuickBooks archive is acceptable and you will genuinely never need to drill into it from NetSuite. The methods differ mainly in how much history they make affordable, so decide this before choosing one.

With MCP servers for both systems, an AI agent can read QuickBooks, map it and create NetSuite records one call at a time. In our own run it mapped well and created every record, but tax posted as zero on every invoice while every call returned success, and there is no bulk tool, no rollback and no delete. Good for mapping and checks, not yet for a migration you would sign off on.

Yes, with one fork. Desktop has no cloud API, so MCP agents and most iPaaS connectors cannot read it, and its IIF export carries lists but not transactions. CSV by hand, partners, conversion bureaus, code against the Desktop SDK, and platforms that state Desktop support explicitly all still apply. SuiteMigration supports QuickBooks Desktop alongside Online and Xero.

Yes, and most teams do. You keep posting in QuickBooks while the migration is built and tested in a NetSuite sandbox, then pick a cutover date, usually a month or quarter end, freeze QuickBooks, load the final few days of activity, and go live in NetSuite. A short parallel period where both run is optional. What you want to avoid is running both as the system of record for months, because every day of divergence is another day to reconcile.

The ledger moves; the edges around it often do not. File attachments and document links, header and line-level memos, custom fields beyond the mapped set, bank-feed connections and reconciliation status, payroll history, and memorized reports usually have to be rebuilt in NetSuite or left in a QuickBooks archive rather than migrated. Agree what is in and out of scope before you start, because these are the items that get quietly assumed and then missed.

Silent success: records that are created, calls that return success, and books that are wrong anyway. Tax posted as zero, payments landed as journals that left invoices open, journals that posted nothing. A trial balance cannot see any of it. Record-level reconciliation, each source transaction compared with its NetSuite record, is the only check that catches it.

Keep reading
Sources & further reading

Every external figure above comes from one of these, checked September 2026. Internal links are our own published work.

  1. [1] CSV Import FAQ · Oracle NetSuite Help
  2. [2] CSV Imports Overview · Oracle NetSuite Help
  3. [3] Limitations for Importing Transactions · Oracle NetSuite Help
  4. [4] MCP Standard Tools SuiteApp · Oracle NetSuite Help
  5. [5] QuickBooks Online API features, limits and throttling · Intuit Developer
  6. [6] Set up QuickBooks Web Connector · Intuit
  7. [7] What's new in QuickBooks Desktop 2024 · Intuit
  8. [8] How to Migrate QuickBooks Online Data to NetSuite for Free · Celigo
  9. [9] QuickBooks to NetSuite Data Migration · Fourlane
  10. [10] Migrate from QuickBooks to NetSuite · MMC Convert
  11. [11] QuickBooks to NetSuite Migration: Complete 2026 Guide · Versich
  12. [12] QuickBooks to NetSuite Migration: The Complete 2026 Guide · Epiq
  13. [13] QuickBooks Online to NetSuite Migration with Claude and MCP · SuiteMigration
  14. [14] How to Export Data from QuickBooks Desktop: Methods, Limits and Formats · ClonePartner
  15. [15] SuiteSuccess · Oracle NetSuite
  16. [16] Pricing · SuiteMigration
  17. [17] QuickBooks Online connector · Boomi Documentation
  18. [18] NetSuite connector · Boomi Documentation
The one we build

See what your QuickBooks data would hit in NetSuite.

The free Migration Readiness Audit reads your QuickBooks or Xero company and reports the validation errors, mapping conflicts and data-quality issues a migration would meet, before you choose a method.