Customer / Site / Asset Auto-Matcher: Stop Creating Duplicate Records on Every Call
Turn an incoming service request into ranked match candidates for the right customer, the right site, and the exact asset — so a dispatcher confirms a match (or deliberately creates a new record) before the work order is linked, instead of spawning a fourth 'Acme Corp' and a third copy of the same building.
A web tool where a dispatcher pastes in an incoming request, the app fuzzy-matches it against your existing customers, sites, and assets and shows ranked candidates, the dispatcher confirms the correct customer-site-asset (or deliberately approves creating a new record after a near-duplicate warning), the work order is linked to the chosen records, and the linked work orders export as a clean CSV in the columns your system of record expects.
Before you start
- A Supabase account (free)
- A Vercel account (free)
- A Resend account (free)
- Your customer list as a CSV/sheet
- Your site/location list as a CSV/sheet
- Your asset/equipment list as a CSV/sheet
- Your address and naming conventions (suite numbers, DBA names)
- Claude Code or any AI coding agent
The problem this kills
A request comes in — a phone call, an email, a form — and whoever takes it has thirty seconds to find the customer in your system. They can't quite find "Acme Property Group," so they type a new one. Now you have "Acme Corp," "Acme Property Grp," "ACME PROPERTIES," and "Acme (do not use)." The same building is in there three times because one person wrote "123 Main St Ste 200" and another wrote "123 Main Street #200." And the rooftop unit that's been serviced six times? Nobody can tell which asset record is the real one, so the history is scattered across all of them.
Duplicate customer, site, and asset records are the quiet tax on every field-service operation. They wreck reporting, split service history, send invoices to the wrong contact, and make warranty and PM tracking a guessing game. The fix isn't a stricter rule that people will ignore at 8 a.m. on a busy Monday — it's a tool that does the searching for you, ranks the likely matches, and makes a human confirm the right one (or knowingly create a new record) before anything gets linked. You don't need to be a developer to build it.
What you'll build
A simple internal web tool for work-order intake. A dispatcher pastes or types the incoming request — caller name, company, address, phone, and what's wrong. The tool fuzzy-matches that against your existing customers, sites, and assets and shows ranked candidates for each, scored on name, address, and phone similarity, smart about the things that trip people up: suite/unit numbers, "DBA" (doing-business-as) trade names, abbreviations like St/Street, and re-ordered words. The dispatcher sees the top candidates side by side, picks the right customer, then the right site under that customer, then the specific asset on that site. If there's genuinely no match, they can create a new record — but only after the tool warns them about near-duplicates ("this looks 92% like an existing site") so a new record is a deliberate choice, not an accident. Once confirmed, the work order is linked to that customer-site-asset, and the day's linked work orders export as a clean CSV in the exact columns your system of record expects.
What's inside the Implementation Plan
The downloadable plan is a step-by-step file you paste into an AI coding agent. It opens by interviewing you about your business — how requests arrive today and who handles them, what your customer/site/asset lists look like and where they live, your real field names and the exact shape of your data (account numbers, site codes, asset tags/SKUs), how you write addresses and handle suites and DBA names, your typical and peak request volumes, and the messy edge cases (a tenant calling about a landlord's building, one address with twenty units, an asset that moved sites) — and then it tailors the data model, the matching rules, and every later step to your answers. This is not a generic template; the agent reflects a short spec back to you and waits for your thumbs-up before it builds anything. From there it walks the agent through importing your three lists, the address/name normalizer, the fuzzy-match-and-rank engine, the confirm-the-match screen with near-duplicate warnings, the create-new-record path, the work-order linking, and the CSV export — each step with a ready-to-copy prompt. There's also a fallback so you can build and use the whole thing today even with no integration to your field-service software.
The governance it includes (this is the point)
This tool decides which records your work orders attach to, so it ships with the controls a real operation needs: login so only your team can use it, row-level security so you only ever see your own organization's customers, sites, and assets, a complete audit trail of who matched, who created a new record (and why), and when, a hard human-in-the-loop gate so the AI only suggests matches — a person confirms the customer-site-asset or approves a new record before anything is linked — and duplicate guards built on a normalized address + customer key so the same site can't be silently created twice and the same request can't be processed twice.
Who it's for
Dispatchers, work-order intake staff, inventory and asset controllers, and service managers at HVAC, plumbing, electrical, refrigeration, restoration, property-management, and facilities operations — anyone who is tired of a customer list riddled with near-duplicates and service history split across three copies of the same building. If you can describe how your team writes a customer name and an address today, you can build this.
You've got this — start with the plan, paste the first prompt, answer the interview, and you'll watch your first request get matched to the right customer, site, and asset the same weekend.