Skip to content

Duplicate customer suggestions

Torqueflow scans your customers nightly and flags pairs that look like the same person or business. The suggestions queue lives at Customers → Duplicate suggestions and lets you merge or dismiss each pair without hunting for duplicates yourself. This guide explains what triggers a suggestion, how the confidence levels work, and how to use the queue.

This is the automatic layer that sits on top of the manual merge tool. If you have a duplicate the system has not flagged, you can still merge manually — see “Merging duplicate customers”.

  • You have the customers.merge permission. Owner and Manager roles have this by default.
  • The duplicate-suggestions feature is enabled for your organisation. We roll this out organisation by organisation. While it is off, the Duplicate suggestions page and nav entry are hidden.

Go to Customers → Duplicate suggestions. The page shows pending suggestions sorted high confidence first.

  • Use the confidence filter at the top to narrow to High, Medium, Low, or All.
  • Click “What do these mean?” next to the filter for a plain-English breakdown.
  • Use the Column order toggle in the top right to flip whether the surviving candidate is shown on the left or whether the older candidate is shown on the left. Your choice is remembered for next time.

Click Preview on any row. The row expands in place and shows a side-by-side snapshot of both customers — name, company, contact details, address, plus how many work orders, invoices, vehicles, and messages each has.

This is read-only. Press Esc or click another Preview button to collapse.

  1. Click Review & merge on a pair you want to combine.
  2. The merge dialog opens at step 2 (the candidates are pre-selected for you). Pick the survivor, reconcile any conflicting fields, confirm.
  3. See “Merging duplicate customers” for the full review-and-confirm flow.

The column-order toggle stays interactive until you make your first field choice; then it locks for the rest of this merge so the candidates do not flip under you.

If a suggestion is wrong (genuinely different people, or a family sharing contact details), click Dismiss….

  1. Pick a reason from the dropdown:
    • “These are genuinely different people”
    • “Family members sharing a phone / email”
    • “I’ve checked - not a duplicate”
    • “Other” (free-text required)
  2. Confirm.

A toast appears with a 5-second Undo link if you misclicked. Otherwise the pair is removed from the queue and will not be flagged again on future scans.

When the filter shows at least one high-confidence suggestion, a Merge all high-confidence (N) button appears.

  1. Click it. The confirmation dialog shows up to 10 pairs that will be merged, with the survivor for each pre-selected.
  2. Read the list to spot anything that looks wrong.
  3. Type the confirmation token into the input — MERGE in English, SCAL in Polish, UNEȘTE in Romanian.
  4. Click Merge N customer pairs.

A result toast tells you how many merged successfully and how many were skipped (with reasons — usually because someone else was working on the same customer).

If more than 10 high-confidence pairs are showing, the button merges the top 10 — click again to do the next batch.

Each pair you action either becomes a single merged customer (Review & merge / Bulk merge) or is removed from the queue (Dismiss). Future scans skip pairs you have dismissed or merged. The queue counter on the navigation entry decreases as you work through it.

The system looks for a few signals on each customer pair. The strongest signal wins.

High confidence means one of:

  • Same phone number (after normalisation).
  • Same landline number.
  • Same email address (case-insensitive).

Medium confidence means one of (and no high-confidence signal):

  • Same external customer number (a Techman import number, for example).
  • Same surname plus same postcode.
  • Similar company name (about 70% match or better, both records marked business).

Low confidence means one of (and no medium-confidence signal):

  • Similar full name (about 60% match or better, accent-insensitive — so “Łukasz” matches “Lukasz”).

Each row shows the specific signals it matched on, with strong signals as solid chips and probabilistic signals as outline chips.

  • A full scan runs every night at 03:00 UTC.
  • The queue also refreshes shortly after a customer is created, edited, or imported. Bulk imports trigger a single org-wide rescan rather than thousands of small ones, so expect new suggestions to appear within a couple of minutes of an import finishing.
  • This costs no credits. The detection runs on built-in database tools — no AI, no external service.
  • Suggestions you dismiss are kept for 90 days for audit, then pruned. Stale suggestions are pruned 30 days after going stale.
  • A merged or dismissed pair is never re-flagged — once you have decided about it, it stays decided.
  • Phone-one-digit-off matching was retired during testing because it produced too many false positives.

Problem: I do not see Duplicate suggestions in my customer navigation. Cause: Either you do not have the customers.merge permission, or the feature has not been enabled for your organisation yet. Fix: Check with your Owner. If permissions are right, the feature is being rolled out and will appear automatically when enabled for you.

Problem: The list says “No duplicate suggestions” but I know I have duplicates. Cause: The duplicates do not match any of the signals — for example, two records with the same person but a different phone, email, surname, and postcode. Or the suggestions have already been generated and you previously dismissed them. Fix: Use the manual merge tool instead. See “Merging duplicate customers”.

Problem: “This suggestion is no longer valid - the customer has been merged elsewhere”. Cause: Another user merged one of the candidates between when you opened the page and when you clicked Review & merge. Fix: Refresh the page. The stale row will be removed automatically.

Problem: Bulk merge says “Merged X of Y - Z skipped” with errors. Cause: Some pairs went stale during the batch (someone else was working on them at the same time). Fix: The successful merges are done. Click Merge all high-confidence again to retry the skipped ones.

  • customers.merge is required to view, action, or dismiss suggestions. Held by Owner and Manager.