Spindle vs Harvest

Both are complete time trackers, with a timer, reports and team features. They differ in how they record an hour that went to several projects at once, in who can run the software, and in invoicing, which Harvest includes.

One entry can count on several projects.

In Spindle, one entry can be divided between two and six projects, and every report counts each part on its own project. In Harvest, an entry belongs to one project and task.

Suggestions from Claude Code and Codex.

Spindle notes when prompts were sent and to which project, and suggests how to split the entry. Nothing changes until you accept. Harvest doesn't suggest splits.

Open source, and it runs on your own server.

Spindle is open source under AGPL-3.0, and the self-hosted version is free. Harvest is available only as Harvest's hosted service.

In Harvest, an entry goes to one project. In Spindle, it can be divided.

Harvest records each entry against one project and task. When projects ran side by side, the hour lands on one of them, unless it is typed in again as separate entries with guessed lengths.

Pagination API and pricing page reviewTue 14 Oct · 09:47–11:12 · 1:24:37
ProjectOne projectDivided by share
Acme API1:240:44
Acme Web0:000:28
Internal0:000:13

One entry, one project. Acme Web and Internal get no time, and 41 minutes are missing from their reports. One entry, three projects. Each project counts the share of the hour that went to it.

Spindle does both. Divide an entry by share when the projects ran at the same time, or save it as separate entries when the work moved from one project to the next. The timer, the calendar and every report follow the split.

With Claude Code or Codex, Spindle suggests the split for you from the prompts you sent to each project. Without them, a split takes a few seconds by hand, such as a call that covered two clients.

Read the code, and run it yourself.

Harvest runs only on Harvest's servers. Spindle is open source, including the desktop apps and the code that suggests splits, and the same app runs on Spindle Cloud or on your own server.

Open source under AGPL-3.0.

Anyone can use, change and host Spindle for free. Whoever offers a changed version to others as a service shares their changes under the same license.

One Docker image and a Postgres database.

The self-hosted version has every feature, and your data never leaves your infrastructure.

Prompts, answers and code are never kept.

For suggestions, Spindle keeps when a prompt was sent, the project and a short title, on your computer. Anyone can check how in the code.

Feature by feature

Most of what a time tracker needs is in both. Harvest adds invoices and expenses on every plan. Spindle adds parallel work, open code and one price for everything.

Tracking

Timer and manual entries Spindle: Yes Harvest: Yes
Calendar view Spindle: Yes Harvest: Day and week timesheets
Idle detection and reminders Spindle: Yes Harvest: Yes
Apps for desktop, phone and browser Spindle: Yes Harvest: Yes

Parallel work

Cut an entry in two at a point in time Spindle: Yes Harvest: No
Divide one entry between projects by share Spindle: Yes, two to six projects Harvest: No
Split suggestions from Claude Code and Codex Spindle: Yes, worked out on your computer Harvest: No

Projects and reports

Projects, clients and tasks Spindle: Yes Harvest: Yes
Tags Spindle: Yes Harvest: No
Billable rates Spindle: Yes Harvest: On paid plans
Reports by project, client or person Spindle: Yes Harvest: By person on paid plans
CSV and Excel export Spindle: Yes Harvest: Yes
Profitability per project Spindle: Yes Harvest: On higher plans
Invoices and expenses Spindle: No, reports export for your invoicing tool Harvest: Yes, on every plan

Teams

Required description Spindle: Yes Harvest: On higher plans

Code and hosting

Open source Spindle: Yes, AGPL-3.0 Harvest: No
Runs on your own server Spindle: Yes, for free Harvest: No, hosted by Harvest only

Plans

Price Spindle: Free on your own server. Spindle Cloud is €5 per person a month. Harvest: A small free plan, then paid plans charged per seat a month
Every feature on every plan Spindle: Yes Harvest: No, features depend on the plan
Free trial Spindle: 90 days on Spindle Cloud Harvest: 30 days on paid plans

Harvest's details are from Harvest's public pricing and help pages, checked in October 2026. For its current plans and prices, see getharvest.com.

Which one fits

Harvest is a long-established tracker built around timesheets and invoices. Spindle is newer and made for hours that run in parallel.

Harvest may suit better when

  • invoices and expenses should come from the time tracker
  • time is kept as hours per day on a weekly timesheet
  • each hour usually goes to one project

Moving from Harvest

Clients, projects, tasks and time entries come with you, for the whole team at once.

  1. Export the detailed time reportIn Harvest, open Reports, then Detailed time, choose the dates you want and export it as CSV.
  2. Check the previewSpindle shows the people, the new clients and projects, and every entry before anything changes. People are matched to members by name, as Harvest's export has no email.
  3. ImportHarvest keeps hours without a time of day, so each person's entries on a day are placed one after another from 9:00. Clients and projects that already exist are reused by name, and importing the same file twice adds nothing.

How importing works →

Questions, answered

Short answers about switching from Harvest. More on the home page.

What is the main difference between Spindle and Harvest?

In Spindle, one time entry can count on several projects at once, by hand or from a suggestion based on Claude Code and Codex activity. In Harvest, each entry belongs to one project and task. Spindle is also open source under AGPL-3.0 and can run on your own server, which Harvest can't.

Can Harvest split a time entry between projects?

No. In Harvest, each time entry belongs to one project and task, so an hour spread across several projects has to be typed in as separate entries. Spindle can divide one entry between two and six projects by share, or save it as separate entries at a point in time.

Can I import my Harvest data into Spindle?

Yes. Export the detailed time report from Harvest as CSV and import it in Spindle. It brings over clients, projects, tasks and time entries, matches people to members by name, and shows a preview before anything changes. Harvest's export usually has hours without a time of day, so Spindle places each person's entries on a day one after another from 9:00, and the preview says so. Importing the same file twice adds nothing.

How much does Spindle cost compared to Harvest?

Spindle Cloud is free for 90 days, then €5 per person a month, with every feature included. Running Spindle on your own server is free. Harvest has a small free plan, then paid plans charged per seat a month, with more features on higher plans.

Can Harvest be self-hosted?

No. Harvest is available only as Harvest's hosted service. Spindle can run on your own server for free, from one Docker image and a Postgres database, and it is the same app as Spindle Cloud.

Does Spindle send invoices like Harvest?

No. Harvest includes invoices and expenses on every plan. Spindle shows what there is to bill and exports reports as PDF, CSV or Excel for your invoicing tool.

Does Spindle work without AI agents?

Yes. Spindle is a complete time tracker with a timer, a calendar, reports and exports, like Harvest. You can split an entry by hand, and suggestions only appear when there is agent activity to base them on.

Bring your hours with you.

Free for 90 days on Spindle Cloud, or free for good on your own server. Your Harvest history comes along.