Skip to content

Job health: labour against progress

See which live jobs are using labour hours faster than they are progressing, with a red or orange flag, a forecast of final hours and a monthly view of completed jobs.

For ownersAvailable on Pro and EnterpriseLast reviewed
On this pageBefore you start

Job Health compares the labour hours used on each live job with how much of the job is finished. A job whose hours run ahead of its progress gets a red or orange flag, so you can act before it finishes over quote. The page also lists completed jobs by month, with quoted and actual hours.

This is internal cost tracking. Nothing on this page goes to your customer, and it is not used for variations.

Before you start

Only the owner and admin can open Job Health. It is under Finances in the menu and needs the Finances module. Dispatchers, office staff and field roles are sent back to Home.

A job can only be flagged once it has quoted hours. Enter them on the job's Edit tab, in the Quoted hours row. See Edit a job from the Edit tab. A job with no quoted hours, or with 0, shows No quoted hours and is never flagged.

How the flag works

For each live job, ONYX1 compares two percentages.

  • Hours used is the job's approved worked hours as a percentage of its quoted hours. Only hours on approved timesheets count. Lunch is taken off. Hours still waiting for approval are not counted yet.
  • Progress is the job's percentage complete. It comes from the job's phases, or from its latest progress update when it has no phases. If neither is recorded, progress counts as 0.

The gap is hours used minus progress, in points. The flag colours are:

  • Red: the gap is at least the red threshold, or the job has used more hours than it quoted.
  • Orange: the gap is at least the orange threshold.
  • Green: the gap is below the orange threshold.

The defaults are 10 points for orange and 20 points for red. The owner can change them in Settings → Payroll & costing. See Payroll and costing settings.

Worked example

A job is quoted at 200 hours. It has used 150 hours, which is 75% of the quote. Its progress is 55%.

  • The gap is 75 minus 55, which is 20 points.
  • With the default thresholds, a gap of 20 is red.
  • The forecast is 150 divided by 0.55, which is about 273 hours. That is about 73 hours over the 200 quoted.

The job page rounds the forecast to whole hours, so it shows 273 hours. The Job Health table shows one decimal place, so it shows 272.7.

Forecast is blank when progress is 0 or unknown. Without a forecast there is no forecast overrun to show.

The Live jobs list

The top section, Live jobs, lists every job that is not archived and not Completed, Ready to invoice or Invoiced. Each row shows the job, its customer, its category (the job's Trade), Quoted hrs, Hours used, Progress, Gap, Forecast hrs, the flag and the cause.

The list is sorted red first, then orange, then green, then jobs with no quoted hours. Within a colour, the job with the biggest forecast overrun comes first. Select a job to open it.

To narrow the list, choose a Flag or a Category, then select Filter. The categories are the ones your jobs use, plus No category.

The Cause column shows the job's overrun cause, or No cause if none is set. Owners and admins set the cause on the job's Edit tab.

Completed jobs

The lower section, Completed jobs, covers the jobs completed in one New Zealand month. The month defaults to the current one. To change it, choose a Month and select View.

  • The two tables at the top total the month's jobs, with their quoted and actual hours, By category and By cause.
  • The table below lists each completed job, with its completion date, cause, quoted hours and actual hours.

Select Download CSV to download the month's jobs, one row per job. The file has the job ID, job number, title, customer, category, completion date, quoted hours, actual hours and overrun cause. The cause is written as its label, such as Scope added by client, or No cause when none is set.

Daily alerts

ONYX1 checks each live job with quoted hours once a day, early in the morning New Zealand time. It alerts only when a job's colour has changed since the previous check.

  • A job that turns red sends a High labour overrun notice to owners and admins.
  • A job that turns orange, including one that eases from red to orange, sends a Labour overrun notice to admins.
  • A job that turns green sends no notice. Its new colour is recorded silently.

The notice links to the job. In-app and push notices are on by default. Email is off by default. Owners and admins can change the channels for this event in Settings → Notifications, under Jobs, in the row Job labour hours running ahead of progress.

Alerts are not sent when a timesheet is approved or when progress is posted. The check runs once a day, so a change shows on the next check.

Who sees what

  • Owner and admin: the Job Health page, the flags and forecast on the job's Money tab, the cause and note on the job, and the alerts.
  • Dispatcher and office: the Labour vs quote card on the job's Money tab, with hours, progress, gap and forecast. They do not see the cause or note, and they do not see Job Health.
  • Tech, contractor and site supervisor: none of it. They do not see the card, the quoted hours, the cause, the note or the alerts.

If something goes wrong

  • The job shows No quoted hours: the Quoted hours row is blank or 0. Enter the hours on the Edit tab. The row is only on open jobs, so a finished job cannot be changed here.
  • The forecast shows None or Not available: the job has no progress recorded, or its progress is 0. Add progress on the job, and the forecast appears.
  • A job is missing from Live jobs: the job is archived, or it is Completed, Ready to invoice or Invoiced. Completed jobs appear in the month view instead.
  • You expected an alert that did not arrive: the alert only fires when the colour changes at the daily check. A job that was already orange on the last check does not alert again until it changes.