Syncing contacts vs clients: getting the data model right
The difference between clients and contacts, and why getting that data model right is the key to clean syncing and reliable records.
Much of the mess in a practice's records comes down to one confusion: treating clients and contacts as the same thing. They are not, and the distinction matters enormously once you start syncing data between systems. Getting the model right at the outset prevents a tangle that is painful to unwind later.
Clients and contacts are different things
A client is the entity you do work for. That might be a company, a trust, a partnership or an individual. A contact is a person you communicate with about that work. The two are related but separate, and the relationship between them is one-to-many.
- A client is the business or entity engaging your services.
- A contact is a person associated with that client.
- One client can have several contacts: a director, a bookkeeper, an office manager.
When systems blur these together, you get records where a person and a business are mashed into one entry, which makes everything downstream harder.
Why the distinction matters for syncing
Syncing works best when each system agrees on what a record represents. If one tool models a client as a company while another treats every email address as a separate client, matching them is fraught.
Common symptoms of a muddled model
- Duplicate clients created because each new contact spawned a new entry.
- Orphaned contacts not linked to the client they belong to.
- Lost history when communication attaches to a person rather than the client.
Getting the model right
A clean model treats the client as the central record and contacts as people who hang off it. This mirrors how a practice actually works: you serve the entity, and you talk to its people.
Let identifiers anchor the client
Stable identifiers such as ABN and ACN belong to the client entity, not to a contact. Anchoring clients on these values keeps matching reliable even when the people you deal with change.
Attach contacts, do not duplicate clients
When a new person enters the picture, add them as a contact on the existing client rather than creating a fresh client record. This single discipline prevents most duplication.
Let one contact wear many hats
The same person sometimes relates to several clients: an external bookkeeper who looks after three businesses, or a director who sits across a family group of entities. A sound model lets that contact connect to each relevant client rather than forcing a separate, disconnected copy for every relationship. When the person's email or phone number changes, you update it once and every connection stays current, instead of hunting through duplicate records to fix the same detail repeatedly.
Finye uses exactly this structure: a unified client list with contacts attached to each client. When it syncs with Xero, that clear separation is what allows records to match cleanly rather than fragmenting into duplicates.
Practical takeaway: model the client as the central, identifier-anchored record and attach people to it as contacts, so that when you sync with Xero your records match cleanly instead of multiplying into duplicates.