Labor rates and payroll burden
Your labor rates are how Flow prices the labor on every bid. For each one — Foreman, Journeyman, each Apprentice year, and any you add — you enter the base wage you actually pay. Flow then applies your payroll burden (the costs that ride on top of every wage) and derives the fully-loaded rate the bid builder uses. Get the wages and the burden right once, and every bid you build afterward starts from numbers you trust.
Find them under Settings → Labor rates & burden. Out of the box only an owner can view or change them; an owner can give someone else View settings or Change settings in People.
The screen is two tables: Labor rates (each one's base wage and the loaded rates derived from it) and Payroll burden (the lines that make up the load, with their total). It deliberately shows the derivation, not just the answer — wage in, burden applied, loaded rate out — so you can always see why an hour costs what it costs.
Labor rates, and the people in them
A labor rate is a billing level — Journeyman, Apprentice 2nd year. The people who do the work are in Settings → People, each with a Labor rate (one of these) and, if you like, their own Hourly wage. On a bid, labor is priced by who does it:
- A named person is priced at their own wage, plus burden.
- A role ("Journeyman (top rate)") is priced at the highest wage among the people in that role, plus burden.
- The base wage here is used when nobody in the role has a wage on file.
So if you've entered your crew's wages in People, the base wage here is the fallback. Either way, the burden on this screen is what loads every wage.
What "fully-loaded" means — and Flow does the math
A role's true hourly cost is not the wage on the paycheck. It's the wage plus everything that rides on it: payroll taxes, workers' comp and liability insurance, benefits, PTO, tools, training. Bid the raw wage and you lose money on every hour you sell.
You enter the base wage; Flow adds your burden to get the loaded rate. A burden line is one of two kinds:
- % of wage — payroll taxes, workers' comp, liability, a retirement match, PTO. It grows with the wage.
- $ per hour — a health plan, a tool allowance, training contributions. It costs the same whatever someone earns, so it's a flat amount on every paid hour.
A journeyman on a $32.00 wage with the starting burden (26.11% plus $8.75/hr) prices at $32.00 + $8.36 + $8.75 = $49.11/hour, and that loaded figure is what every bid line uses. An apprentice on $16.00 prices at $28.93/hour: a $7 health plan is a much bigger share of a smaller wage, and the rate now says so.
Overtime and double time
On overtime the wage is paid at 1.5× (2× for double time), but not every cost grows with it. Each % of wage line has a Rises with OT switch:
- On for costs billed on the paycheck — Social Security, Medicare, unemployment, workers' comp, liability.
- Off for costs that don't grow on overtime hours — a 401k match on straight pay, PTO and holidays.
$ per hour lines never rise; they read Same every hour. So a journeyman's overtime hour is $48.00 of wage, plus the rising lines on $48.00, plus the others on $32.00, plus $8.75: $67.71. The Labor rates table shows all three rates: Loaded (ST), OT, and DT.
The starting switches are a reasonable default, not a rule. Check them with your bookkeeper; if your match is paid on overtime too, turn its switch on.
The seeded numbers are a starting point — make them yours
A new account comes with a starter set of electrical roles — Foreman, Journeyman, and four apprentice years — carrying market-rate placeholder wages. They exist so the bid builder works on day one; they are almost certainly not what you pay. Replace them with your own wages before you send a real bid — this is the single most important setup step for accurate pricing.
The same goes for the burden. A new account comes with a standard set of burden lines — Social Security, Medicare, federal and state unemployment, workers' comp, general liability, health insurance, retirement match, PTO load, paid holidays, tool allowance, and training. The percentages are typical for Utah electrical and add up to 26.11% of wage. Health insurance ($7.00), tools ($1.50) and training ($0.25) are per hour, $8.75 in all. PTO and holidays are spread over the days people actually work: 10 days of PTO is 10 ÷ (260 − 10) = 4.00%, and 7 holidays is 7 ÷ 250 = 2.80%. Each line carries a note about where the number comes from and when to change it ("use your actual MOD rate", "verify with your broker").
Go through the list with your bookkeeper's figures: tap a rate to change it, remove lines that don't apply (no 401k match? delete the line), and add ones that do. The two FICA lines, Social Security and Medicare, are required by law: you can change their rate, but not remove them. The total at the top of the burden table (for example 26.11% + $8.75/hr) updates as you go, and every role's loaded rates recompute with it.
Federal and state unemployment are capped at a yearly amount per employee (FUTA is about $42). A percentage overcharges someone who works full time all year, so for a full-timer a small $/hr line may fit better.
Change a wage or a burden line
- Change a base wage: in the Labor rates table, tap the dollar figure in the Base wage column, type the new wage, and press Enter or click away. It saves on its own, and the loaded rates recompute immediately. Escape backs out without saving.
- Change a burden line: in Payroll burden, tap the percentage or the $/hr amount, type the new figure, and press Enter or click away. This moves every role's loaded rate at once — that's the point of the model.
- Change whether a line rises with overtime: tick or clear its Rises with OT box. It saves straight away, and the OT and DT rates recompute.
- Big price changes ask first. If a new figure is more than half again above or below the old one — say a wage going from $45 to $4 — Flow asks "Change Journeyman wage from $45.00 to $4.00?" before saving. Cancel puts the old figure back.
- Save at the bottom of the page waits for every change to land and says All changes saved with the time. You never need it, but it's there when you want to be sure.
Add or remove a labor rate
- Click + Add a labor rate at the bottom of the Labor rates table.
- Enter a labor rate name (for example,
Master electrician) and the base wage. - Click Add labor rate.
The new role is immediately available in the bid builder's role picker. Remove deletes a role you no longer use — Flow will tell you if something still depends on it.
Burden lines work the same way: + Add a burden line takes a name, a Type (% of wage or $ per hour), the rate, and an optional note. A new % line starts out rising with overtime; clear its box if it shouldn't.
Upload a rate sheet
When rates change for the year, you don't have to retype every labor rate. On the Labor rates & burden screen, choose Upload a rate sheet and pick a spreadsheet saved as CSV.
Export CSV, beside it, downloads your current labor rates in the same columns, plus the loaded straight-time, overtime and double-time rates. Use it as the starting sheet for next year's upload, or for your own projections (how a slow season changes what an hour costs you).
- Columns:
RoleandBase wageare required.OT multiplierandDT multiplierare optional; leave them out (or blank) to keep what's set. - Labor rates are matched by name, ignoring capitals and punctuation, so
apprentice (4th yr)updates Apprentice (4th Yr). A rate already here gets the new wage. A name that isn't here yet is added as a new one. A role that isn't on the sheet is left alone; nothing is removed. - You see what changes first. Picking the file shows each role with its wage now and after, and whether it's new, changing, or unchanged. Nothing is saved until you press Apply.
- All or nothing. If any row has a problem, such as a wage that isn't a number or a role listed twice, Flow lists every bad row by its row number and changes nothing.
The upload is also the only place (for now) to change a role's OT or DT multiplier.
Editing never changes bids you've already built
This is the important part. The moment a labor line is added to a bid, it snapshots the loaded rate (and the overhead & profit percentage) it was priced at. Changing a wage or a burden line afterward affects only lines added from then on:
- New bid lines use the current loaded rates.
- Existing bids — sent, signed, or still in progress — keep the numbers they were built with.
- Your margins and job history stay accurate, and the bid builder can show you the exact rate behind any line's cost.
You never have to worry that a mid-season raise will silently alter a bid a customer already approved.
Who can do this
Out of the box, roles and burden are owner-only. Estimators and other team members build bids using the rates, but they can't see or change this screen unless an owner gives them View settings or Change settings in People.
What's not in v1 yet
Being straight with you about the current limits:
- One burden set for the whole shop. Every role carries the same burden lines. You can't give one role a different comp rate or benefits load than another.
- One rate set per business. No separate tables per market, branch, or customer type.
- No scheduled future changes. You can't queue a raise to take effect on a future date — you change the wage when it actually changes.
- Overtime multipliers aren't editable on this screen. OT and DT default to 1.5× and 2×. A shop that pays differently can set them per role with a rate sheet upload (above).
- No billable-time factor yet. Drive time, shop time and callbacks are paid but not billed; there's no setting yet that spreads them over the hours you sell.
Related
- Building a bid — how loaded rates price every phase line
- Work phases — the stages of work those hours are booked against
- People — each person's trade and wage, which price the labor they do