Data

Your records are moving. Make sure all of them arrive.

Before I built websites I spent twenty-five years moving data between systems: bank acquisitions, field research for UN agencies, membership and donor databases for nonprofits. Every migration has the same shape. The vendor's import handles the easy 90%, and the 10% it drops is the part somebody will ask about in March. This is the work of finding that 10% first.

Three ways people arrive here

“Our wine club runs on WineDirect and it shuts down in December.”

Commerce7 will move your data for free, and the move is good. But its own migration guide says duplicate customers should be cleaned up first, orders with errors are left behind, product descriptions lose their formatting, and varietal, vintage, and appellation don’t come across at all. Nobody at the platform is going to check your club counts and order totals afterward.

Here: I clean the data before the move, keep a complete copy of everything WineDirect holds, and reconcile the result against the original so you know what landed. The WineDirect page has the details, or start with the checklist →

“Our donor records are in a system nobody wants to touch.”

Fifteen years of gifts, pledges, memberships, and notes in a database that’s been end-of-life for a while, or in a CRM the board has decided to leave. The new vendor’s import wants clean spreadsheets in its own shape. Yours are not that.

Here: I get the data out whole, including the history the vendor export drops, reshape it for the new system, and prove the totals match before anyone goes live.

“The person who built our Access database retired.”

A membership roll, a parts catalog, plot records, a production log. It lives in Access, FileMaker, or a spreadsheet with twelve tabs, it still runs the business, and one person understood it. That person is gone or going.

Here: I document what’s in it, get it into a form that isn’t hostage to one desktop, and either rebuild it as something maintainable or hand it to whatever system you’re moving to.

What a migration looks like here

  1. Inventory. Every table, field, and export in the old system, with a row count and a note on what it's for. You see this before anything is quoted, and you keep it whether or not you hire me.
  2. Clean-up. Duplicates merged, broken records repaired, inconsistent names and dates standardized. Done on a copy, with a log of every change.
  3. The move. Data reshaped for the new system's import, loaded into a test account first, and checked screen by screen by you.
  4. Reconciliation. Counts and totals compared between old and new: customers, members, orders, gifts, dollars. You get the comparison in writing. If a number doesn't match, that's found now, not at year end.
  5. The archive. A complete, readable copy of everything the old system held, including whatever the new one wouldn't take, so nothing is lost when the old account closes.

Where the work fits

What this isn't

Where AI comes in

AI reads the export and drafts the field-by-field inventory in an afternoon instead of a week, flags likely duplicates and malformed records for me to rule on, and writes the reshaping scripts I then test against the real data. I do the judgment: what's a duplicate and what's a couple who share an address, which history matters, whether the totals are right. More on how I use AI →

Background

Sybase, Oracle, SQL Server, MySQL, Postgres, and the export formats of a lot of systems that no longer exist. Data integration for a West Coast bank through a series of acquisitions, where every account, loan, and customer had to reconcile to the cent on cutover day. Field research and reporting for UN agencies and an international children's charity in Southeast Asia. Membership, donor, and program records for small nonprofits and museums in the North Bay. Digitizing paper archives that were never going to be searchable otherwise.

Start with a free readiness check

Tell me what system the data is in and what's happening. You'll get a reply within a working day with what typically breaks in that kind of move and what it would take to prevent it. No call required, no obligation.