On a QuickBooks to NetSuite migration, the customer and vendor lists are where most of the cleanup time goes, and most of it is QuickBooks habits rather than bad data. QuickBooks makes every display name unique across customers, vendors and employees, so companies that are both customer and vendor get suffixes like (c) and (v). Duplicates pile up under two spellings. States, dates and balances are typed several ways. NetSuite takes names and values exactly as the file gives them, so all of that has to be fixed in the export.
The practical answer is to clean the customer and vendor exports as files, with every change reviewed, before the first NetSuite CSV import runs. Fixing a list in a file costs nothing to undo. Fixing it after go live means merges, reclassified transactions and reports that have to be explained.
What moves in a QuickBooks to NetSuite migration, and what should be cleaned
Most migrations bring across the master lists (chart of accounts, customers, vendors, items, employees), open transactions, and a chosen amount of history, often as monthly summarized balances rather than every entry. Your partner and your accountant decide the history question. The master lists are yours to get right, because every open invoice and bill will hang off them.
| List | Typical QuickBooks problem | What to fix before import | Why it matters in NetSuite |
|---|---|---|---|
| Customers | Display name suffixes, one company under two names | Strip suffixes, merge near duplicates | Duplicate customers split A/R and sales reports |
| Vendors | Same supplier entered twice by two people | Merge, keep one remit address | Two vendor records allow one bill to be paid twice |
| Items | Prices with dollar signs, SKUs missing leading zeros | Plain numbers, zeros restored | Rows fail or import with wrong values |
| All lists | States and countries written several ways | Two letter states, country names | NetSuite wants short state names and full country names |
The QuickBooks display name problem
QuickBooks Online keeps one shared list of names, so a display name used for a customer cannot be used again for a vendor or an employee. Intuit community answers suggest the usual workaround: add a distinguisher such as Acme Co (c) and Acme Co (v), a trailing period, or a number, so a second Jack Smith becomes Jack Smith 2. The printed name on invoices and checks can stay the same, which is why nobody notices for years.
In a migration those suffixes are data. If the customer export goes into NetSuite as it is, (c) becomes part of the customer name that appears in searches, on statements and in every report. Decide the rule before the import: strip the markers that only existed to satisfy QuickBooks, and keep the ones that separate two real people, such as two different Jack Smiths at two companies. That decision is quick when you can see both rows side by side, and slow when you find the pattern three weeks into NetSuite. If the go live is months away, merging the true duplicates inside QuickBooks first also keeps this year's 1099 totals whole, which is the pass on QuickBooks Online merge vendors. On a QuickBooks Desktop file the merge works by renaming, two names at a time, as set out on merge customers in QuickBooks Desktop.
What a real QuickBooks customer export looks like after the pass
We ran a six row QuickBooks Online customer export through the engine behind our browser demo, with the same columns the customer list exports: Customer, Company name, Email, Phone, Billing State, Open Balance and Customer Since. These are the results it produced, not a mockup.
| QuickBooks rows | What they had in common | Result | Confidence |
|---|---|---|---|
| Greenleaf Landscaping (c) and Greenleaf Landscaping | Same email, one in capitals with a trailing space | One cluster, first row kept | High |
| Harper & Cole Builders, company with and without Inc. | Same name, no email on one row | One cluster, row with email kept | High |
| Jack Smith and Jack Smith 2 | Same person name, different companies and emails | Left as two customers | Not matched |
| Billing State colorado, tx, Texas, ohio | Written four ways | CO, TX, TX, OH | High |
The same run turned open balances such as $4,310.00 and $12,050.00 into 4310.00 and 12050.00, and resolved Customer Since values of 03/04/2024 and 4 Mar 2024 to one date, 2024-03-04. Two honest limits from the same test. The engine found the Greenleaf pair but did not remove the (c) from the kept name, so the suffix rule above is a Find and Replace you run yourself. And a company written Harper and Cole with the word and is not matched to the ampersand spelling, so sort the company column once and look for those by eye.
How to clean QuickBooks data before migrating to NetSuite
- 1 Export the customer list and the vendor list from QuickBooks to Excel, from their list pages or from Export data under the gear menu. Keep the QuickBooks name or ID on every row, and put it into an External ID column for NetSuite so later imports update the same records.
- 2 Decide the suffix rule and apply it: remove (c), (v), trailing periods and numbers that only kept QuickBooks happy, and keep the ones that separate two real people.
- 3 Load the customer file into the demo, then the vendor file. Nothing uploads, both are matched inside your browser tab. Approve the duplicate clusters and the state, country, number and date fixes you agree with, reject the rest, and download the cleaned CSV with its audit log.
- 4 Format the date column once to the date format in your NetSuite user preferences, MM/DD/YYYY on a default US account, and check that headers are plain and unique, because NetSuite imports only the second of two columns with the same header.
- 5 Import parents before children. Customers with sub-customers or jobs go in parent first, then the sub-customers, then contacts, then open transactions, each in jobs under the NetSuite limit of 25,000 records.
- 6 Reconcile. The count of NetSuite customers plus the merges in your audit log should equal the rows you exported from QuickBooks, and the A/R and A/P aging totals should tie to the QuickBooks reports on the cutover date.
How do I migrate vendors from QuickBooks to NetSuite without duplicates?
Export the vendor list with the display name, company name, email and remit address, merge near duplicate suppliers in the file before import, and turn on Prevent Duplicate Records in the Import Assistant as a second check. NetSuite checks email by default, so pairs with a missing email have to be caught in the file.
Vendor duplicates deserve more care than customer ones, because the cost is paid in cash. Two records for one supplier split the spend, split the 1099 totals and let the same invoice be entered against each. Give the vendor number column a plain header such as ID when you run the file through our engine, because a header like Vendor ID is read as a company column and weakens the match. The full treatment of supplier files is in vendor master data cleansing software.
How long does a QuickBooks to NetSuite migration take?
It depends mostly on scope, not on the data move itself. Moving master lists and open balances for a single entity is a much shorter project than moving multiple subsidiaries with detailed transaction history, and partners scope those very differently. Cleaning the lists is the part you control, and it goes quickly when duplicates are reviewed in a file rather than argued about in the new system.
Build one checkpoint into the cutover week. Close the last QuickBooks period, run the closing numbers, and produce a clean set of financial statements from that final export, so the opening balances in NetSuite have a document to be checked against. When the trial balance ties, the lists and balances are right. When it does not, you know exactly which period to look at.
When a NetSuite partner is the better buy
For most companies leaving QuickBooks, a NetSuite partner or the NetSuite implementation team runs the project, and they should. They configure subsidiaries, the chart of accounts, tax, approvals and the transaction history, and none of that belongs in a file cleaning tool. What they need from you is clean master data, and the list cleanup is often left to the finance team because nobody else knows which Acme is the real one.
That is the job DataUntangler does. It does not connect to QuickBooks or NetSuite. It takes the exported customer or vendor file, proposes every duplicate cluster and every format fix as a change you approve or reject, and returns the cleaned CSV with an audit log you can hand to the partner and the auditor. It runs on the Analyst plan at 59 dollars a month with unlimited files, and the matching behind it is the same one described on data deduplication tools. Firms that bring clients onto QuickBooks Online from Xero run the same check before that conversion, as set out in Xero to QuickBooks conversion.