When we built the website for Danxiu Winery in 2017, their 500-plus dealer stores went in as one cleaned-up Excel — imported by us. Seven years later the client said: can we maintain it ourselves, instead of coming to you every time a phone number changes?
What the Backend Does
Not a full dealer management system — just three parts: a list, single-record editing, and bulk Excel import. Permissions are per account: two people from marketing can edit, everyone else is read-only.
Import is the heart of it. The template downloads from the backend: 11 columns aligned with the fields from that original sheet — one header row, one sample row. Province is a dropdown, but the client is used to exporting from their own system and pasting, so we don't force it. On import the values still map through the same 32-entry province dictionary; anything unmatched lands in a "pending confirmation" bucket.
Preview Before Writing to the Database
As in our other projects, import shows a preview first: rows read, columns recognized, problems per row — with the first 10 problematic rows listed. This time we added dedup specifically: store number plus city forms a key, compared against existing records, and each row is flagged "new", "possible duplicate", or "exact match".
Exact matches are skipped by default, possible duplicates await a human checkbox, and new rows go straight in. A 500-plus-row run takes under two seconds.
Their First Solo Import
On June 13, the client's clerk ran her first import alone. Nine rows came up for confirmation: 4 with province aliases that were in the dictionary but had an extra "Province" character; 3 with duplicate store numbers; 2 with phone extensions. We didn't take over remotely — we sat beside her while she fixed each row per the prompts, then confirmed and wrote to the database.
She later picked up a habit on her own: saving a dated copy of the Excel before every import. We never taught her that.
A Closing Note
From "we import it for them" to "they import it themselves" took seven years. Technically nothing here was hard; the hard part was turning judgments that used to live in our heads — "merge Inner Mongolia variants", "split phone numbers into two columns" — into hint text on a page.
That original 2017 Excel still sits in the project folder, with "as-received" in the filename. We occasionally pull it out to check formats.
The client later asked whether to add an approval workflow — someone edits, someone else approves. We said let it run for two months first; add it if mistakes actually happen. It hasn't been added to this day.

