Integration guides
QuickBooks "Duplicate Name Exists" error: why automations fail to create customers
Flow Mesh · · 7 min read
Your automation has worked for weeks: a deal is won in the CRM, a customer is created in QuickBooks Online, an invoice follows. Then one run fails with "Duplicate Name Exists Error" or "The name supplied already exists", sometimes with the code 6240. Nobody can see a customer with that name in QuickBooks, and the invoice never goes out.
The direct answer: QuickBooks Online requires every display name to be unique across customers, vendors and employees combined, and that includes inactive records. Your flow tried to create a customer whose name is already taken somewhere in that shared list. The fix is to make the flow search before it creates, store the QuickBooks ID once a match is found, and decide in advance how to handle two genuinely different clients with the same name.
Why the error happens
Intuit's Customer API reference states that a customer's display name must be unique across all other customer, employee and vendor objects. A QuickBooks moderator confirmed the same rule for ordinary users in an Intuit Community thread: QuickBooks Online does not allow two customers with the same name.
So the error is not a bug in Zapier, Make or your sync app. QuickBooks is refusing the record, and the integration is passing the refusal on. Third-party sync vendors document the same cause; MyWorks, for example, lists error 6240 against this exact situation.
The five usual culprits
When nobody can find the duplicate, it is almost always one of these:
- An inactive customer. Someone "deleted" the client years ago. In QuickBooks Online that makes the customer inactive, and inactive customers still hold their name. They are hidden from the normal customer list unless you choose to include inactive ones.
- A vendor with the same name. Common in professional services: a firm you refer work to, or a supplier who also became a client. A law firm that pays a barrister's chambers and also bills it hits this.
- An employee with the same name. A new client called Sarah Martin when you already employ a Sarah Martin. It happens more often than you would expect in a 30 person firm.
- A near-identical name. "Smith & Co" and "Smith and Co", or a trailing space copied from a web form. Some sync vendors, such as YoPrint, also report that ampersands in names can trigger this error.
- The automation's own search missed it. The flow searched, found nothing, then tried to create. That usually means the search looked in the wrong place, matched on a different field, or skipped inactive records.
That last one deserves its own section, because it is why a flow that "already checks for duplicates" still fails.
Why your find step does not find it
Most automation platforms offer a "find customer" step, often with an option to create the customer if none is found. In theory that prevents duplicates. In practice it falls short in three ways.
It searches customers only. A find-customer step looks in the customer list. The name it collides with may belong to a vendor or employee, which the search never checks.
It may skip inactive customers. Depending on how a platform queries QuickBooks, its search may return active customers only. Sync vendors such as MyWorks tell users to check inactive customers when this error appears for exactly that reason. If your platform's search step leaves inactive records out, a customer someone archived in 2022 is invisible to it but still blocks the name. Test this with a known inactive customer before you trust the step.
It matches on the wrong field. If the search matches on email but the create step fails on the display name, a client with a new email address and an old name will pass the search and fail the create.
The combined "find or create" option can also behave badly on its own. In one Zapier Community thread, a user's find-or-create step threw the duplicate error whenever a match already existed. The fix a Zapier solution partner suggested, which the user confirmed worked, was to split it: a find step with "create if not found" turned off and "continue if not found" turned on, a filter that only continues when nothing was found, and a separate create step.
How to fix the failed run today
For the record that is blocking you right now:
- Search QuickBooks with inactive records included. In the customer list, change the filter to include inactive customers. Then check vendors and employees for the same name.
- If it is the same client, reactivate the existing customer and point the automation at it rather than creating a new one. Merging two customers in QuickBooks is possible but permanent; ask your bookkeeper first.
- If it is a different party, make the new display name distinct. The Intuit moderator in the thread above suggests adding a distinguishing character; a clearer convention for a firm is a suffix such as the city or the client number, for example "Martin, Sarah (Lyon)".
- Replay the failed run once the name is free or the link is fixed. Check first that no earlier step in the same run already sent an email or created something, so you do not do it twice.
Check with your accountant before reactivating, renaming or merging records that already have transactions. Changing a name on a customer with invoices against it changes how it appears on reports.
How to stop it happening again
The durable fix is in how the flow is built, not in renaming clients one by one.
Store the QuickBooks ID, not just the name
The first time a client is created or matched in QuickBooks, write the QuickBooks customer ID back to the client record in your CRM or practice management system. Every later step (invoices, payments, updates) looks the client up by that ID. Names change and collide; IDs do not. This is the single biggest improvement you can make, and it is covered in more depth in our guide to syncing data between apps without creating duplicates.
Search properly before you create
Build the create path in this order:
- If the CRM record already holds a QuickBooks ID, use it and skip everything else.
- Otherwise, search QuickBooks customers by the display name you are about to use, including inactive ones if your platform allows it.
- If found, save the ID to the CRM and continue.
- If not found, create the customer, and if the create fails with a duplicate error, stop and alert a person rather than retrying.
Use a naming convention for the display name
Decide once how display names are built, and have the automation build them the same way every time: trimmed, with consistent "&" or "and", and with a rule for clashes such as adding a client number. Write the convention down where your bookkeeper and whoever maintains the automation can both find it.
Route the error to a person
A duplicate name is a decision for a human: same client or different client? Make sure the failure reaches someone who can answer it the same day, instead of sitting in a run history nobody reads. Our article on monitoring Zapier and Make automations covers alerts that actually get seen.
A quick reference
| Situation | What to do |
|---|---|
| Same client, customer is inactive | Reactivate it, store its ID in the CRM |
| Same client, active, flow did not find it | Fix the search step, store the ID |
| Different party, name used by a vendor or employee | Give the customer a distinct display name |
| Two different clients with identical names | Apply your naming convention (city, client number) |
| Error keeps recurring on new clients | Rebuild the flow around stored IDs and a find-then-create path |
If you are connecting a CRM and QuickBooks for the first time, our guide to integrating a CRM with accounting software covers source of truth and one-way versus two-way sync before you build.
How Flow Mesh helps
Every engagement starts with a first call, then a stack audit scoped in writing before it starts. It gives a verdict on every tool you pay for and a written scope for the integrations worth fixing, including how client records should match between your CRM and QuickBooks. Any rebuild is quoted in writing after the audit and runs inside your own accounts.
Key takeaways
- QuickBooks Online requires display names to be unique across customers, vendors and employees, including inactive records.
- The usual hidden duplicates are inactive customers, vendors or employees with the same name, and near-identical spellings.
- A find-customer step may miss vendors, employees and inactive customers; test it before you trust it.
- Store the QuickBooks customer ID in your CRM after the first match and look clients up by ID from then on.
- Treat a duplicate-name failure as a human decision and route it to someone who can make it the same day.