All posts

How to Price an Electrical Job: Materials, Labor, Margin

10 min read

The short answer: Price an electrical job by building it up from cost: materials at what you actually paid, labor at a loaded rate times the hours the crew really works, plus a share of overhead, then a margin on top. The formula is Price = (materials + loaded labor + overhead) ÷ (1 − target margin). The number most electricians get wrong is labor hours, because the permit trip, the troubleshooting time, and the second visit rarely make it into the estimate. CRMb pulls those hours from your crew's punch-ins and prices materials at real average cost, so the quote you send is built on measured numbers, not a hunch.

Electrical pricing looks simple and rarely is. A device costs a few dollars, wire is sold by the foot, and the labor feels like it should be predictable. Then the panel is full, the wall has no access, and the inspector wants one more thing. Each of those adds hours the flat estimate never counted, and a job that felt profitable settles at break-even. This guide walks the full build-up for both service calls and larger installs, and shows exactly where the margin leaks.


Start with the four things every electrical job costs

Whether you are quoting a panel upgrade or a Saturday no-power call, the price rests on the same four layers:

  • Materials, the wire, breakers, devices, boxes, conduit, fittings, and fixtures, at your real cost.
  • Labor, the loaded hourly cost of everyone on the job for the hours they actually work.
  • Overhead, the slice of trucks, tools, license and insurance, dispatch, and office this job has to carry.
  • Permits and fees, the pull permit, inspection, and any utility coordination the job requires.

Miss a layer and you are not discounting, you are working for free on that part of the job. The two that leak most are labor, because the hours are guessed, and materials, because the long tail of small devices goes untracked.

Step 1: cost materials at what they really cost you

A rough-in pulls a long list of small items: wire by the hundred feet, a box of receptacles, breakers, plates, staples, wire nuts, conduit and fittings. Each one costed from "about a buck" instead of its real price adds up to a line nobody sees. Copper prices move too, so wire you costed at last quarter's number can be well off today.

The fix is to value materials at average cost, the running average of what you actually paid across recent purchases, so price swings smooth out and every item pulled to a job carries its true number. CRMb tracks inventory at average cost across your warehouse and truck stock. When a tech pulls a breaker or a spool of wire to a job, its real cost lands on that job automatically, no end-of-week reconstruction of what went where. Truck stock matters here more than in most trades, so it helps to run it deliberately; see truck stock inventory for field techs.

Step 2: build the loaded labor rate, then use real hours

Labor is where electrical margins live or die, and it fails in two ways at once: the rate is too low and the hours are too few.

The rate is too low when you cost at the bare wage. Every electrician costs more than their paycheck, payroll taxes, workers' comp, benefits, and paid time off add roughly 25% to 35% on top. A $34 wage is really a $43 to $46 loaded rate. Cost at $34 and you understate labor on every job. The full build-up is in how to calculate labor cost per job.

The hours are too few when you cost from the estimate instead of the clock. Real electrical hours include the parts you never bid: the trip to pull the permit, the hour of troubleshooting before the actual repair, the return visit after the inspection, the fishing of wire through a finished wall that took twice as long as open framing. Those are exactly the hours that flip a healthy bid to a thin one, and they are invisible unless the crew captures them.

The reliable way to capture them is to have the crew punch in against the specific job. With Punch, each punch-in is tagged to the job, and the hours flow into CRMb as labor cost with the loaded rate already applied. You cost the job from what happened, not what you hoped.

Step 3: add overhead so the job carries its share

Overhead is every cost that keeps the doors open but does not belong to one job: truck payments and fuel, tools and test equipment, your license and general liability, software, the phone that gets answered, the pay of anyone not on the tools for this job. It is real money, and if no job carries it, it comes straight out of profit.

The common method is an overhead rate, your annual overhead divided by the billable labor hours you expect to sell in a year, applied per labor hour. If overhead runs $150,000 a year and you sell 5,000 billable hours, that is $30 of overhead per labor hour on top of the loaded wage. The mechanics are in how to calculate an overhead rate.

Step 4: set the price from the cost, not the other way around

With materials, labor, and overhead totaled, you have the job's true cost. Price is that cost divided by one minus your target margin:

Price = total cost ÷ (1 − target margin)

For a 35% margin, divide by 0.65. Note the difference from markup, dividing by 0.65 is not the same as adding 35%, and confusing the two quietly costs you points of margin on every job. The distinction is spelled out in markup vs margin.

