Blair Wright Waterloo Quay

Workshop performance
This week at a glance

The five numbers that say whether this shop is having a good week. Everything below the tiles explains how they were arrived at. The week resets every Monday.

Invoiced this week
Value invoiced out of this shop since Monday, against the weekly revenue target. The bar fills toward that target.
Jobs out this week
Cars invoiced and finished this week, with today's count and throughput per paint booth per day.
Team recovery
Sold hours ÷ paid hours for every production technician here. 100% means every hour of wages produced an hour of sellable work. This is the number to manage on.
Team efficiency
Sold hours ÷ hours spent on finished work. Higher than recovery by definition; the gap between the two is time we paid for that never reached a car. Tasks earn their sold hours when they are marked complete, so work in progress is left out of both sides.
Average day
Average paid hours per technician per day worked — time on site less the unpaid half-hour at 1:30. This is the day the shop actually pays for.
Average break
Minutes on break per technician per day, both breaks together — 30 paid at 10am and 30 unpaid at 1:30pm, so 60 is the entitlement rather than a target to beat.
Booth cycle
Average hours of paint-booth time each job consumes out of an 8-hour day. Lower is better — 2.4 hours is the NZ industry average, meaning the booth turns over roughly three jobs a day.

The booth is usually the real constraint. A panel shop can only push through as much work as the booth will cycle, so booth cycle sets the ceiling on everything else. Recovery tells you whether the hours you are paying for are turning into revenue; invoiced tells you whether that revenue is actually going out the door this week.

Invoiced this week
$152,039
target $107,000 · 142% of pace
Jobs out this week
25
0 today · 2.5 per booth/day
Team recovery
66%
206 sold / 310 paid
Team efficiency
99%
on 209 hrs of finished work
Average day
8.0 h
paid hours per tech per day
Average break
50 min
per tech per day · 60 min entitlement
Booth cycle
3.2 h
2 booth(s) · target 2.4 h

Weekly trend WQ

Thirteen weeks of the figures that actually move week to week. The benchmark tab shows where we stand against the industry once a year; this shows whether what we changed last month is working.

The line
One point per week, oldest left. The dashed line is the target where there is one — 100% recovery, the 3.9 industry booth rate, a 2.4 hour cycle.
The arrow
The most recent six or seven weeks against the earlier six or seven, so one odd week does not decide it. Green is the direction we want, which on unclocked time and booth cycle means down.
The number
The most recent completed week.
Scale
The vertical axis fits the data rather than starting at zero. A recovery line between 63 and 87 would be a flat smear against a zero baseline. Read the values, not the steepness.

Why the benchmark ratios are not here: they come from a Xero P&L loaded as a single 12-month period, so they have exactly one data point each. Paint liquid cost and gross profit cannot be trended until we start banking the P&L monthly. These six come from daily job and labour data, which we have had all along. The current week is deliberately excluded — a part-finished week always looks like a collapse and people react to the shape before they read the axis.

PPG suggested budget \u00b7 your budget drives status

This shop's actuals against budget. PPG suggested is PPG's proposed 2026-27 budget — a vendor suggestion for reference, not an adopted target, so it never flags a shop red. Your budget is the number we act on once it is set; status only lights up where a budget has been adopted.

Now
The shop's current actual for the measure.
Your budget
Blair's adopted budget. Blank until set — and only this drives red/green, because a suggestion is not a commitment.
PPG suggested
PPG's proposed figure from the 2026-27 plan. Reference only, shown in grey so nobody reads a vendor proposal as a pass/fail.
Charge rate vs PPG rate
Manager view only, basis-under-review: billed rate and PPG's rate are measured differently, so the raw gap overstates the problem. Do not read it as staff under-charging.

The path to profit is the cost lines, not the door rate. Paint liquid cost, parts margin and non-chargeable wages are where the core-labour loss lives. Set a budget on these and this panel will track it; until then PPG's suggestion is a starting point to argue with, not a scoreboard.

Budget vs actual

MeasureNowYour budget PPG suggestedStatus
Gross profit $ / available hour$103$96
Paint liquid, % of paint sales28.0%20.7%
Gross profit %51.0%
Parts margin13.0%
Weekly chargeable hours338

Charge rate vs PPG suggested rate — basis under review, manager only

TradeBilled $/hr PPG breakevenPPG stretch
Panel$73$122$141
Paint$118$160$184
Billed rate is revenue ÷ billed hours; PPG's rate is gross profit ÷ available hours — different bases, so this is directional only, not a pass/fail. The like-for-like read is GP $/available hour above.

