Skip to main content

Fixing and Preventing Duplicates in Your QuickBooks Sync

J
Written by Joseph Kibe

The QuickBooks sync is built to do one job well: keep a clean, one-to-one copy of your Eano financials on the QuickBooks side. When it works, every client shows up once, every invoice lands under the right job, and reconciliation is boring — which is exactly what you want from accounting.

But every so often a team opens QuickBooks and finds the same client listed twice, or a job’s invoices scattered across two customer records. It feels like the sync misfired. Almost always, though, it’s not a glitch — it’s the sync faithfully following a tiny inconsistency in the data it was handed. The good news: once you understand why duplicates form, they’re easy to prevent, and the ones you already have are straightforward to clean up.

This article covers the duplicates teams actually run into — customers, invoices, expenses, and the way projects fit into all of it — what causes each one, how to fix it, and the handful of habits that keep your books tidy for good.

The One Thing to Understand First

Before an invoice can go to QuickBooks, Eano has to decide which QuickBooks customer it belongs to. How it decides is the single most important thing to understand here, because nearly every duplicate traces back to it — and it now works one of two ways depending on your settings.

Matching on contact details. Eano identifies your client the same way it does internally: by email and phone number. Names get typed differently every time; a phone number doesn’t. So Eano looks for a QuickBooks customer whose contact details line up with your client’s, and attaches the invoice there. This is the better behavior, and it’s what you get in the two most common setups:

  • Project sync is turned on, or

  • Project sync is off and your invoice customer name mapping is set to Client name

Matching on name. If project sync is off and you’ve set the customer name mapping to something other than the client’s name — the project address, the project name, the project ID, or the client’s company — Eano falls back to matching by exact name. That’s not an oversight. If you’ve asked for customers to be named after the project, then every project has to become its own customer in QuickBooks, because QuickBooks only lets an invoice hang off a customer. Eano now warns you about this right in the settings when you pick one of those options: choosing it will create a new client in QuickBooks for every project. That’s the trade you’re making in exchange for seeing the address on the invoice.

How contact matching decides

When Eano is matching on contact details, it’s deliberately strict, and it errs toward making a new record rather than guessing wrong:

  • Email and phone both match — same person. Use that customer.

  • One matches and the other is blank on either side — same person. Use that customer.

  • One matches but the other is filled in and different — Eano treats this as a genuine conflict and creates a new customer.

That last one catches people out, so it’s worth an example. If QuickBooks already has [email protected] with the phone number 212-555-1000, and Eano syncs a client with [email protected] but 617-555-2000, you get a second record. The data actively contradicts itself, and Eano would rather hand you two visible records than staple one client’s invoices onto what might be a different person.

The practical upshot: keep your client email and phone consistent between the two systems, and duplicates mostly stop happening on their own.

Why the Sync Errs Toward a Duplicate

It’s worth saying plainly: when the sync isn’t completely sure two records are the same thing, it deliberately chooses to create a new one rather than guess. That’s by design, and it’s the safer choice for your books.

Think about the alternative. If Eano tried to be clever and merged records on a hunch — assuming “B Smith” and “Bob Smith” must be the same person, or quietly attaching an invoice to a customer that only looked like a match — it would eventually be wrong. And when accounting software is wrong about that, it doesn’t fail politely: it staples a client’s invoice onto the wrong customer, or folds two real, separate clients into one. Untangling that after the fact is genuinely painful, and some of it can’t be undone.

A duplicate, by contrast, is a tidy problem. Nothing is lost, nothing is overwritten, and the fix — merging two records you can plainly see — is one you control and can do on your own schedule. Eano would much rather hand you a clean, visible “there are two of these, pick the one you want” than silently make a decision about your records that turns out to be wrong. Having one too many is annoying for an afternoon. Having Eano “randomly” delete or reassign something you needed is a much worse day. So when in doubt, the sync keeps your data and lets you be the one to consolidate.

Duplicate Customers — The Most Common One

