
Data migration is one of the highest-risk workstreams in any NetSuite implementation—and one of the most commonly rushed. At Novelance, we treat it as a primary workstream from the first weeks of a project, running in parallel with discovery instead of being saved for the end. With so many details involved in importing data into NetSuite, what should teams focus on—and what pitfalls should they avoid? Here are a few fundamentals we rely on.
Establishing Ownership of the Data Early Is Key
Clear ownership should be established early in the process. Accountability can drift to whoever is coordinating the migration, but true data ownership needs to sit with the business—either the customer (in a consulting engagement) or the internal account owner.
For that reason, the Data Owner should be involved in all aspects of the migration and should understand which NetSuite records are being imported and why. During sample import testing, the Data Owner should be involved in the testing and made to "sign off" on the test results each cycle—confirming that the outcomes align with expectations and raising concerns early enough to address them before the next test. Teams that leave ownership loosely defined often do not discover issues such as duplicates, missing values, or inconsistent legacy standards until user acceptance testing—or worse, after go-live, when fixing records can require chasing down source documents that are no longer easy to find.
Scheduling recurring touchpoint meetings as part of data migration testing—at least weekly—helps ensure consistent progress and gives the team an opportunity to "workshop" the latest test results. Expectations for these sessions should be set so the Data Owner brings updates on testing outcomes and any issues to discuss with the rest of the team, keeping the conversation focused. This is also meant to help ensure the Data Owner feels comfortable with the data being tested.
As the level of technical aptitude varies by individual, some Data Owners may find it challenging to make decisions for some of the data choices that will come up along the way (e.g., which legacy identifier to use as a cross-reference). When this comes up, what often contributes to the "technical" challenge for the Data Owner is a lack of familiarity with NetSuite. This is where working with consultants who have solid NetSuite expertise will make a world of difference, as they play a key role in simplifying the decisions into specific options and providing the pros and cons of each approach. This leads to constructive discussions that help guide the Data Owner through the choices, formalize decisions, and ensure everyone feels aligned and confident in the selected approach.
Data Cleansing Is Always Underestimated
While many Data Owners know their data has some "issues," what is almost always underestimated is how much cleansing is required—and how long it will take.
Companies need to take a deep, unbiased look at their current data versus how they want it to look in NetSuite to understand the size of the gap they need to bridge. For some companies, this can take weeks, but for others it may take several months of focused effort from a data SME to resolve issues and clear the way for the eventual data migration. Because of this, it is best to start data cleansing as early as possible—whether through a phased approach (e.g., finalizing the plan for specific record types to begin clean-up while others are being actively tested and discussed) or a fully scoped, planned, and then executed approach.
Bulk Load Testing Identifies the Issues
A common (and often premature) question is: "How long will it take?"
It is frequently asked before any import tests have been run.
The honest answer is: it depends.
You will not have a reliable estimate until you run timed trials using realistic, finalized sample data—inclusive of all planned columns and levels of detail (including special characters). A practical approach is to test imports of 100, 1,000, and 10,000 records for the planned dataset, then extrapolate against the full expected volume.
Skipping this step often means learning both the load time and the error rate for the first time during the production cutover—when there is little room left to react.
Key Data Migration Decision Examples
Choose Your Cross-Reference Wisely
Selecting the right cross-reference field—such as External ID or Item Name/Number—can be challenging, especially early on when many candidates appear viable. A few guidelines help reduce rework:
- If an integration will be involved, review legacy data early to confirm that any candidate field is unique across all records. In some cases, a value is close to usable but needs cleanup in the legacy system to become a reliable identifier.
- Item Name/Number is a key lookup field in the NetSuite user interface. It should align with the order-entry process, including what end users will expect to type (or scan) when searching for items. Uniqueness also needs to be confirmed, since NetSuite enforces uniqueness when records are created via CSV import.
When deciding whether a legacy data element should be brought into NetSuite, begin with the end in mind. Not all legacy details are appropriate for tracking within an ERP. If a data element is necessary to support future reporting, lookups, or transactional processes in NetSuite (or in systems that depend on NetSuite data), it is relevant enough to track. If it is primarily aesthetic or qualitative, is unlikely to be relied upon, and will remain accessible in the legacy system, it can often be excluded.
How Much History to Import into NetSuite
CRM and transaction historical records are important to all companies. When it comes to deciding how much history should be brought into NetSuite, it is tempting to try to bring in as much history as possible, but this approach rarely makes sense for the following reasons:
- For some industries, the older the data, the less accurate and consistent it will be. Only the most reliable, accurate details should be considered for import into NetSuite.
- For most implementations, importing one to two years of history initially helps ensure that end users can start operating effectively from NetSuite.
Note: This takes some thought and testing by the Data Owner to properly define what data is necessary to "start operating effectively." This can usually be identified by considering:
- What would different levels of NetSuite users need to start working on Monday morning (assuming Monday is the first day after go-live)?
- Which transactions are involved in the data migration that are being brought over in an "in-progress" state? Will users be able to easily pick up these records during the first week and continue working through them? If not, that detail needs to be prioritized and resolved as part of the data migration preparation.
Mapping Legacy Record Types to NetSuite Record Types
Should the Data Be in NetSuite
How to Handle File Attachments
For historical file attachments, the priority is usually ensuring the files remain readily accessible after the migration. However, that does not necessarily mean the files need to live in NetSuite. When possible, store files in an external cloud storage platform that can provide URLs. During the historical data import, include those URLs so the files are referenced on the appropriate records without consuming NetSuite storage space. Because NetSuite storage can be considerably more expensive than dedicated file storage solutions, this approach can help reduce expected storage costs. Storing too much data in NetSuite can also affect system performance, which is another reason to keep only files that truly need to reside in the ERP.
CSV File Limitations to Consider
If a CSV is opened in Excel, numeric values longer than 15 digits can be silently rounded due to Excel's precision limit (the trailing digits may be converted to zeros). This most commonly appears in serial numbers, tracking numbers, long account numbers, and barcode-like values—fields that look numeric but function as identifiers rather than quantities.
A practical workaround is to use Excel's Get Data From Text/CSV import flow and set data type detection to avoid automatic conversion before loading the data into a sheet. This preserves the full value. If the issue goes unnoticed, truncation is often only discovered during reconciliation, when distinct records appear to collide under the same corrupted identifier.
To initiate this process, create a new Excel file and click the From Text/CSV option under the Data tab in Excel.