A worked example: a residential panel upgrade

A 200-amp panel upgrade, priced from the ground up. Loaded electrician rate $44.00, overhead $30.00 per labor hour, target margin 35%.

Cost layerDetailAmount
MaterialsPanel, breakers, service cable, grounding, misc$850
Labor2 electricians × 9 hrs = 18 hrs × $44.00$792
Overhead18 hrs × $30.00$540
Permit and inspectionPull permit + inspection fee$220
Total cost$2,402
Price at 35% margin$2,402 ÷ 0.65$3,695

Now the leak. Suppose the crew actually worked 24 hours, not 18, an extra trip because the meter base needed replacing and two hours coordinating the utility disconnect nobody bid. At $44 loaded plus $30 overhead, those 6 hours cost $444 the estimate never saw. Cost the job at the 18 bid hours and you would book it at $2,402 and believe the margin held; cost it at the real 24 hours and the true cost is $2,846, quietly turning a 35% job into roughly 23%. On one panel it stings. Across a year of them it is real money walking out the door.

Flat rate or time and materials?

Most established electrical shops quote service calls and common installs at flat rate, a fixed price the customer sees up front, rather than billing hours as they go. Flat rate is easier for the customer to say yes to and it rewards a crew that works efficiently, since faster work does not lower the price. It only works, though, if the flat price was built from real cost history. Price a flat rate from a guess and you have locked in the guess.

That is the case for costing every job from real hours even when you bill flat: the punched hours are not what you invoice, they are what tells you whether next year's flat price is high enough. See time and materials vs fixed price for how the two models trade off. For open-ended troubleshooting where the scope genuinely is not known, T&M protects you; for a defined install, flat rate built on history wins.

Send a quote the customer can approve on the spot

A price is only useful once the customer accepts it. CRMb turns the costed job into a professional quote with a public share link: the customer opens it on their phone, sees the scope and the price, and signs to approve. When the work is done, the quote converts to an invoice, pulling the same materials and labor through, so nothing is re-keyed and nothing is forgotten. As the crew punches in, the reports view shows the job's margin trending live and flags it if it drifts toward the red while the job is still open.

Frequently Asked Questions

How do you price an electrical job?

Cost it from the bottom up: materials at their real price, labor at a loaded rate times the hours the crew actually works, plus a share of overhead and any permit fees. Total those, then divide by one minus your target margin to get the price. The formula is Price = (materials + loaded labor + overhead) ÷ (1 − target margin). Building the price from measured cost, rather than copying a competitor or marking up materials alone, is what keeps the margin real.

What is a good profit margin on an electrical job?

Many electrical shops target a gross margin in the 30% to 50% range, with service and repair work often carrying higher margins than large installs. The right number depends on your overhead and market, but the discipline matters more than the target: a 40% margin calculated from bare wages and estimated hours is fiction. Cost every job from loaded labor and real hours first, then judge the margin.

Should electrical work be flat rate or hourly?

Most established shops use flat rate for service calls and common installs because it is easier for customers to approve and it rewards an efficient crew. Time and materials fits open-ended troubleshooting or unusual jobs where the scope genuinely is not known up front. Either way, cost the job from real hours behind the scenes, so a flat price is built on history rather than a guess.

How do I estimate labor hours for an electrical job?

Start from your own history rather than a rule of thumb. Wall access, panel condition, and permit and inspection steps swing the hours more than the device count does. The reliable way to build that history is to have the crew punch in against each job so the real hours accumulate, then price the next similar job from what the last one actually took, including the troubleshooting and the return trips.

Why do electrical jobs lose money even when the quote looked profitable?

Almost always because the labor hours ran over the bid and were never re-costed, or the labor was costed at the bare wage instead of the loaded rate. The permit trip, the second visit after inspection, and the diagnostic hour are invisible unless the crew captures them. Cost jobs from punched hours at a loaded rate and the overruns show up while you can still learn from them, instead of at year end.


Getting started with CRMb

Price your next electrical job from measured numbers. Total the materials at real cost, add loaded labor for the hours the crew actually works, layer in overhead and permits, then set the margin, and send the customer a quote they can approve from their phone.

CRMb brings the CRM, scheduling, average-cost inventory, quotes and invoices, and job costing on real punched hours into one app, on Mac, iPad, and the web. Start your 14-day free trial and quote your next job on numbers you can trust.

More from the blog