Reports
- Free
- Solo
- Team
Reports turns the time you’ve already tracked into decisions: how time is spent across clients and projects, where money is leaking, and, on the Team plan, how the team is utilized. It’s available to every plan, in the Reports nav item.
Reports doesn’t ask you to track anything new. Every number comes from the same time entries, tasks, projects, and invoices you already have. See Time Tracking for how that data gets captured in the first place.
Date range and filters
Every lens in Reports shares the same controls at the top of the page:
- Date range: This Week, This Month, This Quarter, This Year, or a custom range you pick yourself.
- Client, Project, and Billable filters, narrow any lens down to a single client, project, or billable-only view.
- Member filter (Team plan), narrow to one person’s time.
Change the range or a filter once and every lens updates to match; you don’t set it per tab. Two figures are deliberately all-time rather than period-bound, and both say so where they appear: the Money lens’s uninvoiced liability, and the health columns on the Projects lens.
Sample data
While your workspace still has the sample clients, projects and invoices from your first run, Reports counts them and shows Includes sample data next to the page title, so you can see what each lens looks like before your own work fills it. The status strip on Home shows the same label. Once you clear it with Clear demo data on Settings → Workspace, Reports counts only your own records. The AI command bar and connected AI apps always leave sample data out of their reports.
Headline cards
Above the four lenses, Reports shows up to four headline cards: short, specific call-outs computed from your workspace data, not written by AI. Each card links straight to the lens or screen where you can act on it. For example, a card might flag a client whose effective rate has drifted well below your usual rate, a running uninvoiced total across your clients, or a flat-fee project that has passed its estimated hours. On the Team plan, a card can also flag a member who’s running well over or under capacity for the period.
Click a card to jump to the relevant lens already filtered, or to prefill the AI command bar with a related question.
The four lenses
Reports is organized into four tabs. Solo and Free workspaces see Money, Time, and Projects. The Team plan adds a fourth, Team.
Money
The lead lens, and the one to check first if you’re wondering whether you’re charging enough.
- Effective hourly rate: your billable revenue divided by your billable hours for the period. This is the headline number. See Effective hourly rate below for how it’s computed and a caveat on uninvoiced time.
- Billable amount: the value of billable time logged in the period.
- Uninvoiced liability: all-time, not limited to the selected range, so you always see the full amount sitting unbilled.
- % billable: the share of your logged hours that were billable.
- A stacked chart of billable versus non-billable hours over the period. Billable hours are deep purple and non-billable hours a much lighter lilac, and the legend beneath the chart shows a colour block for each. Hover any segment to read its exact value.
- A by-client table showing hours, billable amount, effective rate, and uninvoiced amount per client. Clients whose effective rate is well below your usual project rate are flagged, often a sign of a fixed-fee job that’s quietly gone over. Each row links to Create invoice, which opens Create invoice from time entries for that client.
Time
Where your hours go, independent of money.
- Total hours, average hours per day, utilization % (billable hours over total hours), and your busiest day for the period, shown as a weekday and date, for example
Thu, Jul 23. - Charts for hours by client, an hours trend across the period, and a day-of-week distribution. The hours-by-client donut shades your four biggest clients from dark to light and groups the rest into a single Other slice, labelled with how many clients it covers, so the ring stays readable however many clients you have.
- A concentration callout, for example noting that most of your time this period went to a small number of clients.
Points on the hours trend chart are labelled with the date range each bar covers, not a single date, for example Jun 29–Jul 5 when a week crosses a month boundary, or Jul 13–19 when it sits inside one. A bucket never reads like a single day’s hours. The bar and trend charts fill the width of their card, so on a desktop each bucket normally carries its own label. On a narrow screen, or over a long series, labels thin out to every second or third bucket rather than overlapping, and the first and last bucket are always labelled. Ranges longer than about two months switch to monthly buckets instead, labelled just by month, for example Jul 2026. Hours everywhere in Reports display as decimals in quarter-hour precision (0.25, 0.5, 0.75), the same grammar the weekly timesheet accepts, so a figure reads back the way you entered it.
Projects
Whether your active work is on track, and what it did for you in the period you’re looking at. The per-project table answers both, so its columns are split into two groups:
- Hours and Billable value cover the selected period only, and follow every filter, date range, client, project, billable, and member.
- Logged vs. estimated (all-time), Fee & burn (all-time), and Status cover the full life of the project. Burn has to be all-time, otherwise a project that went over budget last quarter would read as healthy again this month. A note above the table says the same thing.
How a project is scored depends on how you bill it, because “over” means different things:
- Hourly projects with an hourly rate are scored on money: the value of logged billable time against the budget, shown as a bar. Going over means a bigger invoice.
- Fixed-fee projects are scored on hours: time logged against the summed task estimates. A flat fee is a price rather than a spending limit, so the thing that can overrun is your time, not the client’s money. The Fee & burn column shows the agreed fee and what it has worked out to per hour so far, which is the number that tells you whether the fee was right.
- Hourly projects with no rate set say so rather than showing 0% of the budget used.
Alongside those:
- A status of on track, at risk, or over estimate/over budget, naming whichever yardstick the project was scored against.
- A scope-creep flag on fixed-fee projects that have passed their estimate, a sign the work has grown beyond the fee. Hourly projects don’t get it, because there the extra hours are billable.
- If a project has no estimate and no budget, the burn bar is omitted rather than showing a misleading value.
- Narrowing the date range never removes a project from the table. A project you didn’t touch in the period shows 0.0h, so a budget problem can’t hide just because the window is narrow. The client and project filters do change which rows appear.
Team (Team plan)
- Team
Available only on the Team plan; hidden entirely, along with the member filter, on Free and Solo.
- A per-member table of hours, billable hours, utilization %, and uninvoiced amount.
- A stacked chart of billable versus non-billable hours by member, using the same deep purple and lilac as the Money lens.
- A simple over/under capacity read per member for the period.
Deactivated members are excluded from every Team lens number.
Effective hourly rate
Effective hourly rate is your billable revenue divided by your billable hours for the selected period. It’s the number Reports leads with because it tells you, in one figure, whether your real earning rate matches what you think you’re charging.
One caveat: there is no rate stored per time entry. The billable value of time that hasn’t been invoiced yet is calculated live, using the project’s current hourly rate. That means if you change a project’s rate today, the value shown for that project’s uninvoiced time changes too, including time you logged before the rate change. Once time has been invoiced, its value is frozen on the invoice line item and won’t move again. So a shift in an uninvoiced total after a rate change isn’t a bug, it’s the uninvoiced figure catching up to your latest rate.
Ask the AI
You can also ask the AI command bar directly, for example “how did my time go this month?” or “what’s my effective rate on Acme this quarter?” The assistant answers using the same aggregates behind the Reports lenses, so the numbers always match what you’d see on the page.
Related
- Time Tracking, how time entries, the timer, and rounding work
- Invoicing & Payments, turning uninvoiced time into an invoice
- Dashboard, the Portfolio Desk’s cross-client metrics