The Labor Burden view
Labor is usually the largest and least understood cost on a job. The wage on someone's offer letter is only part of what an hour of their time actually costs you. The Labor Burden view answers one…
On this page
What the Labor Burden view shows
Labor is usually the largest and least understood cost on a job. The wage on someone's offer letter is only part of what an hour of their time actually costs you. The Labor Burden view answers one question a fractional COO would ask first: what does an hour of labor really cost fully loaded, and is that cost eating your margin?
It answers that by joining three streams of data Verinode already reads separately, your payroll, your job-level hours and costs, and your P&L labor line, into one picture. You do not assemble any of this by hand. As payroll, timesheets, job costing, and financials flow in, the view fills itself in.
Open it from the Margin page. The Labor Burden row sits under your margin; tapping the Labor tile opens this detail. It is one scrolling card with six sections, each showing a number, its benchmark, and a plain-language read of what the number means.
Loaded rate vs base rate, the core idea
Before the sections, the one concept the whole view rests on.
- Base pay is the wage, what the employee sees on their paycheck. If a technician earns $28/hr, that is the base rate.
- Loaded pay (also called the fully loaded or burdened rate) is base pay plus everything you pay on top to employ that person for an hour: payroll taxes, workers' compensation, general liability insurance, the employer share of health coverage, retirement match, and allowances like a phone or truck. That extra layer is the employer burden.
So if that $28/hr technician carries roughly 30% burden, an hour of their time actually costs you about $36, not $28. Estimating and pricing against the base rate is how operators quietly lose margin: the burden is real cost that never shows up on the wage line.
Verinode builds the loaded rate for each team member from their compensation record: base pay, bonus target, and the burden components (taxes and insurance, employer health contribution, retirement match, phone and truck allowances), spread over their scheduled hours. Then it blends across your whole team.
Note
The metric key behind the peer billed-rate benchmark keeps a historical spelling in the database. Everything you see on screen reads "labor", American English throughout.
Loaded Labor Rate
The top section. The large number is your fully loaded blended rate, shown as $X/hr, with the subline "Fully loaded · blended across N team members." This is the single number to remember: the average all-in cost of one hour of labor across your team.
Beneath the hero number, a short stack of comparison rows appears as the data supports each one:
- Base pay, the blended wage before burden, as
$X/hr. The gap between this and the hero number is your burden. - Employer burden on base, burden expressed as a percentage loading on base, e.g.
+30%. When market data is available it reads+30% · Market +28%. This is the honest, comparable form: the same "loading on base" quantity the market wage-and-benefits data is measured in. Running at or below the market loading shows green; running above it shows red. - Expected for your role mix, what your team should cost fully loaded given the roles you employ and the market rate for each, e.g.
$34/hr. The label names its source in parentheses (Peers, Market, or Peers + Market). If your loaded rate sits at or below this expectation it reads green; above it reads red. - Peers bill labor at (n=X), the median hourly rate other operators bill carriers for labor, drawn from the peer network. The
n=Xis how many operators stand behind it. The spread between your loaded cost and this billed rate is your per-hour labor margin.
The analysis line spells out the assumptions honestly: how many members were assumed at 40h/week because scheduled hours were missing, and how many members had no burden data on file (meaning your true rate runs a little higher than shown). It also flags the trap in reading "under the expected line" as an automatic win, under-market pay can be margin headroom, or it can be turnover risk. Check the per-role section before you celebrate.
Heads up
Running below the expected or peer line is not always good news. Cheap labor can mean you are underpaying relative to the market, which is a retention problem, not a saving. Verinode surfaces the number; the per-role breakdown tells you whether it is headroom or risk.
Empty state. With no payroll on file, this section reads: "No payroll compensation on file yet. Forward a payroll summary (QuickBooks Payroll, ADP, Gusto, Paychex) and the fully loaded rate per role appears here, benchmarked against market wage and employer-cost data from day one." The benchmark is live even before you have any peers, it falls back to market occupational wage and employer-cost data, so the comparison works from your first upload.
Crew Utilization
Knowing the loaded rate is half the story; the other half is how many of the hours you pay for actually land on billable jobs. This section's hero is a percentage, "Of paid hours landing on jobs", over a dated window.
The rows break it down:
- Hours on jobs, hours that hit a job, from timesheets (or job-costing hours as a fallback).
- Hours paid (N covered members), hours you paid for, across the crew that time data actually covers.
- Tracked, not job work (PTO, shop), paid hours that were tracked but were not job work, when that data exists.
- Effective loaded rate on job hours, the punchline. If you pay $36/hr loaded but only 70% of hours land on jobs, each billable hour effectively costs more, shown as
$X/hr vs $Y/hr loaded. Idle and non-billable time doesn't disappear; it loads onto the hours that do bill. - Per-member rows, up to five named crew members with their own
job hours of paid hoursand utilization. Members at or above 75% read green; below 50% read red.
The analysis line is careful about coverage: it states what share of your payroll hours the time data actually covers, notes when the reading is a floor rather than an exact figure (untracked time may still be job work), and calls out any hours from names that did not match your roster and therefore sit outside every ratio. When the source is job-costing hours rather than true timesheets, it says so and invites you to forward timesheets for the full PTO-and-shop picture.
Empty state. "Forward a time-tracking export (QuickBooks Time, ClockShark, busybusy, Connecteam, even scanned timesheets) and utilization appears here: hours paid vs hours on jobs, per crew member, with the effective loaded rate on the hours that land on jobs."
Loaded Rate By Role
The per-role table. Each row names a role, its member count, and its base rate, e.g. "Project Manager · 2 members · base $32/hr", with the loaded rate on the right. When a benchmark exists and the gap is meaningful, the value also shows the delta against the peer or market base, e.g. $41/hr · +$4 vs market base.
Read the color carefully here, because it is the opposite of what you might expect: paying below the market line reads red. Under-market pay is a retention risk, not a saving. Paying at or above market reads green.
This is exactly what "Add payroll to unlock $/hr by role" on the Margin tile refers to. Per-role loaded rates can only exist once compensation data is on file. Until then this section reads simply: "Add payroll data to unlock per-role rates." The benchmarks behind each role come from the peer compensation cohort where it clears the anonymity floor, and from market occupational wage data everywhere else.
Labor Share Of Revenue
A different lens: not dollars per hour, but labor as a percentage of revenue, taken from your latest P&L period. The hero is that percentage, subtitled "Of revenue, latest P&L period."
Two reference rows sit beneath it:
- Either Peer median (when you have consented to benchmarking and a peer figure exists) or Industry benchmark (the research fallback). At or below the reference reads green; above it reads red.
- Healthy range, a fixed 28–42% guide band.
The analysis line names the thresholds Verinode's detectors actually watch: above 40% is the action threshold that fires a signal, and a separate drift signal watches this series for slow climbs that never trip the absolute bar. This is the ratio most directly tied to your net margin, which is why the Margin page leads with it.
Empty state. "Add a P&L and labor share appears here against the peer cohort and the industry benchmark."
Labor By Job Type
Where the hours go, by kind of work. Each row is a job type (Water, Fire, Mold, and so on), showing how many jobs of that type were costed out of the total, e.g. "Water · 12 of 18 jobs costed", sometimes with (N from hours × rate) when labor cost was derived from hours times your loaded rate rather than a direct labor figure. The value is that type's labor share of revenue and the labor dollars, e.g. 34% · $48.2k. Above 40% reads red; at or below 30% reads green.
One honest caveat the analysis line makes explicit: the percentage is computed over covered revenue only, jobs with no job-level labor never dilute the number. So it describes the jobs you have costed, not necessarily your whole book. To compare a job type against other operators running the same work, use the Benchmarks page with the job-type filter.
Empty state. "Add a job costing report or timesheets and labor splits by job type, the read that shows which work is eating the hours."
Coverage Vs P&L, the honesty check
This last section is where Verinode holds itself accountable. It reconciles the bottom-up job-level labor against the top-down P&L labor line, so you know how much of the story the per-type numbers actually explain.
- P&L labor (start – end), the labor cost straight from your P&L for that period.
- Traced to N jobs, the labor Verinode could attribute to individual jobs.
- Job-level coverage, the second as a percentage of the first.
If job-level labor comes out above 100% of the P&L line, that reads red, it usually means the job dates and the P&L window do not line up, and it is worth a look before trusting the per-type splits. Below 100%, the uncovered remainder is real cost that simply is not traced to jobs yet, and the analysis line says so plainly: the per-type numbers describe the covered share, not the whole book.
Empty state. "Once a P&L with a labor line and job-level costs are both on file, this section reconciles them and states how much of your payroll the job-level view actually explains."
Getting the most from it
- 1Forward a payroll summary so the loaded rate, burden loading, and per-role table come alive.
- 2Forward timesheets or a job-costing export so utilization and labor-by-job-type fill in.
- 3Add a P&L with a labor line so labor share of revenue and the Coverage vs P&L reconciliation appear.
- 4Read the Coverage vs P&L number first, it tells you how much to trust the rest.
- 5Act on the largest gap: an over-market burden loading, a low-utilization crew member, or a job type running above 40%.
Verinode is an independent data trust, not a payroll or job-management tool. It does not run your payroll or track your hours, it reads what your existing tools already produce, loads the burden that your wage line hides, and positions it against anonymized peers so you can see where labor is quietly costing you margin. The peer benchmarks are trustworthy precisely because operator data is never sold to carriers.
Data sources
- 1.Your payroll and compensation records. Your business.
- 2.Your timesheets and job costing. Your business.
- 3.Your P&L labor line. Your business.
- 4.Anonymized peer billed-labor rates and labor-share benchmarks. Verinode network.
- 5.Market occupational wage and employer-cost data. Research.