How to export Harvest to Excel (and make the numbers useful)
Updated 2026-10-26 · Written by the Feestead team
Getting hours out of Harvest takes a minute. Turning them into totals per project, client and month takes another five, if you set the sheet up right. Here's the whole workflow, from a one-off export to an Excel file that refreshes straight from Harvest.
1. Export the detailed time report
- In Harvest, open Reports and choose Detailed time.
- Set the timeframe. For your full history, pick a custom range starting at your first entry.
- Optionally filter by client, project, task or person.
- Click Export and choose Excel. CSV works too and also opens in Numbers and Google Sheets.
Each row is one time entry: date, client, project, task, notes, hours, billable flag, person, rates and amounts. Admins can also download all company time as one CSV from Settings → Import/Export. More on that in our complete Harvest export guide.
2. Clean it up in two steps
- Make it a table. Click any cell and press Ctrl+T (⌘+T on Mac). Name it
Harvestin Table Design. Formulas and pivot tables now grow with the data. - Check the hours format. If hours show as
1:30instead of1.5, switch Harvest's time format to decimal before exporting, or convert in a new column with=[@Hours]*24when Excel reads them as times.
3. Formulas you'll actually use
| Question | Formula |
|---|---|
| Hours on one project | =SUMIFS(Harvest[Hours], Harvest[Project], A2) |
| Billable hours on that project | =SUMIFS(Harvest[Hours], Harvest[Project], A2, Harvest[Billable?], "Yes") |
| Billable amount for a client | =SUMIFS(Harvest[Billable Amount], Harvest[Client], A2) |
| Hours in a month | =SUMIFS(Harvest[Hours], Harvest[Date], ">="&B1, Harvest[Date], "<"&EDATE(B1,1)) |
| Billable share | =SUMIFS(Harvest[Hours], Harvest[Billable?], "Yes") / SUM(Harvest[Hours]) |
Column names follow Harvest's export headers. If yours differ slightly, adjust the names in brackets.
4. Pivot tables in 30 seconds
- Hours per project: Insert → PivotTable → Project in Rows, Hours and Billable Amount in Values.
- Client by month: Client in Rows, Date in Columns (grouped by Months), Hours in Values.
- Who worked on what: Project in Rows, Last Name in Columns, Hours in Values.
For utilisation across the team, plug the totals into our free billable utilization calculator.
5. Refresh from Harvest automatically with Power Query
Exporting by hand gets old. Excel's Power Query can call the Harvest v2 API directly. Create a personal access token at id.getharvest.com/developers, then go to Data → Get Data → From Other Sources → Blank Query, open the Advanced Editor and paste:
let
Token = "YOUR_HARVEST_TOKEN",
Account = "YOUR_ACCOUNT_ID",
Headers = [Authorization = "Bearer " & Token,
#"Harvest-Account-Id" = Account,
#"User-Agent" = "excel-export ([email protected])"],
GetPage = (page as number) => Json.Document(Web.Contents(
"https://api.harvestapp.com/v2/time_entries",
[Query = [per_page = "2000", page = Number.ToText(page)], Headers = Headers])),
First = GetPage(1),
Pages = if First[total_pages] <= 1 then {First}
else {First} & List.Transform({2..First[total_pages]}, each GetPage(_)),
Entries = List.Combine(List.Transform(Pages, each _[time_entries])),
Result = Table.FromRecords(List.Transform(Entries, each [
Date = [spent_date], Person = [user][name], Client = [client][name],
Project = [project][name], Task = [task][name], Hours = [hours],
Billable = [billable], Rate = [billable_rate], Invoiced = [is_billed],
Notes = [notes]]))
in
Result
Choose Anonymous when Excel asks for credentials (the token is in the headers), then Close & Load. From now on, Data → Refresh All pulls the latest entries. Keep the file private: it contains your token.
Google Sheets instead?
Import the CSV with File → Import. The formulas above work the same if you use plain ranges like C:C instead of table names.
Leaving Harvest?
Keep this Excel export as your backup. Once you've imported into a new tool, export its time entries too and drop both files into the free Harvest migration checker: it matches hours and billable amounts per project so you can cancel with confidence. Agencies comparing options can start with time tracking for agencies without usage fees.
FAQ
Can Harvest export to Excel directly?
Yes. Every report in Harvest has an Export button with Excel and CSV options. The detailed time report gives you one row per entry, which is what you want for pivot tables.
How do I export all Harvest data at once?
Admins can download all company time as a single CSV from Settings → Import/Export, plus invoices and estimates as ZIP files. See the full export guide.
Why are my hours wrong after opening the file?
Usually the hh:mm format. Export with decimal hours, or multiply Excel time values by 24 to get decimal hours.
Move from Harvest without losing a minute
Paste a Harvest token, import everything, and check every project against Harvest's numbers before you cancel. 7 days free, then $9 per person/month billed yearly ($108/person/year), or $11 monthly, with no usage fees.