The four report types
TAB has four reports. They share the same filter sidebar and the same export options, the difference is how the data is sliced. Pick the one that matches what you're trying to answer.
Detail
One row per time entry. Columns: date, user, client / project, started, ended, hours, notes, status, amount. The totals row at the bottom sums hours and amount.
Use Detail when you need an audit trail (which entries make up this client's bill?), when you're cross-checking aggregates against the underlying entries, or when you want to attach line-item backup to an invoice.
By client
Aggregated to one row per client. Columns: client, entries, hours, rate, amount. The totals row sums entries, hours, and amount across all clients.
Use By client for monthly billing summaries, client profitability conversations, and "how much time did we spend on Acme this quarter?" If you want to drill in, switch to Detail with the same client filter.
By user
Aggregated to one row per user. Columns: user, email, entries, hours. Totals row sums entries and hours.
Use By user for staffing analysis, utilisation review, and end-of-quarter staff conversations. No rate or amount columns on this one, it's an hours view.
Unbilled
A focused list of approved entries that haven't been locked yet. Same columns as By client (client, entries, hours, rate, amount), aggregated by client.
Use Unbilled as the start of every billing cycle: see what's outstanding, lock entries as you invoice. Once entries are locked they drop off this report. The status filter is hidden on Unbilled, the report is implicitly scoped to approved-but-not-locked rows.
The filter sidebar
The filter card on the left of the Reports page has these inputs (same on all four reports):
- Report type. Dropdown to switch between Detail / By client / By user / Unbilled.
- From. Date input. Defaults to the first of the current month.
- To. Date input. Defaults to today.
- Client. Dropdown, "All clients" or a specific client.
- Status. Dropdown, All / Stopped / Submitted / Approved / Locked. Hidden when the report type is Unbilled.
There are no preset date ranges like "This month" or "Quarter to date", the From/To inputs are freeform.
Click Run report to load the table. The results area stays empty until you do.
Exporting
Three buttons live above the results table:
- Print, opens your browser's print dialog. Useful for "Save as PDF" the browser way.
- CSV, downloads a comma-separated file. Filename is
<report-type>-<today>.csv. - PDF, opens a server-rendered, firm-branded PDF in a new tab.
All three buttons are disabled until you've run the report (rows.length === 0 until then). The export always reflects the filters currently in the sidebar.