Every company says the same thing before migration: “Our data is fine.” Then you open the customer file and find 4,200 rows for what turns out to be 1,900 real customers, three versions of the same address, and a column labelled “Contact 2” that eight different people used for eight different purposes.
Migration is where good projects are won or lost, and it happens on one weekend. Here is what that weekend looks like when it goes well, based on a 180-person distribution business we moved off eleven years of spreadsheets.
Six weeks before: the cleanup nobody enjoys
Rule one is that you never migrate everything. You migrate what is still alive.
- Customers: only those with activity in the last 18 months, duplicates merged by phone number and tax ID
- Items: anything not sold or purchased in two years gets archived, not carried forward
- Open documents only — unpaid invoices, live purchase orders, current stock. Historical invoices stay in the old system as read-only PDFs
- One owner per data set, named in writing, with a deadline. “The team” is not an owner.
This phase caught 61 duplicate suppliers at the distribution business. One of them had been paid twice in the same week eleven months earlier because two departments each had their own version.
The weekend itself, hour by hour
- Friday 6 p.m. — trading stops, final stock count begins, old system set to read-only
- Saturday morning — data loaded and checked against control totals: total receivables, total payables, total stock value
- Saturday afternoon — ten real transactions run end to end by actual users: a quote, an order, a delivery, an invoice, a return, a payment
- Sunday — corrections made, control totals re-checked, first users trained on the exact tasks they will do Monday morning
- Monday 8 a.m. — live. A support person sits beside the order desk for the entire day
The control totals are the part people skip. If your receivables are $1,412,880 in the old system and $1,412,880 in the new one, you can sleep. If they differ by $3,400, you find out on Saturday, not on the tenth of next month.
What to do for the first thirty days
Run both systems for two weeks, but only for reporting — never for entry. Double entry is what breaks migrations, because sooner or later someone enters the same invoice twice.
Expect your first month-end close to take longer than usual. Ours took nine days instead of five. The second month took six, and by month three it was four. Plan for that dip and tell your finance team in advance. A slow first close is normal; a slow fourth close means something was left undone. If you are planning a migration, write your control totals down before the weekend arrives. That single sheet of paper is the difference between a calm Monday and a very long month.