This is the duplicate teams hit most. A client you’ve billed before suddenly appears a second time in QuickBooks, and new invoices start landing on the new copy instead of the original. Here’s what tends to cause it.

The contact details didn’t line up. When Eano is matching on email and phone, a client whose phone number is recorded one way in Eano and another way in QuickBooks reads as a conflict, not a match — and a conflict means a new record. A client with no email or phone at all in Eano gives the matcher nothing to work with, so it can’t confidently reuse anything.

The name was written differently the second time. This one applies when you’re on name matching — project sync off, with the customer name mapped to something other than the client’s name. An address typed with “Street” once and “St” the next time, a company name with and without “LLC,” a client entered as “Bob Smith” on one project and “Robert Smith” on another — any of these creates a fresh customer, because the names don’t match character-for-character. To QuickBooks, “120 W Oak Ave” and “120 West Oak Avenue” are two completely different customers.

You’re naming customers after the project on purpose. If you’ve set the customer name mapping to the project address or project name, a new customer per project isn’t a malfunction — it’s the documented cost of that setting, and Eano warns you about it when you choose it. If that’s not what you want, switch the mapping to Client name, or turn on project sync, and Eano will start matching on contact details instead.

You changed which field becomes the customer name. If you switch that setting after you’ve already been syncing, new invoices start naming customers under the new scheme while the old ones keep their original names. The same job can end up represented one way under the homeowner’s name and another way under the address, with invoices split between them.

The original customer was made inactive in QuickBooks. This one surprises people. The sync only matches against active QuickBooks customers. If someone deactivated or hid the original customer record over in QuickBooks, the matcher can’t see it anymore — so the next invoice creates a brand-new active copy instead of reusing the one you tucked away.

How to fix duplicate customers

The cleanup happens on the QuickBooks side, and it’s a merge:

  1. In QuickBooks, decide which record is your “real” one — the survivor. Pause on this for a second, because merging in QuickBooks can’t be undone. Is the job better tracked under the homeowner’s name or the address? Pick the one you’ll want to keep using.

  2. Merge the duplicate into the survivor. QuickBooks moves all the history over and collapses them into one record.

  3. Going forward, Eano matches new invoices to that surviving record — as long as the name Eano sends matches it. So make the survivor’s name line up with how Eano is set to name customers (see the habits below).

If a customer was duplicated because the original got deactivated, reactivate the original first, then merge the stray copy into it.

Duplicate Invoices and Invoice Numbers

Invoices are handled more protectively than customers, so true duplicate invoices are rare. Eano keeps a private link between each Eano invoice and its QuickBooks counterpart. When you edit an invoice or it syncs again, Eano updates that same QuickBooks invoice rather than creating a new one. Re-sending an invoice to a client doesn’t spawn a second copy in QuickBooks.

There are two things that look like invoice duplicates but aren’t:

An invoice number with a small suffix added. QuickBooks won’t allow two invoices to share the same document number. So if Eano tries to send an invoice whose number already exists in QuickBooks, rather than failing, it appends a short suffix to make the number unique and sends it through. You’ll see something like your original number with a few extra characters on the end. That’s the sync protecting you from a rejected invoice, not duplicating anything — but it’s a hint that two of your invoices share a number worth tidying up.

This usually only comes up for teams that set their own invoice numbers. Reusing or customizing invoice numbers is part of the Multi-Team plan — on other plans, Eano assigns each invoice its own unique number, so collisions are rare. If you’re not on Multi-Team and you don’t see a way to set custom numbers, that’s expected, not a missing feature. When a suffix does show up on a standard plan, it just means the number Eano sent was already used by an invoice created directly in QuickBooks.

An invoice that reappears after you deleted it in QuickBooks. If you delete a synced invoice directly in QuickBooks, you break the link Eano was keeping. Eano no longer sees its counterpart, so a later sync can recreate it. The rule of thumb: don’t delete synced invoices on the QuickBooks side. If you need to back one out, void it instead — voiding preserves the record and the link.

Duplicate Expenses

Expenses flow in two directions, and each has its own behavior worth knowing.