Panel beaterslast 90 days

Everyone in this trade, ranked by how much sellable work they produced for each hour we paid them. The top three are highlighted.

Technician
The person. Several people hold more than one iBodyshop login, so those are merged — nobody appears twice or shows half their hours.
Sold
Hours the estimate paid us for on the jobs they worked. This is earning time, not time on the clock: a job that sells 4 hours earns 4 sold hours whether it took 2 or 9.
Paid
Hours we actually paid them, from the roster. Includes the paid 30-minute morning break, because we pay for it; excludes the unpaid half-hour at 1:30, because we do not.
Recovery
Sold ÷ Paid. The honest one, and what the ranking uses. 100% means every hour we paid produced an hour of sellable work. It cannot be gamed — the bottom of the sum is the wage bill, which nobody on the floor controls.
Effic.
Sold ÷ hours spent on finished work. How fast they work when they are actually on a car. A job earns its sold hours when the task is marked complete, so time still sitting on unfinished tasks is left out of both sides rather than reading as slowness. It ignores time not clocked anywhere at all, so it flatters anyone who forgets to clock on.
Gap
Efficiency minus recovery. Small means nearly all their paid time reaches a job. A large blue gap means they work fast but hours are leaking somewhere that is not a car.

How to read it: a quick worker with a big gap has a clocking or scheduling problem, not a skill problem — go and find the missing hours. Low efficiency with a small gap is the opposite: they are on the cars, the work is simply taking longer than the estimate allowed, which points at the estimate rather than the technician.

How to improve this

Recovery is sold hours divided by hours we paid you. It rises when more of your paid day turns into work that was sold, and that is mostly about the time between jobs, not how fast you work on them.

  1. Clock on before you start and off when you stop, every time. Time not clocked to a job is invisible and counts against you.
  2. If you are waiting on parts, a decision or the booth, tell the foreman and clock onto something else. Waiting is the single biggest killer of this number and it is not your fault -- but it is your figure.
  3. Check your own row weekly. If efficiency is high but recovery is low, you are quick on the tools and losing time around them.
  4. Tell the estimator when a job took much longer than it sold. That is how the next estimate gets written properly.

Watch for: Do not improve it by not clocking on. Efficiency will look better, recovery will not move, and the job costing everyone relies on breaks.

TechnicianSoldPaid RecoveryEffic.Gap
1Kevin Louw197178111%123%+12
2Amitesh Kumar115115100%135%+35
3Anton Joiner444442100%117%+16
4Troy Nielsen38146782%126%+44
5Terrick De Lange31038780%101%+21
6Tony Muller36052369%89%+20
7Mark Daniels487366%90%+24
8Danny Krishna8218844%55%+12
Ranked on recovery — sold hours per hour paid. Efficiency is sold per hour clocked on a job. A large positive gap means the work is good but time is going unclocked.

Painterslast 90 days

Everyone in this trade, ranked by how much sellable work they produced for each hour we paid them. The top three are highlighted.

Technician
The person. Several people hold more than one iBodyshop login, so those are merged — nobody appears twice or shows half their hours.
Sold
Hours the estimate paid us for on the jobs they worked. This is earning time, not time on the clock: a job that sells 4 hours earns 4 sold hours whether it took 2 or 9.
Paid
Hours we actually paid them, from the roster. Includes the paid 30-minute morning break, because we pay for it; excludes the unpaid half-hour at 1:30, because we do not.
Recovery
Sold ÷ Paid. The honest one, and what the ranking uses. 100% means every hour we paid produced an hour of sellable work. It cannot be gamed — the bottom of the sum is the wage bill, which nobody on the floor controls.
Effic.
Sold ÷ hours spent on finished work. How fast they work when they are actually on a car. A job earns its sold hours when the task is marked complete, so time still sitting on unfinished tasks is left out of both sides rather than reading as slowness. It ignores time not clocked anywhere at all, so it flatters anyone who forgets to clock on.
Gap
Efficiency minus recovery. Small means nearly all their paid time reaches a job. A large blue gap means they work fast but hours are leaking somewhere that is not a car.

How to read it: a quick worker with a big gap has a clocking or scheduling problem, not a skill problem — go and find the missing hours. Low efficiency with a small gap is the opposite: they are on the cars, the work is simply taking longer than the estimate allowed, which points at the estimate rather than the technician.

How to improve this

