Skip to content
GoodTime

Coming from Harvest

We moved twenty years out of Harvest.

We liked Harvest too, right up until the price changed and that decision got made for us. Whether your history comes with you is still yours to make. Clients, projects, invoices, estimates, expenses, payments, every hour anyone ever tracked. It all comes over. Forecast — the schedule itself — is next, and it’s the part nobody else moves at all.

A real run

Here’s what it looks like.

Every record type in the order it runs, counting up as it goes, and a skipped count on any row that has one. No spinner, no “this may take a while”. You can watch the whole thing land.

The GoodTime import run screen, marked Completed at 100%: “All 13 imported”, 268,997 of 268,997 records, took about 1 hour. Under a Harvest heading, thirteen rows — Users, Tasks, Expense Categories, Clients, Contacts, Projects, Task Assignments, User Assignments, Estimates, Invoices, Time Entries, Expenses, Payments — each with its record count. Under a Forecast heading, six more — People, Placeholders, Clients, Projects, Milestones, Allocations. Four rows carry a red skipped-record count, and the Projects group is open, showing one record skipped: “Already exists in GoodTime”, record #100000, “A project with this code already exists in GoodTime”.
A completed import run in GoodTime. The figures are a seeded test agency’s, not a customer’s.

The whole list, by name.

No categories, no “and more”. Look for the one you’re worried about — and if it isn’t here, you’ll know that now rather than afterwards.

Harvest

First.

  1. Users
  2. Tasks
  3. Expense Categories
  4. Clients
  5. Contacts
  6. Projects
  7. Task Assignments
  8. User Assignments
  9. Estimates
  10. Invoices
  11. Time Entries
  12. Expenses
  13. Payments

People arrive without passwords — each sets their own with the “Forgot your password?” link. The run says so on the Users row rather than leaving you to find out.

Forecast

Coming soon.

  1. People
  2. Placeholders
  3. Clients
  4. Projects
  5. Milestones
  6. Allocations

Forecast will run second and reconcile against what Harvest already imported, so a client or project that exists in both arrives once. We’re finishing it now, against a real Forecast account rather than the documentation — which is where the last few problems turned up.

We would rather say “soon” than say “done” and hand you a schedule with holes in it. None of the importers we compared move Forecast at all, ever.

Showing our work

Your work comes across.

Your clients, your projects, your invoices, your hours. The import brings the record of your business with it, and you can watch it arrive.

A few things are deliberately left where they are — a client you already have here under another name, an assignment pointing at a project Harvest archived years ago. Those are the ones you’d want left behind, and each one is on the screen with the reason it stayed, in plain English.

So you’ll know exactly what you have before you close anything in Harvest.

A detail of the same screen: the Projects row, “1 record skipped” in red, the reason group “Already exists in GoodTime · 1”, the record “#100000 — A project with this code already exists in GoodTime”, and a link reading “See every skipped record”.
The skipped-record disclosure, at full size. Same run as above.

The other importers stop at time tracking.

GoodTime isn’t trying to run your whole company. It does the loop an agency actually lives in — track the time, plan who’s doing what, send the invoice — and it does that part properly. Which is why the import has to carry all of it, and not just the hours.

Toggl
Invoice history “stays in your source system.”
Productive
Expenses and invoices are “not available for import,” and time entries older than three months are discarded.
All of them
None move Forecast.

Quoted from their own import documentation, September 2026. If any of it has changed, tell us and we’ll change this page.

There’s a clock on this.

Harvest’s own data export expires one week after you close your account. That’s their policy, not ours, and it is the only hard deadline in a switch that otherwise has none.

So the order matters. Import into GoodTime while your Harvest account is still open, read the skip list against what’s in front of you, and close the account after — not before.

Ready for a GoodTime?

Self-serve sign-up isn’t open yet. Join the list and we’ll tell you the day it is.