Skip to content

How to export data from Harvest before you switch

A step-by-step order for pulling your time, invoices and clients out of Harvest, plus the parts that won't come with you cleanly.

5 min read
A desk with printed invoices and a laptop showing spreadsheet rows, suggesting a data export in progress.
Photo by Kampus Production on Pexels.

You export data from Harvest in three separate passes, not one download. Time entries and reports come out as CSV. Invoices come out as CSV or PDF, depending on your plan and how many you're pulling at once. Clients, projects and contacts come out as CSV from their own settings pages. None of it arrives as a single file you can hand to a new tool and trust blindly, so budget time to check the numbers after you import, not just before you export.

What actually exports cleanly from Harvest

The core of your business, the part you'll actually need in a new tool, tends to move well. Time entries usually export as CSV with the date, project, task, notes and hours intact. Client and project lists export the same way, as do contacts. If you've been running Harvest for years, check whether your account exports the full history in one file or whether you need to pull it in date ranges; some accounts cap how much a single export will return.

Invoices are the trickier of the clean exports. In most accounts you can pull invoice line items as CSV, and individual invoices as PDF, but check whether bulk PDF export is available on your plan or whether you'll be downloading them one at a time. If you have years of invoices, that difference matters.

What does not come out in usable shape

Some things live in Harvest's interface more than in its data. Notes attached to old invoices, the state of timesheets that were approved and locked, and any custom rate history tied to specific date ranges typically don't reduce to a clean row in a CSV. You can often reconstruct the current rate for a client or project, but the record of what a rate used to be, and when it changed, is the part most people lose.

The same goes for anything wired into an integration: accounting sync settings, payment gateway connections, and any automation rules you built around invoice reminders. Those are configuration, not data, and no export button recreates them for you in a new tool. You'll be rebuilding those by hand regardless of where you land.

What to expect when you export data from Harvest, by data type
Data typeHow it typically exportsWhat to check before you trust it
Time entriesCSV, usually with date, project, task and notesWhether rounding rules or timer-vs-manual entries are flagged in the export
Clients and projectsCSV from account settingsWhether archived or inactive clients are included by default
InvoicesCSV for line items, PDF for the document itselfWhether bulk PDF export is available or invoices download one at a time
Payment and reconciliation statusOften only partially reflected in the invoice exportCross-check paid, partial and outstanding balances against your own records
Rate historyNot typically exported as a history, only current ratesWhether you need old rates for anything besides current billing
Integration and automation settingsNot exported at all; these are configuration, not dataRebuild these directly in the new tool rather than looking for an import

A migration order that avoids double entry

Before you touch export

Run your usual reports first, while everything is still where you expect it. Pull a client-by-client billed total for the current year and the previous one. You'll use these numbers later to confirm the new system agrees with the old one, which matters more than it sounds like it should.

The export itself

Start with clients and projects, since time entries and invoices reference them and you'll want those names to match on the way in. Export time entries next, in whatever date ranges your account allows. Export invoices last, since they're the slowest part if bulk PDF export isn't available to you, and there's no reason to hold up the rest of the migration waiting on them.

The import, and the reconciliation

If you're moving to FlatHours, the Harvest alternative comparison walks through what a full import looks like on our side, including handling accounts of any size. Whatever tool you choose, the import step itself is usually the easy part. The reconciliation after it is where migrations actually succeed or fail.

What to check after you import

Pull the same client-by-client totals in the new tool and compare them to the numbers you saved before you started. Small discrepancies are common and usually explained by rounding rules or by entries that fell just outside a date range. Large discrepancies mean something didn't come across, and it's much easier to fix that in the first week than six months later when you've built new invoices on top of an incomplete history.

Check outstanding invoice balances specifically. This is the one area where a CSV export can look complete while quietly missing partial payments or write-offs, since those often live in the payment record rather than the invoice line item. If a client owes you money, confirm the new tool agrees on how much before you send them anything.

If AI agents have been logging billable hours under a human teammate's account, check carefully how that time shows up in your export. It's easy for agent time to get folded into a person's total hours with no way to tell them apart after the fact, which becomes a real problem the first time a client asks what they're actually paying for. Our page on billing for the work AI agents do covers how to keep that time separated going forward, which is worth setting up in the new tool even if it wasn't distinguishable in the old one.

The honest limit of any migration

No export button recreates a business. You can move the data, but you can't move the muscle memory: the shortcuts you knew, the report you had saved, the client note you never wrote down because you just remembered it. Anyone telling you a migration is a five-minute affair is selling you something. It's an afternoon of exporting, a few hours of importing, and then a genuinely useful hour of checking totals against what you had before. That's not nothing, but it's also not the multi-week ordeal some people fear when they've been on one system for years.

It's also worth being clear-eyed about why you're doing this in the first place. Harvest's ownership changed in 2025, and its 2026 pricing added a per-seat fee on top of charges for invoices, projects, clients and tasks, which is the kind of change that makes a straightforward export suddenly feel urgent. Our piece on why Harvest got expensive goes into that pattern in more detail, and it's useful context even if you end up choosing a tool other than ours.

Wherever your data ends up, keep a copy of the raw exports somewhere outside both systems. If you want to check what you're allowed to take with you before you commit to a new tool, our page on data ownership and account export covers what a one-click export should include, which is a reasonable standard to hold any provider to, including us.

Time tracking and invoicing with a bill that does not move

Nothing is metered on any plan, including Free. Import your Harvest history, keep unlimited projects, clients and invoices, and take your data out again whenever you like.

Questions people ask about this

Can I export everything from Harvest in one file?

Not typically. Time entries, invoices, and client and project records usually come out as separate exports, often in different formats like CSV and PDF. Plan to pull each one separately rather than expecting a single download.

Does Harvest's rate history come with the export?

In most accounts, the export shows current rates rather than a history of what a rate used to be at different dates. If you need that history for past invoices or disputes, save it separately before you migrate.

How do I know the migration worked?

Pull a client-by-client billed total from Harvest before you start, then pull the same report in the new tool after you import. If the numbers match, or the difference is small and explainable by rounding, the migration went well.

What usually gets lost in a Harvest export?

Configuration rather than data tends to be the casualty: integration settings, automation rules, and notes attached to old invoices often don't survive as usable records. These need to be rebuilt by hand in whatever tool you move to.