The Direction Problem: Which System Should Create a Client First?
Duplicate client records usually start with a workflow question, not a data question. Decide where a client is born — and the sync stops fighting you.
Most duplicate client records in a firm running Xero don't come from carelessness. They come from an unanswered question: when a new client arrives, which system creates the record first?
If you've never answered that question deliberately, your practice has answered it by accident — and the answer changes depending on who's at their desk that morning. A partner sets up the Xero file so they can start the ledger. A bookkeeper adds the contact to your accounting client management software so they can raise a job. An admin creates a portal record to send the engagement letter. Three people, three systems, three slightly different spellings of the same client. The two-way sync then dutifully copies all three around, and now you have a mess that takes an afternoon to untangle.
This is a workflow problem wearing a data problem's clothes. Fix the direction and most duplicates never get created in the first place.
Why Xero is the wrong place for a client to be born
Xero is excellent at what it does: ledgers, reconciliation, financial reporting. But a Xero contact is a lightweight thing. It has a name, maybe an ABN, some contact details. It doesn't know whether the client is onboarded, what services they've bought, which jobs are open, who the responsible partner is, or whether the engagement letter is signed.
When Xero becomes the first place a client exists, you inherit two problems. First, the record is thin — you'll re-enter half the details later anyway. Second, and worse, Xero contacts get created constantly for reasons that have nothing to do with client onboarding. A one-off referral, a supplier that's also a client, a trust and its individual trustees as separate contacts. Let all of those flow unchecked into your client accounting management, and your client list bloats with entries that aren't really new clients at all.
The cleaner model is the reverse: your account practice management software owns the client list, and Xero receives clients from it — not the other way around. The practice system is where a client is born, because that's where onboarding, engagement, jobs and billing all live. Xero gets the ledger; it doesn't get to decide who your clients are.
Pick one front door
The single most effective anti-duplicate rule is boring: every new client enters through one front door, every time. No exceptions for the partner who's in a hurry. No exceptions for the file that "just needs a quick ledger set up first."
In practice, that front door should be your practice management system, and it should be the step that:
- Captures the client's legal name, ABN/ACN and entity type properly, once
- Checks against existing records before the record is saved
- Kicks off onboarding, the engagement letter, and the initial jobs
- Then pushes a matched, verified contact into Xero
When the direction is fixed, the sync has a clear job: keep an existing pair of records aligned. It's no longer being asked to guess whether two similar-looking contacts are the same entity.
Match on identifiers, not names
Names are the enemy of clean matching. "Smith Family Trust", "The Smith Family Trust" and "Smith Family Trust (ATF)" are the same client and three different strings. Trading names differ from legal names. People change their surname. If your matching logic leans on names, it will let duplicates through and occasionally merge two clients that shouldn't be merged.
Match on the ABN and ACN instead. These are stable, unique identifiers that don't care how someone typed the name. Finye checks incoming records against existing ABNs and ACNs at the point of creation and again at the point of sync, so a client that already exists gets flagged before a second record is ever written — rather than discovered three months later during a clean-up.
The workflow that prevents duplicates
Here's the sequence a duplicate-resistant practice follows for every new engagement:
- Create the client once, in the practice system. Enter the legal name and identifiers carefully. This is the only moment the record is born.
- Let the system check for a match. Before saving, it searches existing records on ABN/ACN. If there's a hit, you're editing an existing client — not creating a new one.
- Run onboarding from that single record. Engagement letter, portal access, document requests and the first jobs all attach to it.
- Push to Xero, matched. The sync links your client to the correct Xero contact — creating one only if none exists — so both systems point at the same entity from day one.
- Keep the direction consistent forever after. Ongoing changes to name, address or contact details flow through, but new clients only ever originate from the front door.
None of this requires heroics. It requires agreement. The technology can enforce the match check, but the team has to agree that the practice system is where clients begin.
What to do about the duplicates you already have
Fixing the direction stops new duplicates; it doesn't clean up the ones already in your system. For that, run a short recurring audit — 30 minutes a quarter is enough for most firms. Sort your client list by ABN and by similar names, identify pairs, decide which record is the survivor, and merge. Do it little and often and it never becomes the dreaded afternoon-long project.
The two habits work together. The quarterly audit clears the backlog; the fixed front door stops the backlog rebuilding. Firms that do only the audit find themselves running it forever with no improvement, because the underlying workflow keeps manufacturing new duplicates faster than they can merge them.
The payoff is trust in your own data
Clean, single client records aren't a tidiness fetish. They're the foundation everything else in the practice stands on. Your compliance calendar is only complete if every client appears exactly once. Your WIP and billing are only accurate if time isn't scattered across two versions of the same client. Your reporting on client numbers, revenue per client and growth only means something if each client is counted once.
Duplicate records quietly erode all of that. And the fix isn't a clever tool or a better sync — it's a decision about direction. Your client accounting software should own the client list, Xero should own the ledger, and a new client should only ever be born in one place. Get that right, and the duplicates mostly stop before they start.