If your business runs on labour, every hour your team logs is either revenue, opportunity, or a leak. This release brings nine new reports to Reports → Timesheets that make every one of those hours visible — from monthly billing right through to where time is quietly being lost.
The suite is organised around the four questions every services business asks every month:
A single view of the month's revenue picture. Projects are listed with total billable and total hours. Expand any project to see each employee's contribution; expand an employee to see the individual timesheets behind their numbers. Use the chevrons either side of the month picker to flick through your month-end review in seconds.
Billable work that hasn't been invoiced yet, aged into 0–30 / 31–60 / 61–90 / 91+ day buckets per project. The 91+ column is highlighted in red — that's the money most likely to be left on the table. Click any project to see the individual unbilled entries behind the totals.
Labour revenue (invoiced timesheet lines) minus labour cost (timesheets.totalcost) per project, with margin $ and margin %. Negative margins are flagged in red, low margins in amber — at a glance you'll see which projects are quietly bleeding even though hours are being clocked.
Average dollars-per-hour realised on invoiced labour, per project. Surfaces silent discounting: if your standard rate is $150 and a project is clocking $112/hr realised, that gap is a conversation worth having. A blended rate across all selected projects sits in the footer.
Cumulative labour spend against the project's budgeted revenue and cost (read from jobs.estimated_revenue and jobs.total_cost). Status flags every project as OK, Tight (≥80%), Over budget or No budget set — particularly important for fixed-price work where margin erosion can hide until the job is closed.
Billable hours vs available hours per employee for the month. Available hours default to 38/week (override in the filter row for part-timers or longer working weeks). Utilisation % is colour-graded — green ≥75%, amber 50–75%, red <50% — and there's a blended figure in the footer so you can see how the whole team is tracking.
Per-employee breakdown of how time is being spent — billable vs non-billable hours over a date range, with a department drill-down so you can see where non-billable time is going (admin, internal, training, etc.).
The reports above are only useful if the timesheet data underneath them is complete and approved. These two reports keep the input clean.
Timesheets pending approval past their work date, grouped by employee + project. Days outstanding turn amber at 7 days and red at 14. Drill into a row to see exactly which entries are stuck.
Employees who logged less than the threshold hours on workdays (Mon–Fri by default, configurable). Each missing day links straight through to "Add timesheet" so managers can chase entries in two clicks. Department-filtered runs only include staff who actually work in that department.
Every report in the suite shares the same conventions, so once you've learned one you've learned them all:
Reports → Inventory/Sales/Timesheets menu → expand the Timesheets accordion. Each report's link now sits under a short description of what it does, so you can find the right report without opening five tabs.
These reports lean on a few assumptions that are worth knowing about up front:
timesheets.totalcost. If your tenant doesn't reliably populate cost rates on entries, the dollar columns in Margin and Run-Rate will under-read — easy to spot in pre-prod.src='timesheets'. Older labour billed under generic inventory lines won't be picked up.If anything looks off when these go live, the Missing Timesheets and Outstanding Approvals Ageing reports are the fastest way to confirm whether it's a data-quality issue or a report bug.
This release lays the foundation. The next round will look at per-employee bill-rate cards (so Effective Bill Rate can compare against an expected rate, not just an average) and timesheet edit history for audit and dispute resolution. Let us know which would be most useful — your feedback shapes the build order.