Import time from Harvest
Applies to Workletto 1.x.
Workletto can read the time export from Harvest and add it to your install: the entries, and the clients, projects, tasks and people they mention. It reads one kind of file, Harvest’s Detailed time report as a CSV. Nothing else is imported, and no other app’s files are read.
Only admins and managers can import. Open Manage, then Import & export, and find Import from Harvest.
Before you start
Section titled “Before you start”- Take a backup first. Admins can download one under Manage, then Security & data.
- If timesheet approvals are on, reopen any submitted or approved week the file covers. A row in such a week is refused.
Import a file
Section titled “Import a file”- In Harvest, export your time as CSV. The page tells you where: Reports, then Detailed time, then Export, then CSV. Choose every project and person you want, because the importer can only create what the file mentions.
- In Workletto, click Choose a CSV file and pick the file. A file with no rows is refused with “That file has no rows. Choose a CSV file with a header row.”
- Under Match the columns, check that each field points at the right column. Workletto guesses by the column names. A field marked with a star must be matched: Date, Project and Hours.
- Choose how Dates look like: year first (2026-10-15), day first (15/10/2026) or month first (10/15/2026). Workletto guesses from the file.
- Read the first rows under “as they’ll be imported”. If a column or a date looks wrong, fix it here.
- Choose the options (below), then click Check file.
- Read the summary. If it looks right, click Import followed by the number of rows. Nothing is saved before this step.
Changing a column, the date order or an option throws the check away, so you check again before importing. Big files are sent in batches of 500 rows, for you.
The fields
Section titled “The fields”Date, Person, Person email, Client, Project, Task, Notes, Hours, Billable, Billable rate and Invoiced. Hours can be written 1.5 or 1:30, up to 24 per row. Billable and Invoiced are Yes or No. If the file has no single name column, Person is made from the First name and Last name columns. Any other column is listed as “Not imported, because there’s nowhere to put it”. The billable amount isn’t needed, because amounts are worked out from hours and rates.
The options
Section titled “The options”- Add clients, projects, tasks and people that aren’t here yet. On by default. People are added without a login, so you can invite them later. Turn it off and a row that names something you don’t have is refused (“There’s no project called …”).
- Skip rows that are already here. On by default. A row counts as already here when the date, person, project, task, time and notes all match, so importing the same file again adds nothing.
- Already invoiced. If any rows are marked as invoiced, you choose Import as not billable or Leave them out. Not billable keeps the hours in your time reports, but they can’t be invoiced a second time, and they don’t count in billable hours or amounts.
What it brings in
Section titled “What it brings in”- Time entries: date, hours, notes, task, and whether each is billable.
- Clients, by name, ignoring capital letters. A client you already have is matched, not duplicated.
- Projects, with the file’s client. A new project is billable when any of its rows is. If everyone on it is billed at the same rate, the project gets that one rate; if the rates differ, it is billed at each person’s own rate.
- People, matched to the people you have by email, then by name. A new person is added as a member without a login, with their most common billable rate in the file as their hourly rate. A person who already has a different rate keeps it, and the summary says so.
- Tasks, created on their project by name.
What it does not bring in
Section titled “What it does not bring in”- Invoices. Harvest invoices aren’t read. Time marked as invoiced comes in as not billable, or is left out.
- Expenses. They aren’t in the Detailed time report.
- Anything else in the file. Client contact details, project budgets and dates, and people’s roles aren’t created.
What the check tells you
Section titled “What the check tells you”The check and the final summary can show these. A problem in some rows doesn’t stop the others.
- How many rows are ready, how many are already here and will be skipped, and what will be added: clients, projects, people and tasks. Look here for a misspelled client or project name before you import.
- Rows marked as invoiced, and what will happen to them.
- Billable rows with no rate to charge. Their billable amount is 0 until you set an hourly rate on the project or on the people who worked on it.
- Rows charged at a different rate than the file says. A project is billed at one rate, or at each person’s own rate, so a different rate for one person on one project can’t be kept. Each such row is listed with both rates.
- Rows with problems, listed by row number and left out. For example “Several projects are called … Add the Client column to tell them apart.”, an hours value that isn’t like 1.5 or 1:30, a date that doesn’t fit the order you chose, or “This person’s week is submitted or approved. Reopen it in Approvals first.” Fix the file or the week and import again; rows already imported are skipped as already here.
After the import
Section titled “After the import”The import is recorded in the history, one line for each batch, such as “Imported 120 time entries”. Budget alerts are brought up to date without sending anyone an email, so imported history doesn’t fire an alert.
Open Reports for the same dates and compare the totals with Harvest’s. Then set rates, invite the people who were added without a login, and check your projects.