Timesheets

Labour variance: billed vs actual hours

Read the Labour Variance dashboard card — billed hours vs logged hours, recovery %, and leakage.

Updated 19 July 2026 · 4 min read

Labour variance answers one question: are you billing the hours you actually work? It lives as a card on the Dashboard, not on the Timesheets page.

The Labour Variance dashboard card with a period selector set to Last month, an empty-state message, a Weekly recovery (last 9 weeks) mini chart, and data-quality flags reading '2 fixed-price excluded, 4 billed with no timesheets'.
The Labour Variance card. The flags along the top tell you what is and isn't being counted.

What it compares

  • Billed hours — the crew hours you charged for: the hourly (/hr) lines on billed jobs, multiplied by the crew size (FTE) on each line.
  • Logged hours — the hours on your timesheets for those jobs.

Recovery % is billed ÷ logged × 100. At 100% you billed exactly what you logged. Below 100% you worked more than you charged — that gap is money left on the table.

"Billed" means a job with status Completed, Invoiced, or Paid. A job still in progress does not count yet. So the card is about finished work, and it settles as jobs complete.

What you'll see

  • A period selector: This week, Last week, This month, Last month.
  • The headline recovery figure, and a line like "Billed Xh of Yh logged (±Zh) across N jobs".
  • An estimate of dollars worked but not billed — the leakage.
  • A Weekly recovery (last 9 weeks) mini chart, colour-banded (green near 100%, red when it drifts).
  • A Largest variances list — the worst individual jobs.

The data-quality flags matter

The flags along the top are not clutter — they tell you what the number is ignoring:

  • "N fixed-price excluded" — fixed-price jobs are not in the calculation (they have no hourly billing to compare).
  • "N billed with no timesheets" — jobs you billed but logged no hours against. These silently distort recovery, and usually mean crew hours never got recorded.
  • A missing-FTE warning — hourly lines with no crew size set, which understates billed hours.

A great-looking recovery % with "4 billed with no timesheets" underneath is not a great result — it is an incomplete one.

When the card is empty

If it reads "No billed hourly jobs with timesheet hours in this period yet", there is simply nothing to compare in that window — no completed hourly jobs that also have timesheet hours. Widen the period, or check that your completed jobs have both hourly billing lines and logged timesheets.

Tutorial: find where you're losing labour

Recovery feels low and you want to know why.

Open the card and pick a real period

On the Dashboard, find Labour Variance and set the period to Last month — a full month gives a truer picture than a quiet week.

Read the flags before the number

Look at the top flags first. "N billed with no timesheets" is the one that most often explains a strange figure — those jobs bill hours you never logged, so recovery is being computed on incomplete data. Fix the timesheets and the number becomes trustworthy.

Read recovery against 100%

Below 100% means you worked more than you billed. A month at 80% recovery is 20% of your crew's time given away — across a fleet, that is real money.

Use the weekly chart for the trend

The Weekly recovery (last 9 weeks) bars show whether this is a one-off or a pattern. A steadily-red run is a pricing or estimating problem, not a bad week.

Chase the largest variances

The Largest variances list names the worst jobs. Open one: did the crew stay hours past the quote? Was the job under-scoped? These specific jobs are where the lesson is.

Do not chase fixed-price jobs here

Remember fixed-price jobs are excluded — the flag says so. Their profitability is a different question. This card is only about hourly work, where billed and logged hours should match.

Close the loop on missing timesheets

The single highest-value fix is usually "billed with no timesheets". Make sure completed jobs generate crew hours — see auto-created timesheets — so the card is measuring reality, not gaps.

Can't find what you need?

Our support team is here to help.

Contact support