Time reports roll up every tracked and manually entered hour so you can see where time went. Each report uses a single grouping axis — by project, by teammate, by task, or by label — so the view is either project-first or person-first, not both at once. This article covers choosing the right grouping, building a report, and exporting it as a CSV.
Building a report
Open Time > Reports and choose a grouping. Each grouping shows total hours through a single lens — pick the one that matches what you want to answer:
Grouping | Shows | Best for |
By teammate | Total hours per person, summed across all their projects | Capacity reviews, utilization, payroll |
By project | Total hours per project, summed across all team members | Project budgets, client billing, scope tracking |
By task | Total hours per task line | Granular project breakdown, estimate vs actual |
By label | Total hours grouped by your custom labels | Cross-project categories (e.g. "internal", "admin") |
Note: Reports are single-axis only. There's no built-in view that shows hours broken down by both person and project simultaneously. To get a combined breakdown, export to CSV and use your spreadsheet tool to pivot or group the data however you need — the export includes one row per time entry with both the teammate and project columns.
Go to Time > Reports.
Pick a grouping. For example, choose "By teammate" to see each person's total hours, or "By project" to see totals per project.
Set a date range, such as the last 30 days.
Optionally filter to a specific project like "Website relaunch" or to billable hours only.
Reports update live as new time is logged, so a saved report always reflects current data rather than a snapshot.
Exporting to CSV
Click Export CSV above any report to download the underlying rows. The export includes one row per time entry, not per summary line, so you can re-aggregate the data in a spreadsheet or feed it into payroll or invoicing tools.
date,project,task,teammate,hours,billable,note
2026-07-06,Website relaunch,Fix checkout redirect,Priya,2.5,true,Fixed checkout redirect bug
2026-07-07,Website relaunch,QA pass on staging,Priya,1.75,true,
2026-07-07,Client onboarding,Kickoff call prep,Marcus,0.5,false,
The billable column reflects whether the task's project has billable rates enabled — see Billable rates for how that's set.
Comparing time to estimates
If a task has an estimate, reports grouped by task show tracked hours next to it, so you can see at a glance whether "QA pass on staging" ran over its two-hour estimate. This comparison is informational only — going over an estimate doesn't block further time tracking on a task.
Report fields
Field | Description |
date | The date the time entry was logged against |
project / task | Where the time was tracked |
teammate | Who logged the time |
hours | Duration, in decimal hours |
billable | Whether the entry counts toward a billable rate |
note | The optional note added when the timer stopped |
Saved reports
Click Save report to keep a grouping and filter combination for later, for example "Client onboarding — billable, last quarter." Saved reports appear in the sidebar under Time > Reports for every teammate with access to the underlying project, so an Admin can build a report once and the whole team can reopen it with current numbers.
Tips
Save a report's filters by bookmarking the page — Examply keeps your grouping and date range in the URL.
CSV exports use UTC dates regardless of your local timezone; convert before importing into a payroll system that expects local time.
Large exports over 10,000 rows are emailed as a download link instead of downloading directly in the browser.
