NetSuite, Implementation, Data Migration

An Example QuickBooks to NetSuite Data Migration Implementation Plan


Data migration is a crucial element in a QuickBooks to NetSuite implementation. Data migration can be split into master records, historical financials, and open transactions. This article discusses the record types to be loaded within each category, including critical considerations for teams to consider when preparing for an implementation.

Defining Responsibilities

Assigning a responsible party to each task is critical in any implementation plan. Data migration tasks are typically split out as follows:

  • The implementation partner will provide the client with the CSV templates. The team will have a meeting where the template requirements are reviewed.

  • The client will be responsible for extracting the data from the legacy system and formatting the legacy data into the CSV template.

  • The implementation partner will upload the completed CSV template into NetSuite. The partner will follow up with the client on any issues. The client and partner will work together to resolve any problems.

Oracle NetSuite employees contractually cannot touch your legacy data. And most partners won’t either. If you are struggling to clean and prepare the CSV templates, contact OptimalData.

Master Records

Master records are the lists of data used across NetSuite. There are two subcategories within the master record category - segment and entity data.

Segment data is how transactions are classified. Here are the segment master records:

  • General ledger (GL) accounts

  • Items

  • Departments

  • Classes

  • Locations

See my article on segment structure basics for an overview of the function of each of these records in NetSuite.

Entity data are the relationships that you create transactions with. Here are the entity master records:

  • Vendors

  • Customers

  • Employees

Timing of Loading Master Records

Typically, master records are loaded at the very beginning of the project. The exact timing and volume vary depending on the implementation partner. NetSuite Professional Services (NSPS) typically asks clients to load a sample of five entity records for their first walkthrough so the client can see their actual data.

Master records will also need to be loaded at the very end of the project for new records created in the legacy system after the initial batch is loaded. Implementation teams should factor this into their timelines, especially if a high volume of new records is being created or your implementation is delayed.

Cleaning Master Records

Inevitably, the legacy master records will need to be cleaned. Cleaning master records can mean many different things. Here are a few examples:

  • Update the GL account number in QuickBooks before starting the data migration process.

  • Deactivate any old customer or vendor records in QuickBooks.

  • Review address information for customers to whom you are mailing invoices.

  • Cleaning email addresses on customer and vendor contacts.

  • Assessing if specific segments, like the class field, is no longer needed or can be repurposed because of enhanced reporting functionality in NetSuite.

I’d also recommend tracking changes between the segments if you make changes in Excel. For example, if you are going from a four-digit to a five-digit GL account number, track the old and new numbers in a single row in Excel. This will make mapping the segments easier. Check out my article on building a segment map file for additional recommendations.

I always recommend cleaning data in the legacy system rather than in an Excel spreadsheet. This will prevent potential data loss. Remember, the more work you put into cleaning the data ahead of time, the more you will avoid additional back-and-forth with the implementation partner when attempting to import these records.

If you want additional details on cleaning customer and vendor records, consider signing up for my QBO to NetSuite data migration course. I have a video on cleanup tasks to make this process more efficient.

Importing Historical Trial Balances

Check out my article on loading financials and open transactions for specific instructions on loading historical trial balances.

Here are some key highlights regarding the data migration project plan:

  1. Load the data in at least two batches. The first batch should include periods where the financial numbers are locked. Here are the benefits:

    1. You’ll know how long it takes to prepare the historical financial statement templates.

    2. You should be able to load most of the data before the go-live date.

    3. Your team can run UAT and training with a sample of actual data in the system.

  2. Either have an accounting or a savvy Excel user (or ideally both) prepare the data. If you are completely lost on where to start, sign up for my QBO to NetSuite data migration course.

  3. Make sure the implementation partner will load a sufficient number of historical periods. Some implementation partners only include a specific number of financial periods in the implementation statement of work. 

Importing Open Transactions

Open transactions are loaded at the very end of the project after the organization has stopped entering new transactions into QuickBooks. I’d recommend loading these transactions in the sandbox first to confirm your understanding of preparing these CSV import templates. An accounting user should be responsible for preparing these templates.

For detailed information on loading each open transaction type, check out these articles:

Here are some tips for cleaning open transactions:

  • Review the detailed AR aging report. If there are old invoices that won’t be paid, write them off in QuickBooks instead of migrating them into NetSuite.

  • Remove any journal entries flowing through the AP or AR aging reports. You can apply them against each other in QuickBooks so they no longer appear on the aging reports.

  • Void any old bank transactions that haven’t cleared in over 180 days. It will be significantly easier to clean these transactions in QuickBooks than NetSuite.

  • Close any old purchase or sales orders in QuickBooks with a small remaining balance.


A well-executed data migration plan ensures that NetSuite contains accurate historical data. Prioritize data migration early in the ERP implementation process to avoid delays. Use this opportunity to eliminate obsolete records and set the stage for a successful NetSuite deployment. Meticulous planning and validation are critical to a seamless data migration experience.

If you found this article helpful, here are a few ways I can help you:

Needing additional assistance with migrating your data?

Contact OptimalData Consulting to discuss partnering to move your data so you can focus on your other priorities.



Subscribe for updates!