Skip to content
DataUntangler

QuickBooks to Xero Migration and Conversion Without Duplicate Contacts

QuickBooks keeps customers and vendors on separate lists. Xero keeps one contact list. A QuickBooks to Xero conversion copies both lists as they stand, so every duplicate and every customer that is also a vendor lands in Xero as separate contacts. Here is how to clean the lists before the switch.

Published 2 October 2026 8 min read Written by the DataUntangler team

A QuickBooks to Xero migration copies your customers and vendors exactly as they are. Xero routes the move through its conversion partner Jet Convert, which converts the current and prior fiscal year of transactions at no charge, along with the chart of accounts and the contact lists. Every duplicate customer or vendor in QuickBooks arrives in Xero as a separate contact, already attached to its invoices and bills.

There is a second source of duplicates that only shows up on this move. QuickBooks keeps customers and vendors on separate lists, Xero keeps one contact list, and the conversion carries a business that is both customer and vendor as two Xero contacts, adding an identifier where the names are identical so that both still appear. The fix is to settle the lists in an exported file before the conversion, with a person reviewing each match, and to keep an audit log of every merge.

What a QuickBooks to Xero conversion moves

Xero offers three routes: the Jet Convert service, a fresh start with opening balances only, and the Xero Conversion Toolbox for accountants who import the data themselves from CSV files. According to Xero, a Jet Convert migration takes between 20 minutes and five business days, more than two years of data costs extra, and payroll does not migrate.

Data Converted by Jet Convert What to check
Customers and vendors Yes, as Xero contacts Duplicates and same name pairs
Inactive customers and vendors Yes, they may have transactions They count in the contact list
Jobs or sub-customers Not as contacts, as tracking if chosen Header and sub names are joined
Payment terms, bank details No Re-enter in Xero after

Two lines in that table decide the cleanup. Inactive records convert too, so the vendor nobody has paid since 2019 comes across along with its duplicate. And jobs are not contacts in Xero, so a customer split across two records with jobs under each arrives as two contacts with the job structure flattened into tracking. Both are easier to settle in QuickBooks, or in the export, than in a new Xero organization.

Why QuickBooks customers and vendors become duplicate Xero contacts

QuickBooks Desktop allows a name only once across customers, vendors and employees, and most QuickBooks Online files follow the same habit. A business you both invoice and pay therefore lives twice, as "Granite Peak Builders" on the customer list and "Granite Peak Builders (v)" on the vendor list. In Xero that is one contact that can receive invoices and bills. Jet Convert carries them as two contacts, and where a customer and a supplier have the identical name it adds an identifier so both still appear, because it cannot know whether they are one business. So after the conversion you have two contacts for one company, each with half the history.

On top of that sit the ordinary duplicates that every old QuickBooks file carries: "Harbor View Dental" and "Harbor View Dental PLLC", a vendor added once from a bill and again from a bank feed rule, a customer whose billing email changed. Each one becomes its own Xero contact, and Xero contact names are how bank rules, imports and many connected apps find a contact.

What a real QuickBooks contact export looks like after the pass

We built a file in the shape of a combined QuickBooks customer and vendor export, with Name, Type, Company, Email, Status, State and Zip columns, and ran it through the engine behind our browser demo. These are the results it actually returned.

Rows in the file What they had in common Result Confidence
Granite Peak Builders as customer, Granite Peak Builders (v) as vendor Same email One cluster, Type flagged as a conflict Likely
Harbor View Dental PLLC and an inactive Harbor View Dental, no email Same name, PLLC not set aside Not matched None
Sutton Freight Inc and Sutton Freight Lines Part of the name only Not matched None
Laura Kim twice, two emails Same name only Left as two contacts Not matched

The same run proposed colorado, new jersey and illinois as CO, NJ and IL and restored the leading zero on ZIP code 7030 to 07030. The Granite Peak pair is the one this migration is about: the engine matched it on the shared email and flagged that the Type column disagrees, which is exactly the decision you want a person to make. The Harbor View pair shows a limit. PLLC, the suffix US dental, medical and law practices use, is not set aside today, so the same practice was not matched; when we changed it to LLC in a second run, it matched with high confidence. Sort the list by name and read the rows the engine leaves alone.

How to clean QuickBooks customers and vendors before moving to Xero

  1. 1 Export both lists. In QuickBooks Online use Export to Excel on the Customers and the Vendors pages; in QuickBooks Desktop open the Customer Center and the Vendor Center, then the Excel menu, and export each list as a CSV. Paste them into one file and add a Type column saying Customer or Vendor.
  2. 2 Load the file into the demo. Nothing uploads, the file is read and matched inside your browser tab. Approve the clusters and the state and ZIP code fixes you agree with, reject the rest, and download the cleaned file with its audit log.
  3. 3 Merge true duplicates inside QuickBooks before the conversion, customer with customer and vendor with vendor, so Jet Convert carries one record per business. A QuickBooks merge is permanent, which is why the pairs are decided on the file first.
  4. 4 For businesses that are both customer and vendor, write down the Xero name you want, usually the plain name without (v) or (c). After the conversion, merge the two contacts in Xero. A Xero merge moves the transactions to the contact you keep, archives the other one and deletes no transactions.
  5. 5 After the conversion, compare the Xero contact count with the cleaned list and the audit log. Any extra contact is a duplicate the conversion carried, and the log tells you which one to keep.

Should you merge duplicates in QuickBooks or in Xero?

Merge same type duplicates in QuickBooks, before the conversion, and merge customer and vendor pairs in Xero, after it. QuickBooks keeps a customer and a vendor as two records, so that pair can only become one record in Xero. Two customers or two vendors for the same business, on the other hand, are cheaper to merge before the move, because otherwise both convert with their own transactions and you merge them again in Xero anyway.

In QuickBooks Desktop a merge is done by renaming one record to the exact name of the other, two names at a time, and customers with jobs have to have their jobs moved first. That pass is laid out on merge customers in QuickBooks Desktop. For a QuickBooks Online file the same pass is on QuickBooks Online merge vendors and customers.

How much does it cost to migrate from QuickBooks to Xero?

The Jet Convert service is free for the current and prior fiscal year of transaction data, and Xero quotes a fee for more than two years. A fresh start costs nothing beyond your Xero subscription but leaves the history behind, and the Conversion Toolbox costs the accountant time it takes to prepare and import the CSV files. The cleanup before any of them is the part no route does for you.

After the switch, the first month of bank reconciliation in Xero is where a missed duplicate shows up, as a payment that lands on the wrong contact or a bank rule that picks the archived one. If the reconciliation itself is the bottleneck, bank reconciliation software that matches the statement to the ledger takes that part off the list.

Where DataUntangler fits in a QuickBooks to Xero migration

DataUntangler does not connect to QuickBooks or Xero and does not convert transactions. It takes the exported customer and vendor lists, proposes every duplicate cluster and every format fix as a change you approve or reject, and gives you the cleaned file and an audit log. The conversion itself stays with Jet Convert, the Conversion Toolbox or your conversion partner.

The buyer is usually the bookkeeper or accounting firm moving a US client from QuickBooks to Xero, or the business owner doing it with a conversion date set, who wants one contact per business on day one and a record of what was merged. Moving the other way, from Xero onto QuickBooks Online, is covered in Xero to QuickBooks conversion, and the matching rules behind every pass are explained on data deduplication. It runs on the Analyst plan at 59 dollars a month, or 348 dollars a year, with unlimited files.

The file is still messy after the article

Load it into the demo and see every duplicate, every broken date and every mangled character as a line you can approve or reject.

No card required. Your file never leaves your computer.

Clean a file