Skip to main content

Hours Worked Report

Filtered Data

This report is filtered based on your division settings:

  • Function: Operational
  • Work Type: Full Project, Service

Compare hours worked to estimated hours across cost codes, grouped by department. Use this report to check whether labor is tracking to estimate and to see which categories are over or under.

Accessing the Report

Reports > General > Hours Worked

Report Columns

Rows are grouped by department (Production, Design, Non-Billable). Each group lists cost codes with category-level totals and a department total row.

ColumnDescription
CategoryCost code number and name
Est HoursTotal estimated labor hours for the category from sold estimates. Shown only when a production date range or sales stage filter is set.
% Est HoursCategory's share of the department's total estimated hours
Hours WorkedActual hours logged to this cost code in the selected worked date range
% Hours WorkedCategory's share of the department's total hours worked
Diff.Est Hours − Hours Worked (positive = under estimate, negative = over). Shown only when estimates are visible.
% Diff.Hours Worked ÷ Est Hours × 100 — how much of the estimate has been consumed
Employee CountDistinct employees who logged time to the category
Project CountDistinct projects the time was logged against

Click any category row to open a drill-down dialog showing each matching time entry (employee name, project, date, hours).

:::note Estimate columns Est Hours, % Est Hours, Diff., and % Diff. are only displayed when you set a Substantial Completion Date range or a Sales Stage filter — these scope the report to a meaningful set of projects so estimates can be totaled. :::

Date Range Filters

FilterWhat it filters
Worked Date RangeThe date on each time entry. Required to run the report.
Substantial Completion DateThe project's substantial completion date. Combine with Worked Date Range to limit totals to jobs completing in a specific window.

Additional Filters

Open the Filters drawer to narrow the report further. The badge next to the Filters button shows how many are active.

FilterDescription
Sales StageInclude only projects in the selected stage
DivisionOpportunity type (operational / full-project divisions only)
UserEmployee who logged the time entry
Department TypeShow only Production, Design, or Non-Billable rows
Project ManagerProjects assigned to the selected PM
Lead CarpenterProjects assigned to the selected lead carpenter
Project ID From / ToNumeric project ID range
Cost CodeA single cost code, when you only want to see that line

Use Clear All Filters at the bottom of the drawer to reset every filter except the two date ranges.

Project-level Filters and Change Order Rollup

When you filter by a project-level value — Substantial Completion Date, Sales Stage, Division, Project Manager, Lead Carpenter, or Project ID range — the report evaluates the filter against the parent project. If the parent matches, totals include the parent and all of its change orders and add-ons / allowances, even when a change order or add-on has a different value for the filtered column.

This matches the way hours roll up on the project's Production Stage tab, so estimated and actual totals stay consistent between the two views.

Warranty jobs stand alone. A warranty is filtered by its own column values rather than its original project's. This prevents warranty time from being pulled in (or excluded) based on the original project's completion date or stage.

Worked Date Range is not rolled up. It always filters on individual time-entry dates, so you can scope actuals to any window independently of the project's lifecycle.

Export

Click Export CSV to download the report exactly as displayed, including department headers and totals. The export respects the current sort order and every active filter.

Reading the Report

  • Diff. is positive — the category is under its estimate so far. Confirm the work isn't simply incomplete.
  • Diff. is negative — hours have exceeded the estimate. Investigate scope changes, rework, or estimating gaps.
  • % Diff. > 100% — actuals have fully consumed the estimate. Useful as an early warning on active jobs.
  • High Employee Count, low Hours Worked — many people touched the category briefly. Can indicate handoffs or rework.
  • Low Project Count, high Hours Worked — hours are concentrated on a small number of jobs. Click through to confirm they are the expected ones.

Tips

  • Set a Substantial Completion Date range to unlock the estimate columns and compare actuals to plan.
  • Use the row drill-down to chase down unexpected entries before assuming the estimate is wrong.
  • Combine Department Type with Lead Carpenter to review a single crew's performance.
  • Export and pivot in a spreadsheet when you need cross-category comparisons the on-screen view doesn't provide.