Recovery is sold hours divided by hours we paid you. It rises when more of your paid day turns into work that was sold, and that is mostly about the time between jobs, not how fast you work on them.

  1. Clock on before you start and off when you stop, every time. Time not clocked to a job is invisible and counts against you.
  2. If you are waiting on parts, a decision or the booth, tell the foreman and clock onto something else. Waiting is the single biggest killer of this number and it is not your fault -- but it is your figure.
  3. Check your own row weekly. If efficiency is high but recovery is low, you are quick on the tools and losing time around them.
  4. Tell the estimator when a job took much longer than it sold. That is how the next estimate gets written properly.

Watch for: Do not improve it by not clocking on. Efficiency will look better, recovery will not move, and the job costing everyone relies on breaks.

TechnicianSoldPaid RecoveryEffic.Gap
1Jonathon Hollands45847996%111%+15
2Jason McIntyre34637093%112%+19
3Daniel Austin313980%100%+20
4Terrick De Lange10012779%103%+24
5Mark Daniels26539767%88%+22
6Damitha Don28146960%95%+35
Ranked on recovery — sold hours per hour paid. Efficiency is sold per hour clocked on a job. A large positive gap means the work is good but time is going unclocked.

Where the paid hours went last 30 days

Every hour we paid this shop over the last 30 days, split by where it actually ended up. The bar on the right shows the same split as a picture, so a bad row stands out without reading the numbers.

Technician
The person, with all their logins merged.
Paid
Total hours we paid them, from the roster.
Chargeable
Clocked onto a customer job, so the time is on an invoice.
Internal
Clocked onto a company project such as the Jaguar restoration. Real work — there is simply no customer paying for it.
Unclocked
Paid hours that never reached any job at all. Nobody recorded what happened during that time.
Hrs/day
Average paid hours per day worked — time on site less the unpaid lunch, so it is the day we actually pay for. Read it beside the columns either side: a long day with high unclocked time is very different from a short one.
Break
Average minutes on break per day worked, both breaks together — the paid half-hour at 10 and the unpaid half-hour at 1:30. The entitlement is 60. Amber flags either direction: well over 60 is time the floor is stopped, well under means someone is not taking a break they are owed.
Skipped
How many breaks were not taken at all over the period. The paid morning half-hour and the unpaid lunch count separately, so a day with neither scores two. Amber once it passes a fifth of the days worked, which is past the odd busy afternoon and into a habit.
Sick / Annual
Days of paid leave taken at this shop over the period. Neither affects any figure on this dashboard — a leave day creates no attendance record, so it never enters the hours we divide by and nobody is marked down for being away. It is here because a quarter with eight sick days is a different story from one without, and the numbers cannot show that on their own. Amber at five sick days or more.

Why unclocked is the one that matters: those hours are still paid, but the jobs done in them are costed as though the labour were free — so every future estimate built off that history is too cheap. Plenty of unclocked time is legitimate (training, clean-up, waiting on parts, moving cars). The goal is not zero, it is knowing how much there is and what it went on.

How to improve this

Where every paid hour went. Unclocked time is paid time that never reached a job, so nothing was sold against it.

  1. Clock onto a job as soon as you touch it, including strip, clean-up and moving cars.
  2. If there is genuinely no job to be on, say so -- that is a scheduling problem to fix, not something to hide.
  3. Foreman: look at anyone over 25% unclocked and find out what they were doing. It is nearly always waiting or a task with nowhere to book it.
  4. If a real task has nowhere to book to, create the code. People cannot clock to something that does not exist.

Watch for: Chasing zero unclocked time makes people book to whatever is open, which is worse than an honest gap. Aim for explainable, not zero.

TechnicianPaidChargeable InternalUnclockedHrs
/day
Break
min/day
Skipped
breaks
Sick
days
Annual
days
Damitha Don15594617.761111
Troy Nielsen13385487.44953-
Mark Daniels149111387.86512-
Danny Krishna162127359.04631-
Tony Muller161128338.155522
Terrick De Lange160128328.05943-
Jonathon Hollands152122308.45253-
Anton Joiner150131197.93483-
Jason McIntyre153134197.6437-1
Amitesh Kumar5744137.159---
chargeable · internal project · never clocked. Unclocked hours are paid time that reached no job, so those jobs are costed on labour nobody recorded. Internal hours are excluded from recovery — a company project has no sold hours by design.

Jobs losing labour money last 60 days · still open

Every job the shop is losing labour money on, worst first. Two different faults sit in one list, told apart by the Issue column, because they cost the same thing but need opposite fixes.