Eano expenses sent to QuickBooks (they arrive as Purchase Orders) are protected the same way invoices are: Eano remembers which Purchase Order belongs to which Eano expense and updates that one on re-sync, rather than piling up new ones.

QuickBooks expenses pulled into Eano are a one-way import, with QuickBooks as the source of truth. The thing to know here is how a re-sync behaves: re-importing isn’t additive — it clears out the previously imported expenses and brings them in fresh from your selected date range. So a re-sync won’t leave you with two of everything, but it will replace what was there, so don’t lean on it casually.

How This Intersects with Project Sync

This is where duplicates get a little less obvious, because projects and customers are tangled together inside QuickBooks itself.

In QuickBooks, the hierarchy runs client → project → invoice: a project is a sub-record nested under a parent client, and an invoice hangs off the project. Eano now sets up that whole chain for you. When project sync is on, Eano takes your job’s primary client, makes them the parent of the QuickBooks project, and the invoice inherits its place from there — which is why the invoice customer name is locked to the project name in your settings when project sync is on. You don’t choose it, because QuickBooks fills it in from the hierarchy.

This is also why the naming setting is locked rather than just hidden: if a project-derived name were used to create customers, you’d end up with QuickBooks clients literally called “123 Main Street.” Letting the project carry the address and the client stay a client is what keeps both lists sensible.

One consequence worth knowing: once a project is linked, its invoices follow the project’s parent customer in QuickBooks. If you later change a client’s email or phone in Eano, that doesn’t re-route invoices on an already-linked project to a different customer — the project’s existing parent wins. That’s intentional, so a contact edit can’t quietly scatter a job’s invoices across two customers mid-project.

That linkage leans on the customer matching described above, which has a few more consequences:

A duplicate customer splits the project tree. If a client gets duplicated, any QuickBooks projects nested under the original stay put, while new activity can create a parallel project under the duplicate. Now the same job’s records are spread across two branches. Fixing the parent — merging the duplicate customers back together — is what pulls the projects back under one roof, so customer hygiene is the lever here too.

Eano tags the projects it creates so it can find them again. When Eano creates a QuickBooks project for one of your jobs, it quietly marks that project so it can always recognize it as belonging to that specific Eano job. Two helpful implications:

  • Renaming an Eano-created QuickBooks project is safe. The link doesn’t depend on the name, so you can rename it to suit your books without breaking anything.

  • Hand-creating a parallel QuickBooks project for the same job is not safe. If Eano goes looking and finds two QuickBooks projects that both look like the same Eano job, it can’t tell which one you meant, so it won’t link automatically — and your invoices may not nest where you expect. If you want a job tracked under a specific QuickBooks project, let the sync own it rather than creating a competing one by hand.

The short version: projects inherit whatever tidiness — or messiness — your customers have. Keep the customer layer clean and the project layer mostly takes care of itself.

Doing a Good Job: Habits That Prevent Duplicates

A little discipline up front saves a lot of cleanup later. None of these is hard; they’re just easy to skip.

Fill in a real email and phone for every client, and keep them consistent. This is the single highest-leverage habit now that matching runs on contact details. A client with a phone number recorded one way in Eano and another way in QuickBooks reads as a conflict and earns a second record; a client with neither field filled in gives the matcher nothing to hold onto. Get these right once at the point of entry and most duplicates never form.

Pick one customer-naming convention and lock it in before your first sync. Decide whether your QuickBooks customers are organized by client name, company, or project address, set it in your invoice sync settings, and then leave it alone. There’s no single right answer — the right one is the one you’ll actually stick with. The damage comes from switching back and forth.

Write names and addresses the same way every time. Choose your conventions — “St” or “Street,” ZIP or no ZIP, with or without “LLC” — and apply them consistently. Make sure the field you’re mapping to (name, company, or address) is actually filled in on the client or project before the first invoice goes out, so the sync isn’t matching against a blank.

