We’ll move your history with you. Not in theory, in a file you can open.

First 10 get a hand. After that it’s $49 or five minutes on your own. Either way your years in Harvest come with you. Here’s what that hand actually is, so you know where it stops.

▸ Free help: 7 of 10 left. Weekdays, same day. After 10, self-serve is instant and $49 is flat.

YOU SEND

A CSV and your rates

Harvest Detailed Time export. One email. No call.

WE DO

Dry run, import, set rates, check totals

We keep nothing. You get a .db and a short Loom.

YOU GET BACK

A file you drop in

Place in ~/Documents/owntime/, open the app. Done.

What free actually means. And where it stops.

We’re one person. To keep this honest we put hard edges on the free offer. If your file is past them, we’ll say so in the first reply and point you to the self-serve path. Better to say no now than do a bad job later.

Included (free for 10)

  • Harvest Detailed Time CSV — Date, Client, Project, Hours or Duration, Notes, Billable
  • Up to 10,000 rows, about 3 years. Past that we’ll ask you to trim or do it together via self-serve.
  • Up to 50 clients, 150 projects after dedupe. “Acme Inc” and “acme inc” count as one.
  • Hours as 1.5 or 1:30. We round to the quarter hour, like Harvest does (1.33 becomes 1.25).
  • One fix if we map a name you flagged wrong.
  • You get timesheet.db plus a quick Loom that shows the totals.

Not included — we’ll say no or ask $49

  • Toggl, Clockify, Freshbooks exports. The parser can read Toggl’s Project/Duration/Description, but Tags don’t map cleanly to Clients. Try self-serve. We’ll be honest.
  • Five-plus years, many currencies, FX history, or huge archives. That wants a call, not a free email.
  • Rates. Harvest doesn’t export them, so you have to tell us. No rate card → we import with rate: 0 and you set it in two minutes under Clients.
  • Old invoices. Keep Harvest PDFs. We move time, not invoices.
  • Taxonomy cleanup. If Harvest has “Acme”, “Acme — old”, “ACME”, we keep three. We won’t guess.
  • Weekend same-hour. See timeline below.

A REAL LIMIT

If your file is out of scope we tell you right away. Something like: “This is a full Toggl export with tags. Self-serve plus my checklist will be faster — here’s a two-minute video.” We’d rather pass than botch it.

About five minutes of your time. The rest is on us.

STEP 1 — YOU, 3 MIN

Send two things

  1. Harvest → Reports, Detailed Time → pick a range (last two or three years is plenty) → Export, CSV
  2. Open the CSV. You should see headers Date, Client, Project, Hours. Notes and Billable are fine if they’re there.
  3. Make a tiny rate card. Just a list:
    Acme Website — 1,500₹ per hour Acme Retainer — 1,200₹ per hour Default — 1,000₹ per hour
  4. Email it to migrate@owntime.click. Subject “Harvest migration” is fine. No account, no form.
STEP 2 — US, 20 TO 30 MIN

We run it and check

  1. We dry-run your file: 2,341 rows parsed, 3 skipped (bad date). You see the preview.
  2. We import. Clients and Projects get made (deduplicated, case-insensitive). We apply your rates and keep the billable flag.
  3. We open Reports and compare total hours to Harvest’s total. If it’s off by more than half an hour, we note why (usually quarter-hour rounding).
  4. We send back timesheet.db and a short Loom. You put the file in ~/Documents/owntime/ and open owntime.
STEP 3 — YOU, 2 MIN

Drop in, glance, done

  1. Quit owntime. Replace ~/Documents/owntime/timesheet.db. Reopen.
  2. Reports → By project. It should match Harvest. If it doesn’t, tell us.
  3. Name off by a bit? “Acme Inc” vs “Acme”? We fix it — one revision is part of the free help.
  4. That’s it. Invoices, budgets, the CLI — all read the same file.

When we get back to you

  • Weekdays, IST — same day, usually within six hours.
  • Weekends — within a day or two. We send an auto-reply so you’re not left hanging.
  • One fix if we mapped a name you flagged wrong.
  • After 10: self-serve is instant; we can still do it for $49 flat, same timing.
  • And if it’s out of scope, we say so in the first note. No ghosting.

What happens to your CSV

  • We keep it only until you say the .db looks right. Then we delete it.
  • It never goes on a server. It’s a file on one machine, like your timesheet.
  • We don’t keep client names, we don’t train on them, we don’t resell them. Ask us to delete now and we do.
  • Want to redact? Keep Date, Client, Project, Hours. Notes can go.

WHAT WE HAND BACK — AND WHAT WE DON’T

We hand back time entries, plus clients and projects with the rates you gave us. We don’t hand back old Harvest invoices (keep those PDFs), expense photos, or a cleaned taxonomy beyond what your CSV had. Three variants of “Acme” stay three. We won’t merge by guessing.

Same tool we use. No gate.

  1. Open owntime → Import (sidebar, under Data).
  2. Drag the Harvest CSV onto the app window. Or click “Choose file”.
  3. You’ll see 1,234 rows parsed, 2 skipped plus eight rows of preview. Nothing has written yet.
  4. Hit Import. Then Clients & Projects and set rates (two minutes).
  5. Open Reports and check the totals. Done. And if you imported twice, Cmd+Z undoes it.

Heads up: importing the same file twice makes dupes. Import once per export. Hours round to the quarter hour, to match Harvest.

HEADERS WE READ (case doesn’t matter)

Must have: Date, Project, Hours or Duration
Can have: Client, Notes or Description, Billable
Two rows that work:
"2024-03-15","Acme Inc","Website","1.5","Kickoff","yes"
"2024-03-15","Acme Inc","Website","1:30","Kickoff","true"
If Billable is missing, we treat it as billable.

Pulling from Toggl? Try it. Tags won’t become Clients, so Harvest format will save you time if you have it.

We’d rather answer here than in your inbox later.

My CSV is six years, 20k rows. Will you take it?

It will import — SQLite can. For free help we’ll ask you to cut to the last three years or use self-serve. Big histories want a call, not a free email.

Can you clean up my three “Acmes” into one?

No. We keep what the file says. It’s safer not to guess. After import you can select the range and drag it to the right project. We’ll show you how in the Loom.

What about Toggl Track, Clockify, Freshbooks?

We’ll give it a try. Toggl’s Project, Duration, Description will parse, but Tags don’t map to Clients. Test self-serve first. If the count looks off, send the file and we’ll tell you in one reply if it’s in scope for free.

What if something’s off?

One fix is part of the free help, for a client name you flagged ahead. After that it’s $49 or self-serve. We share the dry-run numbers so you catch it before we send the file.

How do I know you didn’t drop rows?

We send the dry-run line (“2,341 rows, 3 skipped”) plus Reports totals in the Loom. And you can run the same dry-run yourself; it’s the same code. No black box.

Changed your mind after we sent the file?

Just undo. Cmd+Z rolls back the last import. Or select and delete the batch. No lock-in on the way in, either.

Two emails and you’re done.

Attach the CSV and your rate card. We’ll do the rest — and tell you plainly if it’s out of scope.

Email migrate@owntime.click