Switching billing apps has one genuine risk and a lot of imagined ones. The genuine risk is that the money people owe you arrives in the new system wrong, and you do not notice for two months. Everything else — losing old bills, missing reports, having to re-enter products — is either recoverable or not actually a problem.
Carry balances, not history
The temptation is to re-enter a year of transactions so the new app has "everything". Resist it. It takes days, it is dull enough that most people abandon it halfway, and the result is a second copy of records you already have. What you actually need going forward is each customer's correct starting position.
So for each customer who owes you anything, create them in the new app with their current outstanding as an opening balance. Customers at zero do not need to be moved at all — they will be created the next time they buy something on credit.
The week itself
- 1
Pick a quiet day, mid-month
Not the 1st, and not the last week. You want a fortnight of ordinary trading before anything monthly depends on the new numbers.
- 2
Export or write down every outstanding balance from the old app
If it exports, export. If it does not, a photograph of the outstanding list is enough — you only need it while you type.
- 3
Enter your ten largest debtors first
They are most of the money. If you stop after ten, you have already moved the majority of your exposure, which makes the rest of the job optional rather than urgent.
- 4
Add the rest as they walk in
The same approach that works when moving off paper. Somebody buying on credit gets created with their opening balance at that moment, during a transaction that was happening anyway.
- 5
Compare the two totals
Total outstanding, old app against new. They should match. Do this before you stop looking at the old app, not after.
What not to bother moving
| Leave behind | Why |
|---|---|
| Individual old transactions | The old system is still the record of them. Duplicating that record does not make it truer. |
| Customers at zero balance | They add nothing to the ledger and slow the move down. They get created on their next credit purchase. |
| Products you no longer stock | A migration is a free opportunity to drop the dead half of your catalogue. Take it. |
| Old reports | Export any you actually want as PDF or CSV and keep the file. You do not need the new app to regenerate history it never had. |
A migration is not finished when the data is in. It is finished when the two totals agree and you have stopped checking.