Don’t deactivate or delete QuickBooks records that Eano is still using. Hiding a customer makes the matcher blind to it and invites a duplicate. Deleting a synced invoice breaks its link. When you need to clean up, merge customers and void invoices instead of deactivating or deleting.

Let the sync own the records it creates. Avoid hand-building customers or projects in QuickBooks for jobs Eano is already managing — that’s how you end up with two of something that should be one. If you do need to consolidate, do it by merging in QuickBooks, then let Eano match to the survivor.

Clean up by merging, deliberately. When duplicates have already crept in, merge them in QuickBooks into the single record you want to keep. Decide your survivor first, because the merge is permanent — and that one decision is what makes the cleanup actually stick.

A Few Things Worth Knowing

  • Changing your settings never rewrites history. Adjusting the customer-name mapping or any other sync setting only affects records synced from that point forward. Previously synced customers and invoices keep the names they were created with.

  • Only Admins and Owners can connect or disconnect QuickBooks and change sync settings. If the options look grayed out, that’s why.

  • The sync is only as tidy as the data you feed it. Almost every duplicate traces back to the same client or job being described two slightly different ways. Consistency at the point of entry is worth more than any cleanup.

Frequently Asked Questions

Why does the same client show up twice in QuickBooks? Usually a contact-detail mismatch. Eano matches clients by email and phone, and a field that’s filled in on both sides but different counts as a conflict, so Eano creates a new record rather than risk attaching invoices to the wrong person. Check that the client’s email and phone read the same in both systems. (If your customer name mapping is set to something other than the client’s name and project sync is off, matching runs on exact name instead — in which case a slightly different spelling is the culprit.) Either way, merge the two in QuickBooks to consolidate.

My client’s email matches but I still got a duplicate. Why? Because the phone numbers disagreed. A matching email plus a contradicting phone number is treated as a conflict, not a match — the assumption being that two different phone numbers may well mean two different people. Blank fields are fine; it’s filled in and different that triggers it.

I merged two customers in QuickBooks. Will Eano respect that? Yes. After the merge, new invoices match to the surviving record — via its email and phone, or via its name if you’re on name matching. Either way, make sure the survivor’s details line up with what Eano holds for that client.

My invoice synced with extra characters added to its number. Is that a duplicate? No. QuickBooks doesn’t allow two invoices with the same number, so when a number is already in use, Eano adds a small suffix to keep it unique rather than letting the invoice fail. It’s one invoice, not two — but it’s a sign two of your invoices share a base number, which is worth tidying. This mostly comes up for teams on the Multi-Team plan, who can set their own invoice numbers; on other plans Eano assigns unique numbers automatically.

Why doesn’t Eano just clean up duplicates for me automatically? Because the safe way to merge records is to be certain which ones truly match — and only you can be certain. If Eano guessed and got it wrong, it could attach an invoice to the wrong client or fold two real clients into one, which is far harder to undo than merging two records you can see in front of you. Eano keeps your data intact and leaves the final “these are the same, combine them” call to you.

I deleted an invoice in QuickBooks and it came back. Why? Deleting a synced invoice in QuickBooks breaks the link Eano keeps to it, so a later sync can recreate it. Void synced invoices instead of deleting them.

Will re-importing my QuickBooks expenses give me duplicates? No — but it isn’t additive either. Re-importing replaces the previously imported expenses with a fresh pull from your selected date range, so use it deliberately.

A job’s invoices are split across two customers in QuickBooks. How do I fix it? That’s a duplicate customer underneath. Merge the two customer records into the one you want to keep; the projects and invoices nested under them consolidate onto the survivor.

Can I rename a QuickBooks project that Eano created? Yes. The link between your Eano job and its QuickBooks project doesn’t depend on the name, so you can rename it freely. Just don’t create a second QuickBooks project by hand for the same job — that makes the link ambiguous and can stop invoices from nesting where you expect.

Still seeing duplicates you can’t explain? Reach out and we’ll take a look with you. Bring the client or job name and a sense of when the duplicate first appeared, and we can usually trace it back to the moment the data diverged.

Related Articles

Did this answer your question?