Issue
under sold — the job sold hours, but fewer than the work actually took. An estimate question first and a workshop question second.
no time sold — the job never sold hours at all, so there was nothing to run over. An authorisation question for the office.
Job / Vehicle / Debtor
The job number, the car, and who should be paying for it.
Sold
Hours the job sheet says were sold. On a no time sold row this is a fraction of an hour — the QC and admin lines, which are the only ones carrying a target when the labour was never authorised.
Actual
Hours technicians actually clocked to it.
At risk
The hours in question. On an under sold job that is actual less sold — the hours we did and were not paid for. On a no time sold job it is every hour on it, because none of them sold anything.
$ lost
The hours at risk priced at what that trade actually bills — paint $117.89/hr, panel $73.30/hr, blended on the job's own split of paint and panel hours. It is lost labour revenue, not lost profit: the wages were paid either way, so this is the money that should have come in against them and did not. Hours booked to neither trade (QC, admin) are priced at the panel rate, the lower of the two, so the figure errs low.
Ratio
How many times over the sold time it ran. Shown as n/a on unsold jobs: dividing by almost nothing gives a meaningless number, which is exactly how good jobs used to end up at the top of this list.
Est. hrs
What the estimate values the job's labour at, read from the estimate's own lines whether or not they were authorised. Compare it with Actual, not with Sold. Job 118711 clocked 16.4 hours against a 15.8-hour estimate — a good job that read as 16 hours under sold purely because nothing was authorised.
Auth
Authorised labour lines out of the total. iBodyshop only writes target hours onto the job sheet once a line is authorised, so 0/79 in red is the cause of an unsold job, not a symptom.
Status
Where the job is now. Collected means the car has already left, so recovering the money is an invoicing job rather than a workshop one.
Last worked
The most recent day anyone clocked to it.

Work the red rows first. An unsold job is usually the easier money: the scoping is already done and only the authorisation is missing, so the estimate hours come straight back once it is chased. An under-sold job is the harder conversation — either the estimate was light and needs a supplementary while the car is still here, or the scope grew and nobody raised it. Both drag recovery down on every board and make the technicians look slow for work they did properly. Internal company projects are excluded; if one appears here it is missing from the internal-jobs list.

How to improve this

Open jobs where the labour is not being paid for. These are still fixable.

  1. Work the red 'no time sold' rows first. The scoping is already done and only the authorisation is missing -- it is usually one phone call.
  2. For under-sold jobs, raise the supplementary while the car is still on site and the damage is visible.
  3. Photograph the extra work when it is found, not afterwards.
  4. If a job is on this list and the car has been collected, it is an invoicing job now, not a workshop one.

Watch for: Do not let these age. Once the job is fully invoiced it drops off this list because there is nothing left to claim.

Issue JobVehicleDebtorSoldActual At risk$ lostRatioEst. hrs Auth StatusLast worked
under sold117769Toyota HIACEIAG NZ ORM38.492.253.8$4,0612.4x78.594/94Collected2026-08-11
under sold118822Toyota RAV4Blair Wright Johnson22.852.930.1$2,4292.3x56.3121/126Started2026-08-20
no time sold118243Mazda DEMIOTower Limited0.323.323.3$1,982n/a37.00/79Collected2026-07-07
no time sold118711Audi Q7Tower Limited0.316.416.4$1,425n/a15.80/45Collected2026-08-13
no time sold117873NISSAN SERENATower Limited0.312.812.8$1,258n/a28.40/58Collected2026-08-17
no time sold118185CHERY TIGGO 4 PROTower Limited0.39.99.9$919n/a13.70/40Collected2026-07-24
under sold118791Toyota AVENSISTower Limited8.414.86.4$6021.8x13.825/25Collected2026-08-14
no time sold118440CHERY TIGGO 4 PROTower Limited0.34.54.5$428n/a6.80/19Collected2026-07-24
$13,104 of labour revenue across 8 jobs and 157 hours — 5 with no time sold ($6,011, and their estimates value that labour at 102 h) and 3 under their sold time ($7,093). Wages were paid on every one of these hours, so the whole figure is margin the shops did not get. It counts against them in the recovery numbers too.

Labour contribution manager view only

What each technician's labour is worth to the business: the value of the hours they sold, less what we paid them. Labour only — no parts, paint or overhead — so this is not profit. It is the contribution their labour makes toward covering everything else. Panel beaters first, then painters, each ranked on Per hr rather than total margin.

