241 overwritten customer names, recovered
A broken integration between the field-service system and the accounting software overwrote customer names and imported a foreign customer list. I found every bad record and gave the office a clean way back.
- Headline figure
- 241 verified name overwrites found and corrected
- Built with
- Field-service API, Accounting system data, Next.js, PocketBase
- Client
- Irrigation company, kept anonymous
A sync between the company's field-service software and its accounting system had gone wrong. It had overwritten real customer names and imported roughly 900 customers who did not belong to the business at all. The customer list could no longer be trusted, and neither could anything built on top of it.
Measured on the project. Nothing rounded up, nothing projected.
What I built
A reconcile tool. It checks each customer record against what the bad sync left intact: the email, the phone and the primary contact. For 98% of customers, the record's own primary contact recovers the real name.
The result: 241 verified name overwrites and about 904 foreign records identified. The customer count went from 2,374 down to 1,387 real customers, with no job or revenue lost along the way. $86,120 of lifetime revenue history sat on the corrupted records, and the cleanup protected it.
The field-service API only allows reading, so the fixes went to the office as clean CSV files they could apply, rather than a script quietly rewriting their system.
Mockups with sample data. The way the system works is real.
- Sample data
01 / 01The reconcile tool checks each record against what the bad sync left intact.
Before you can text a customer list, call it, or bill it, it has to be right. This is the unglamorous work that every other system sits on top of.
Built with
- Field-service API
- Accounting system data
- Next.js
- PocketBase
- CSV handoff
The client is kept anonymous. Every number on this page was measured on the project. Photos are stock and screens are mockups with sample data.