How to Migrate from Harvest to Quanta
A step-by-step guide to moving your clients, projects, tasks, team, and full time history out of Harvest and into Quanta — using one CSV export and the import wizard.

Switching time trackers feels risky. You have years of billable hours, a tidy list of clients and projects, and a team that already knows the tool. The fear isn't the new app — it's leaving the old data behind.
Here's the good news: moving to Quanta from just about any time tracker is simple. Almost every tool — Harvest, Toggl, Clockify, FreshBooks, you name it — can export your time entries to a CSV. And a CSV is all Quanta needs. Upload that one file and the import wizard brings across your clients, projects, tasks, team members, and full time history in a single pass — letting you review exactly what will be created before anything is saved.
To show how it works, let's walk through a real example: migrating from Harvest to Quanta, start to finish.
Step 1 — Export your data from Harvest
In Harvest, use Export All Time to download a CSV of every time entry in your account. That single file has everything Quanta needs — one row per entry, with columns like:
Date, Client, Project, Project Code, Task, Notes, Hours,
Billable?, Invoiced?, Approved?, First Name, Last Name,
Billable Rate, Cost Rate, Currency
You don't need to rename columns or split anything apart — export it as-is.
Want to bring over only some of your work? You have two options. You can clean up the CSV first in a spreadsheet tool, deleting rows for projects you don't want. Or you can skip that entirely — Quanta's import wizard lets you uncheck individual clients and projects before anything is saved (more on that in Step 5).
Switching time trackers is also a natural moment to tidy up. If your Harvest account has accumulated years of inactive clients and finished projects, you don't have to drag all of that into a fresh workspace. Leave the dead weight behind in Harvest as an archive and bring across just your active clients and projects. Either way, the import gives you the flexibility to decide.
Step 2 — Upload it to Quanta
In Quanta, go to Admin → Import and drop your CSV onto the upload area. Quanta parses the file, tells you how many data rows it found, and moves you to the next step.
Big file? Don't worry about it. The importer is built to handle real exports — tens of thousands of rows is a normal day for it.
Step 3 — Map the columns
Next, Quanta lines up each column in your CSV against a field it understands. Because the import wizard recognizes Harvest's exact column names, this step is mostly already done for you:
- Hours maps to Duration
- Notes maps to Description
- Billable?, Invoiced?, and Approved? are picked up automatically
- Project Code, Billable Rate, and Cost Rate all carry over
There's one Harvest quirk worth calling out: Harvest splits people into separate First Name and Last Name columns. Quanta handles this — both columns map to the single User field at the same time, and the importer stitches them back into a full name. Nothing for you to fix.
Glance over the mapping, adjust anything that looks off, and continue.
Step 4 — Match your team
If you're migrating a team, Quanta now shows every person it found in the file under Unmatched Users. For each one you get three choices:
- Map to an existing user — if that teammate is already in your Quanta workspace
- Create new user automatically — Quanta creates the account for you
- Ignore this user — skip their rows entirely
One thing to know: a Harvest export identifies people by name, not email — there's no email column in the file. So when you choose Create new user automatically, Quanta asks you to type in each new teammate's email address right there in the wizard. It needs a real address to create a working login and send the invite.
Speaking of which — when you auto-create users, a Send invites toggle is on by default, so each new teammate gets an email to set their password and log in. Turn it off if you'd rather invite people yourself later.
This is also a good moment to appreciate the pricing difference: Quanta is a flat $10/month for your whole team, up to 100 users — no per-seat fees. Bringing the whole team across doesn't change your bill.
Step 5 — Review what gets created
This is the step that makes migrating feel safe. Quanta shows you a clients → projects → tasks tree built from your CSV — everything it's about to create, laid out before it touches your workspace.
For each entity you can:
- Toggle it off to skip it — handy for old clients you don't want to bring over
- Map it onto something that already exists in your workspace, so you don't end up with duplicates (Quanta flags name collisions for you)
- Set the currency per client, or bulk-set every client at once
- Set billable rates, cost rates, and project codes on projects, and rates per team member
A running total at the top — "X of Y entries will be imported based on current selections" — updates live as you toggle things, so you always know exactly what you're committing to.
The wizard also shows a quick summary: how many entries are ready to import, how many are duplicates of entries already in Quanta, and how many rows have errors. Duplicate rows are skipped automatically, so you can re-run an import safely. Error rows are listed individually with the reason, and they're skipped without sinking the rest of the file.
Step 6 — Run the import
Hit the import button and Quanta gets to work. For large files you'll see a live progress view; when it's done, the results screen confirms what was created.
Here's what Quanta preserves faithfully from Harvest:
- Per-entry rates — Quanta imports the billable and cost rate from each row and stamps it directly onto that entry, so every historical entry carries the rate it was logged at. The billable and cost amounts are then calculated automatically as hours × rate, and a row that came over as non-billable keeps a zero billable amount even if it has a cost rate. One thing to keep in mind: if you later update a project or team member rate and choose to apply it to historic time entries, that change will overwrite the imported rates on those entries — so leave historic entries out of the update if you want your migrated rates left exactly as they came across
- Invoiced work — rows marked
Invoiced? = Yesin Harvest come in flagged as already billed, so the billed status from your old tool carries over from day one - Approved time — rows marked
Approved? = Yescome in locked, matching their state in Harvest
Not happy with the result? Purge and redo
The review step catches most problems before they happen — but not all of them. Maybe you ran the whole import, looked at the result, and realized a column mapped subtly wrong, or that you'd rather reorganize your projects before bringing the history across. Imports can go sideways, and that's normal.
So Quanta gives you an undo for the entire thing. On the same Admin → Import page there's a Purge All Data action that clears the workspace back to empty — time entries, projects, clients, tasks, tags, and invoices — in a single step. Run it, then re-import from your CSV. Review, import, purge, retry: do it as many times as it takes to get the result you actually want.
That means you never have to delete hundreds of entries by hand, and you never have to spin up a throwaway workspace just to take another run at it. Because it's destructive, the purge makes you type your workspace name to confirm and spells out exactly what it will remove first — but when you want a clean slate, it's a thirty-second reset instead of a dreaded chore.
After the move
Once the import finishes, take a few minutes to settle in:
- Open Projects and Clients to confirm everything came across
- Check Reports — filter by date range, client, or project to spot-check your history
- Invite anyone the import didn't auto-create, and set up tags for how your team likes to categorize work
- Start tracking — with one-click timers, weekly grid entry, or AI logging
That's it. Your history is in, your team is in, and you're tracking in Quanta — without leaving a single billable hour behind in Harvest.
We used Harvest here, but the process is the same whatever you're coming from: export a CSV, upload it, review, import. If your current tool can produce a CSV of time entries — and nearly all of them can — Quanta can bring it in.
Start your migration for free — no credit card required.