After selecting your file, the next screen will provide a preview, and it's important that you update the Data Type Detection setting to "Do not detect data types". This allows the raw data values to come through rather than having data conversions happen inadvertently.

The last step is to click the Load button, at which point your data will be pulled into a new spreadsheet with all values retained.
Also, whenever possible, try to avoid using legacy identifiers that are numeric strings with leading zeros as primary cross-references, since they are easy to corrupt during spreadsheet handling. They are not always avoidable (for example, when a value functions as a barcode), but they should be treated carefully and validated early. Choosing a field that turns out not to be unique can force renumbering mid-project—expensive rework once records, transactions, and integrations already reference it.
Where This Fits in a Broader Migration
These fundamentals cover tactical details that are often overlooked mid-migration, but they are only one part of a larger discipline. A complete data migration also includes defining historical cutover scope, mapping fields to NetSuite’s schema, running staged trial load cycles in a sandbox, executing a controlled production cutover, and performing a post-migration audit. Getting the fundamentals right early is what makes the later stages run smoothly instead of surfacing as last-minute surprises at go-live.
Key Takeaways
- Assign data ownership to the business early, and keep the Data Owner involved through sign-off on every test cycle.
- Choose cross-reference fields (External ID, Item Name/Number) for uniqueness and real-world usability—not just convenience.
- Watch for identifier-like values longer than 15 digits; they can silently round when CSVs are opened in Excel.
- Estimate load times and validate results using realistic, finalized sample data—not guesses.
If your organization is planning a NetSuite migration, Novelance’s Data Migration practice can help you build a plan around these fundamentals from day one. Reach out to our team to talk through your project.





