Most agencies stay on a time tracking tool they have outgrown for years longer than they meant to, and the reason is almost always the same: the history. Five years of entries, invoiced hours, rates and project structure, and a well-founded fear that moving means losing the ability to answer questions about any of it.
That fear is reasonable and the problem is solvable. It just has to be solved deliberately, before you start, rather than discovered halfway through.
Decide what "keeping the history" means
There are three levels, and agencies often assume they are getting the third while planning for the first.
A CSV in a folder. Every tool exports this. It preserves the data and none of the ability to query it. Fine as a legal archive, useless for "what did we charge this client in 2024".
Imported entries. Your hours land in the new tool with their original dates, projects and people. Reports covering the past work. This is what most people actually want.
Imported entries that reconcile. The same, plus rates, billable flags and invoiced status, so a report over last year produces the same totals in the new tool as the old one. This is the one that matters if you have ever needed to answer a client's question about a historical bill, and it is the one most migrations quietly fail at.
Ask any vendor which of the three you are getting. The answer is often the second when you assumed the third.
The specific things that break
Rates change over time. If a person's rate went from $95 to $110 in March, a migration that applies today's rate to all history will restate every past project's revenue. Check whether rate history comes across or only current rates.
Billable flags get lost or defaulted. If everything imports as billable, your historical utilization is instantly wrong and unrecoverable without the source.
Invoiced status disappears. This is the one that costs money rather than accuracy — see the parallel-running section below.
People who have left. Entries belonging to former staff need to import against someone, or they vanish. A migration that silently drops them understates every project they touched.
Project hierarchy flattens. If you use client → project → task and the new tool has two levels, decide where the third goes before the import, not after.
Run both tools, briefly, and plan for it
The clean-break fantasy — everyone stops using the old tool on Friday and starts on the new one on Monday — mostly does not survive contact with a real agency. Someone is on holiday. A client project is mid-invoice. Someone's phone still has the old app.
Plan for two to four weeks of overlap and decide two things in advance:
Which tool is authoritative for invoicing in that window. One of them, stated clearly. This is the decision that prevents double-billing, which is the genuinely expensive failure here.
How you will bring the overlap period across at the end. Re-running an import should reconcile — update what it already created rather than inserting a second copy. If your import tool cannot do that, you will be reconciling the changeover weeks by hand.
A sequence that works
- Export everything from the old tool first, before touching anything, and keep it. Even a perfect migration benefits from a source of truth you can return to.
- Import into a test workspace and check three specific things: total hours for last year, revenue for your largest client, and one project you remember well enough to spot errors in.
- Reconcile the numbers against the old tool. If last year's totals do not match, find out why before you go further. The usual causes are rates, dropped users, and billable flags.
- Switch tracking over on a Monday, at the start of a month if you can.
- Keep the old tool read-only for at least one full invoicing cycle. Do not cancel it the week you migrate — the subscription is trivial next to the cost of needing it and not having it.
- Re-import the overlap and check nothing duplicated.
- Cancel, once you have invoiced a full month cleanly out of the new tool.
What to test during a trial
Most trials get spent on the timer, which is the part every tool does competently. The things worth testing are the ones that are painful to discover later:
- Import your real data, not a sample. Volume and messiness are the test.
- Produce a report you actually rely on, and see if the number matches.
- Run one real invoice end to end.
- Have the least enthusiastic person on the team use it for a week. They are the accurate signal.
The honest caveat
Some migrations genuinely cannot preserve everything, usually because the old tool does not export something it holds. Where that is the case, the answer is to know it in advance and keep the old export, rather than to find out when someone asks a question you can no longer answer.
If you are moving off Harvest, Toggl Track or Clockify, we import from all three with a token — details here — and from anything else with a CSV. The part we would push you to check, with us or anyone: run your biggest client's last twelve months in both tools and see whether the totals agree.
