---
title: Group and export time as reports
description: Pull logged hours grouped by person, project, work item or time category, filtered and exported to CSV
order: 4
---

**Reports → Time** turns logged hours into a matrix instead of a week-by-week grid. Reports
is a manager and admin page; everyone else reads their own totals on **My week** and
**My month**.

## Choosing a period

The window is fixed and sized by the **Bucket** select, which defaults to **Week**: **Day**
spans 7 days, **Week** spans 84 days (12 weeks), **Month** spans 12 calendar months.
Previous/Next and **Today** move the window; switching the bucket re-snaps to a window of
the new size around where you were.

## Group by, and filters

A **Group by** select with four options - **Project** (the default), **Person**, **Work item**,
**Category**. Category is the tenant-defined [time category](/docs/time/rnd-capex-opex/) axis;
capex/opex is a one-click preset. Three filters sit alongside it: a **project** picker, a
**team** picker (defaulting to "All my people," same manager/admin scoping as Team
timesheets), and a **category** picker (one of your categories, or unclassified). Person and
work item are grouping axes rather than filters - group by **Person** or **Work item** to see
that breakdown.

## What the table shows

One row per group (a person, a project, a work item, or one of your categories / unclassified),
one column per bucket in the window, hours only - the table carries no rates and no approval
status. A project row's sub-label is its code; a work item row's is its tracker
issue key when it has one. Rows sort by total, highest first, and the tab requests the top 10 -
the tail folds into one **Other** row and a **Total** footer covers every group in scope, so the
columns still reconcile. On narrower screens the matrix becomes a stack of per-group cards
instead of a wide table.

## CSV export

**Export CSV**, beside **Today** in the period nav, downloads exactly what is on screen - same
group-by, same filters, same window; the link appears once the window has rows. Columns are
the group's label, its sub-label (code or issue key, blank otherwise), the row total, then one
column per bucket in the window. The tail ships as a final `Other (outside top rows)` row, so
the file and the table carry the same total.

## For agents

`get_time_report` returns the same matrix as a tool call: a `groupBy` of `employee`, `project`,
`task` or `classification`, a `day`, `week` or `month` bucket, and the same project, team and
category filters, plus an `employeeId` the tab does not offer. The range is capped at 366 days,
a manager sees only the people they manage, and anyone may run the report scoped to themselves.

> [!AGENT]
> Pull this month's logged hours grouped by capex/opex for the Platform team, and give me the numbers as a table.

## Worked example

Marta opens **Reports → Time**, sets the bucket to **Month**, groups by **Category**, and
filters the team picker to Platform. The twelve monthly columns split the Platform team's
hours into capex and opex rows; she downloads **Export CSV** and hands the file to finance.

## Related

- [Classifying engineering time as capex or opex](/docs/time/rnd-capex-opex/)
- [Timesheet mechanics](/docs/time/timesheets/)
- [Connect Claude to SquadBear](/docs/getting-started/connect-an-agent/)
