DocsImporting

Importing from Toggl Track, Clockify or Harvest

Bring clients, projects, tasks, tags and time entries over from a detailed CSV report of Toggl Track, Clockify or Harvest. A preview shows everything before anything changes.

On this page

To move to Spindle, export a detailed report as CSV from your old tracker and import it in the Spindle web app. One file brings the whole team’s time at once, with its clients, projects, tasks and tags. Nothing changes until you have checked the preview and clicked Import.

Note. Only workspace admins can import time. Import is in the web app, under Settings › Import time, or press ⌘K and look for Import data.

Before you start

  • Invite your team first. Each person’s time goes to a member of the workspace. Time of people who aren’t members yet is left out of the import, so invite them before you import.
  • Pick the dates. One file can hold up to 100,000 entries and 20 MB. For more, export a year per file and import them one by one.

Export the detailed report

Every tracker has a detailed report with one row per time entry. Export that one, as CSV.

Toggl Track

Open Reports › Detailed, choose the dates, then Export › Download CSV.

Clockify

Open Reports › Detailed, choose the dates, then Export › Save as CSV. On Clockify’s free plan, reports export only as PDF, so the CSV export needs one of Clockify’s paid plans or its trial.

Harvest

Open Reports › Detailed time, choose the dates, then Export › CSV. Harvest keeps hours without a time of day, so Spindle places the entries on each day for you. See Harvest entries without a time of day.

Spindle

A detailed CSV report from Spindle works too. Use it to move time between workspaces, or between Spindle Cloud and your own server.

Import the file

  1. In the web app, open Settings, and under Import time click Import from a CSV file.
  2. Choose the CSV file, or drop it on the page.
  3. Check The file’s times are in. It starts at your own time zone; pick the one the file was exported in.
  4. Leave Dates are written like on Work it out, unless the preview reads dates the wrong way.
  5. Check the preview, and click Import. The button says how many entries it will add.

The preview counts what the file holds:

What it means
To import Entries that will be added, and their total time.
Already here Entries the workspace has already. They are skipped.
Left out Entries of people who aren’t assigned to a member.
Unreadable Rows that couldn’t be read, listed below with the reason.

Below the figures, People lists everyone in the file with the member their time goes to, and Created on the way lists the clients, projects, tasks and tags the workspace doesn’t have yet.

The import is all or nothing: every entry that can be read is added in one go, or, if something goes wrong on the way, nothing is. When it’s done, See it in reports opens the imported dates.

How the file is matched

People

Spindle matches each person in the file to a member of the workspace by email, or by name when the file has no email. Harvest’s export has no email, so its first and last name are used. You can change who each person’s time goes to, or choose Leave out.

Clients, projects, tasks and tags

Clients, projects, tasks and tags that already exist are used as they are, matched by name. The rest are created. A new project is billable if most of its time in the file is, and gets a colour of its own. Harvest has no tags, so a Harvest file brings none.

Billable time

Each entry keeps whether it was billable in the file.

Dates and times

Times are read in the time zone you chose. The date order is worked out from the file. When every date could be read two ways, such as 03/04/2026, they are read with the month first, and the preview says so, with a link to read them the other way.

Harvest entries without a time of day

Harvest keeps hours per entry, such as 1.5 hours on a day, without a start or an end. Spindle needs both, so it places each person’s entries on a day one after another from 9:00, in the order of the file. On a day of more than 15 hours, they start earlier, so the day ends by midnight. The preview says how many entries were placed this way.

If your Harvest account tracks start and end times, the export has them, and Spindle uses them as they are.

Importing again

Importing the same file twice adds nothing: entries that are already in the workspace are skipped as duplicates. So you can fix the rows that couldn’t be read and import the whole file again.

A Harvest entry placed from 9:00 counts as already there when the same person has an entry that day of the same length and description.

What isn’t imported

The import brings time entries and what they belong to. Rates, budgets, invoices and expenses from your old tracker aren’t imported; set rates and project terms in Spindle after the import. People aren’t created as members; invite them first.

Limits

Limit
File size 20 MB
Entries in one file 100,000
Length of one entry 999 hours

Type to search every page of the docs.