Data Hygiene is where Nagaris surfaces things worth tidying up in your data. It has two tabs:
Suggestions - possible duplicate contacts found by an automatic scan, with a one-click merge.
Conflicts - clients whose record in Nagaris disagrees with a linked integration record, field by field. Today this covers clients linked to BGL (CAS 360 and Simple Fund 360).
Only staff can see Data Hygiene; client-portal users don't have access.
Click Data Hygiene in the sidebar, under the same section as your other work queues. The link shows a badge with the combined number of open conflicts and suggestions, so you can tell there's a backlog before you open it. It opens on Suggestions by default; switch to Conflicts with the tab at the top.
Nagaris periodically scans your contacts and groups the ones that look like the same person, based on matching names and shared email addresses. Each group appears as one row:
Suggestion - the kind of finding, for example Duplicate contacts.
Contact - the name the copies share, plus a short summary of why they matched, for example same name ยท shares [email protected].
Copies - how many contact records make up the group.
Actions - what you can do with that row.
Expand a row with the arrow to see every contact in the group, each shown with its avatar, PID and what client or client group it's currently attached to. A shield on the avatar marks a contact that has completed identity verification, and a person badge marks one linked to a client portal account, the same markers you see on avatars everywhere else in Nagaris. Since a duplicate pair often differs on exactly this, the badges are often the fastest way to tell which copy is the real record. The contact Nagaris would keep is marked Keeping.
From a row you can:
Merge - combine the group into the contact marked as the survivor. Merging runs in the background, so the row shows Merging... until it's done; the page polls automatically and updates once it finishes.
Not a Duplicate - dismiss the suggestion. Nagaris stops flagging that group on future scans.
Merge All Clean - above the table, this queues every open suggestion in your organisation at once, not just the current page.
Switch to the Dismissed view to see suggestions you've marked as not a duplicate. Each keeps the reason it was dismissed, and you can click Undo to put it back in the open queue.
If the last scan found nothing to tidy up, the tab shows a confirmation instead of an empty table.
The Conflicts tab lists every client with at least one open conflict:
Client - links to that client's own conflicts view.
Integrations - a badge per linked integration showing how many fields disagree, for example BGL CAS360 (3).
Unresolved - the count of conflicts still awaiting a decision.
Last Changed - when the disagreement was last detected as different. This stays at an old date for a conflict that hasn't changed since it appeared, since detection only writes something when a value actually changes.
Any client linked to BGL also gets a Data Hygiene tab on their client page, badged with its open conflict count. Opening it (or the Conflicts list) shows a table with:
One row per field that disagrees, for example ABN, company name or incorporation date.
A column for your Nagaris value (labelled Nagaris / XPM if your organisation also syncs with Xero Practice Manager).
One column per linked integration record. A client linked to two BGL records gets two columns, each showing the record's name so you can tell them apart.
If a client has no conflicts at all, the tab shows a confirmation that everything tracked on the client matches the linked integration records.
Each value that can be applied has its own Use This button, so you pick the value you want rather than a direction:
Use This under your Nagaris value pushes it out to the disagreeing integration record(s). If your organisation has automatic BGL sync turned off, this queues the change instead of sending it immediately.
Use This under an integration's value pulls that value into the client's Nagaris record.
Ignore leaves both values as they are and stops flagging that particular disagreement.
Some fields only support a subset of these actions. For example, a field BGL doesn't let you write to only offers pulling into Nagaris and ignoring, with no push option.
Once a conflict is resolved, its row shows a status badge: Push Pending, Pulled to Platform, Pushed to Integration, Ignored or Auto-resolved (the values matched again on their own), along with who resolved it and any notes. Resolved rows are hidden by default; use Show Resolved at the bottom of the table to bring them back.
Pulling a value updates the client's record straight away, so other tabs and the page header reflect it immediately.
Pushing a value doesn't touch Nagaris, and ignoring touches neither side.
If a push fails, for example BGL rejects an invalid value, the row shows the error message from the last attempt.
Merging a duplicate-contact suggestion is separate from conflict resolution: it combines contact records within Nagaris and doesn't push or pull anything to or from a linked integration.