Why does the HubSpot QuickBooks sync create duplicate customers?
HubSpot’s data sync matches on “the email for contacts,” and “If there isn’t a match, the record will go through the sync engine on its own.”
- Different emails for the same client. HubSpot has the owner’s email and QuickBooks has the accounts payable address, so nothing matches.
- A contact with no company. The new QuickBooks customer is named with the contact’s first and last name, next to the company-named customer you already had.
- Two QuickBooks customers share one email. For example, two locations billed separately. HubSpot says “the first record returned by the app’s API will be syncable; the next one will be considered a duplicate.”
- A QuickBooks customer with no email. It can’t match, so a HubSpot contact for the same client creates a second customer.
How do you stop new duplicates while you clean up?
Turning off the contact sync stops records moving in both directions.
- Open the sync. Click the settings icon, go to Integrations > Connected apps > QuickBooks Online, and open the CRM syncs tab.
- Save what was syncing. Click the number in the In Sync column, then More > Export, choose a file format and click Export. Repeat for Failing and Excluded. HubSpot sends the download link by email and to the notification center.
- Turn it off. Hover over the contact sync, click More, select Turn off sync, and confirm.
Leave the product and invoice syncs alone unless they are part of the problem.
How do you merge the duplicates in both apps?
Merge in QuickBooks first, since it holds the invoices and payments. Intuit says “This action is permanent and can’t be undone.”
1. Export the QuickBooks customer list. Go to Reports, then Standard reports. In Find report by name, choose Customer Contact List, then Export/Print > Export to Excel.
2. Export HubSpot contacts. Go to CRM > Contacts, open the All contacts view and click Export at the top right of the table. The free HubSpot duplicate contact finder groups that file into likely pairs.
3. Write the merge list. One row per client, with the email both kept records will share.
| Example | QuickBooks: keep | QuickBooks: remove | HubSpot: keep | Shared email |
|---|---|---|---|---|
| Client A | Harbor Dental Group | The office manager’s first and last name | Billing contact at Harbor Dental Group | billing@harbordental.example |
| Client B | Pine Street Legal | Pine Street Legal LLC | Billing contact at Pine Street Legal | ap@pinestreetlegal.example |
Keep the customer with the correct company name and the most invoice history. Skip pairs that are separately billed locations.
4. Note both balances. Write down each QuickBooks customer’s open balance before you merge.
5. Merge in QuickBooks Online. Intuit’s steps:
- Go to All apps, then Customer Hub, then Customers & leads, and select the Customers tab.
- Open the customer you don’t want to keep.
- Select the dropdown next to Edit, then Merge contacts.
- Change the Display name to exactly match the customer you keep. Intuit says “The names must be identical.”
- Select Save, then Yes.
Check first that neither customer has sub-customers, which include projects. The removed customer becomes inactive and its transactions move to the one you keep.
6. Put the shared email on the kept QuickBooks customer.
7. Merge in HubSpot. Go to CRM > Contacts and open the contact you keep. In the left panel, open Actions, select Merge, choose the other contact, pick the values to keep, and click Merge. The kept contact’s email stays primary, so it must be the shared email. You need Merge or Super Admin permissions.
How do you turn the sync back on without bringing them back?
HubSpot says “Saving the sync will restart the initial sync,” so finish the merge list first.
- Associate each billing contact with its company. The new QuickBooks customer is then named after the company.
- Pick one billing contact per company. HubSpot recommends this “to avoid sync errors.” Other contacts at that company will fail to sync.
- Leave “Display Name ← Associated Company Name” on in the contact sync’s Mapped fields if you bill companies.
- Keep the HubSpot-to-QuickBooks filter. HubSpot sets “Create date is after [today’s date]” “to prevent unnecessary contacts from syncing from HubSpot to QuickBooks Online.”
- Choose the data conflict setting. In Data conflict resolution, pick Use QuickBooks Online if your bookkeeper owns customer details, or Use HubSpot data if sales does.
- Turn it on. On the CRM syncs tab, click More > Turn on sync, then Sync now.
HubSpot invoices for existing clients should use the contact that came from QuickBooks. HubSpot says an invoice fails when “the contact on the invoice doesn’t share the email address of the customer in QuickBooks.”
What are your options?
| Option | Good for | Watch for |
|---|---|---|
| Two-way contact sync, one billing contact per company | Service firms that bill companies | Extra contacts at a company show as failing |
| One-way sync, QuickBooks to HubSpot | A bookkeeper who sets up every customer | Invoices from HubSpot fail until the customer exists in QuickBooks |
| Bring in an outside team (Fixes & connections) | Hundreds of pairs, or duplicates that keep coming back | Needs admin access to both apps and time with your bookkeeper |
How do you check it worked?
- Balances. Each kept QuickBooks customer shows the sum of the two balances you noted.
- Sync status. HubSpot sends changes within a few minutes and checks QuickBooks every 30 minutes. After that, Failing on the CRM syncs tab should hold only the extra company contacts you expect.
- Invoices. The next HubSpot invoice for an existing client syncs to the kept QuickBooks customer.
- No new pairs. A week later, export the Customer Contact List again and sort by email. A repeated email means a cause is still active.
Merging changes customer reports for past periods, so ask your accountant first if those periods are closed. For a wider check of the books, run the free QuickBooks Online cleanup checker. If store sales also post to QuickBooks, see why Shopify orders stop syncing to QuickBooks Online.
FAQ
Does the HubSpot QuickBooks sync match customers by name? For contacts, HubSpot’s data sync matches on email by default. Name or domain matching applies to companies.
Can I undo a merge in QuickBooks Online or HubSpot? No. Intuit says the customer merge “can’t be undone,” and HubSpot says unmerging is not possible.
Why do some contacts say the display name is a duplicate? HubSpot says “Display Name fields must be unique in QuickBooks Online,” and it names each new customer after the contact’s company. The second contact from that company fails.
Sources
- Connect HubSpot and QuickBooks Online, HubSpot Knowledge Base,
- Connect and use HubSpot data sync, HubSpot Knowledge Base,
- Troubleshoot the QuickBooks Online data sync integration, HubSpot Knowledge Base,
- Merge records, HubSpot Knowledge Base,
- Merge duplicate customers in QuickBooks Online, Intuit QuickBooks,
- Create a mailing list using the contact list report, Intuit QuickBooks,