Technician / Trade
The person, and whether they are panel or paint.
Wage hrs
Hours we paid them, morning break included. Called wage hours rather than paid hours because that is what they are: the hours the wage bill covers.
Sold hrs
Sellable hours they produced over the same period.
Recov.
Sold hours divided by wage hours. This is the margin figure, expressed in hours. It says the same thing as a margin percentage — how much of what we pay for turns into sellable work — without putting money on a per-person row.
Sick / Leave (hrs)
Paid leave taken, in HOURS rather than dollars. Both still reduce the margin behind the scenes; showing the hours keeps the reason for a low margin visible without printing a wage figure.
Why there are no dollar totals per person
Wage cost, sold value and margin were removed from the rows on purpose (Blair, 21 Aug 2026). Together with Per hr they solved for someone's hourly rate exactly: sold value less margin, divided by their hours. With those gone the equation has no inputs left here. The dollar totals stay on the Total row, where they describe the shop rather than a person. Note: sold and paid hours are still published on the Staff panel, so a determined person with both panels can still approximate a rate — this makes it deliberate work, not a glance.
Sick / Leave and recovery
We pay for these hours, so they are in the money already: both are subtracted from margin, which means Per hr is what each WORKED hour returns after covering that person's leave as well. They are deliberately NOT in the Recovery column, because nobody can sell an hour while on leave and that column exists to compare people — adding leave would rank a technician on when they were sick. The figure that does include them is Business recovery in the note below, which is the one that sizes the wage bill.
Per hr
Margin ÷ hours paid. What each hour we pay them leaves behind once their own wage is covered. Example: $55,044 sold value less $19,410 of wages is $35,634 of margin; over 473 paid hours that is $75 an hour. Because it is a rate, a part-timer, a full-timer and someone who was off sick all compare fairly. Negative means every hour we paid them cost more than it earned.

Per hr is per hour PAID — not per hour sold or clocked — so unclocked and internal time pull it down. That is deliberate: we pay for those hours too. And because this is labour only, $75 an hour is not profit; it is what is left to cover parts, paint, rent, admin and everything else. Break-even is not $0 an hour, it is well above it. Before you judge a negative number: it is usually not the person. Someone put on an internal project, or stuck on a job that badly overran, shows negative because the sold hours never existed to be earned. Check the hours panel and the jobs-losing-money list first. Staff with no payroll record are left out entirely rather than shown as free labour. This panel is manager and owner only and never appears on the shop-floor screens.

How to improve this

What each technician's labour returns after their own wage.

  1. Work Per hr, not Margin. Margin mostly measures who worked the most hours.
  2. Before judging a low figure, check Unclocked and Sick on the same row. The reason is usually there.
  3. A negative figure is almost never a poor worker -- it is an internal project, a badly under-sold job, or a long absence.
  4. Use it to size the team, not to rank people. It is wage data and it stays off the floor screens.

Watch for: Never show this to the floor. It is the fastest way to turn a productivity conversation into a pay conversation.

TechnicianTrade Wage
hrs
Unclk Sold
hrs
Recov.Per hr Sick
hrs
Leave
hrs
LOUW, Kevin PeterPanel17818197111%$41--
KUMAR, AmiteshPanel11530115100%$36--
JOINER, AntonPanel44256444100%$253264
NIELSEN, TroyPanel46716138182%$163216
MULLER, AntoniePanel52311036069%$16721
KRISHNA, Danny ShalendraPanel188398244%$-1424-
MCINTYRE, JasonPaint3706134693%$71-8
HOLLANDS, JonathonPaint4796545896%$66538
AUSTIN, DanielPaint3983180%$56--
DANIELS, MarkPaint47011331367%$368-
DON, DamithaPaint46917228160%$294848
DE LANGE, TerrickPaint51410241080%$2348-
Total 4,254 934 3,419 80% $31 313 165
Business recovery 72.2% — 3,419 sold hours against the 4,732 hours the wage bill actually covers, including the 313 sick and 165 leave hours we also pay for. The per-person Recovery column divides by worked hours only: nobody can sell an hour while on leave, and that column exists to compare people. This one exists to size the wage bill. Sold hours valued at the rates actually billed (paint $117.87/hr, panel $73.29/hr) less wage cost over attended hours. Covers labour only — no parts, paint or overhead. Staff with no payroll record are excluded rather than shown as free.
Generated Sun 23 Aug 2026 at 23:42 · refreshes every 5 min