How Much to Charge for a Service Call: Build the Fee From Your Costs

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How Much to Charge for a Service Call: Build the Fee From Your Costs.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How Much to Charge for a Service Call: Build the Fee From Your Costs.

Charge what one visit costs you, plus a margin. Add the loaded cost of a technician hour, the van and tools, and a share of overhead, divide by the share of working hours you actually spend on paid jobs, multiply by the time a typical call takes, then add your target margin.

Skipping the divide step is a common error. A technician is paid for every hour but billed for only some of them, so the cost of a billable hour is well above the wage. The figures below are illustrative, a two-van firm with made-up costs, and no market benchmark appears anywhere on this page. Your fee is only as good as the costs and the utilisation you put in.

Follow me on Instagram@sagnikteaches

What one service call has to pay for

A service call fee covers the first visit: getting a qualified technician to the door and finding out what is wrong. It is not the repair price, which is set separately, and it is not a penalty for ringing. It pays for five things.

Connect on LinkedInSagnik Bhattacharya
  • The technician's time on the road and on the diagnosis, at the full cost of that time, not the hourly wage.
  • The van and tools for the same minutes: lease or finance, insurance, fuel, maintenance and the kit on board.
  • A share of overhead: the office, insurance, accountant, licences, marketing and software that exist whether or not the van moves.
  • Time you cannot bill, such as the quote that goes nowhere, the parts run and the callback that you fix for free.
  • Profit, because a fee that only breaks even leaves nothing to absorb a bad month.

Three terms recur below. Loaded cost is the wage plus the payroll costs on top of it, such as employer taxes, insurance and benefits. Utilisation is the share of a technician's available hours spent on paid visits, travel to them included. Margin is the share of the fee you keep as profit, which is not the same as markup, a slip covered further down.

Subscribe on YouTube@sagnikteaches

The trades differ mainly in how long the first visit takes. An electrician's first look can be a quick test with a meter, a plumber's can mean opening up a fitting, and an HVAC technician's diagnosis can run longer and swing with the season. That is why the method sets the visit time as an input you measure rather than a number to borrow.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Step one: the cost of an hour of technician time

Start with what one technician costs you in a year, not an hour. Say a technician earns $29 an hour and the payroll costs on top (employer taxes, insurance, benefits) add 20 per cent. Ask your accountant for your own percentage, because it varies a lot. The loaded cost is $29 x 1.20 = $34.80 an hour. The technician is paid for 2,080 hours a year (40 hours for 52 weeks), so the annual cost is $34.80 x 2,080 = $72,384.

Not all of those hours are available for work. Holiday, sickness and training take some. Say they take 200, which leaves 1,880 available hours. This is the pool your costs have to be spread across, and it is smaller than the paid hours.

For a deeper treatment of the hourly rate itself, including how to price time on larger jobs, see working out an hourly rate as a tradesman. The call fee needs the same ingredients and then goes one step further, into minutes per visit.

Step two: van, tools and overhead per working hour

Add up a year of van and kit costs for one technician. An illustrative list: lease $6,600, insurance $2,300, fuel $4,200, maintenance and tyres $1,900, tools and consumables $2,700, phone and software seat $800. That totals $18,500.

Now overhead. List what the business pays for that is not tied to one van: part-time office help, business insurance, the accountant, licences, marketing, job software, the phone line. Say that comes to $72,000 a year for a firm with two technicians, so $36,000 a technician. Be generous in the listing. Overhead is where costs hide, and a fee built without it pays for the van but not for the business.

Add the three parts for one technician and van: $72,384 for the technician, $18,500 for the van and $36,000 for overhead gives $126,884 a year.

Next comes utilisation. Say 75 per cent of the 1,880 available hours go on paid visits, with the other 25 per cent lost to gaps between bookings, parts runs, admin, training days and callbacks. That is 1,410 hours, and the cost of each one is $126,884 divided by 1,410, or $89.99. This is the break-even price of an hour on a job, travel included, before a cent of profit. Compare it with the $29 wage, and the reason for the divide step is clear: the business needs about three times the wage from every hour it can bill.

Step three: how long a call really takes

A call is more than the minutes at the customer's door. For a typical first visit, take three pieces.

  • Travel to site, 30 minutes. Count only the incoming leg, because the drive back is usually the next call's incoming leg.
  • Diagnosis on site, 30 minutes. This is the time the fee promises, and it is a policy decision as well as a measurement.
  • Paperwork, photos and the customer message, 10 minutes. It happens in the van or at the end of the visit, and it is real time.

That is 70 minutes, or 1.167 hours. These three numbers are guesses until you measure them. Pull a month of finished calls from your job software, or time ten calls with a notebook, and use the averages. If your tool exports start and finish times, the assistant can compute averages by call type for you, and you can check the answer in a spreadsheet.

The fee, built line by line

Here is the whole sum in one table. Every figure is illustrative, and the sheet keeps full precision while the table shows rounded values.

LineWorkingAmount
Technician, loaded$29 x 1.20 x 2,080 hours$72,384
Van and toolsLease, insurance, fuel, maintenance, tools, phone$18,500
Overhead share$72,000 shared by two technicians$36,000
Total yearly costThe three lines added$126,884
Job-hours a year(2,080 - 200 hours) x 75% utilisation1,410
Cost of a job-hour$126,884 / 1,410$89.99
Time on a call30 travel + 30 diagnosis + 10 admin minutes70 minutes
Cost of one call$89.99 x 70 / 60$104.99
Fee at a 15% margin$104.99 / (1 - 0.15)$123.51
Fee you quoteRounded to a clean figure$125

Read the result as a floor. At $125, this firm earns about 16 per cent on each call before any repair work, and a call that overruns to two hours loses money. If you cannot get $125 in your market, the sum has told you something important about the business: either the visit must be shorter, the van busier, or the overhead lighter. It is much better to learn that from a spreadsheet than from the bank statement.

What moves the fee most, and the costs people forget

Utilisation moves the fee more than any other input, and it is the one a firm can change without raising prices. The same costs at different utilisation give this:

UtilisationCost of a job-hourCost of a 70-minute callFee at 15% margin
60%$112$131$154
65%$104$121$143
70%$96$112$132
75%$90$105$124
80%$84$98$116
85%$79$93$109

Each five points of utilisation shifts the fee by roughly $7 to $12. Tighter routing, fewer gaps between bookings and fewer wasted visits therefore lower the fee you need to charge, which is the honest link between operations and price. Booking tools and routing help, and so does a plain habit of filling a cancelled slot the same morning.

Four slips quietly cost firms money.

  • Markup is not margin. A 15 per cent markup on the $104.99 cost gives $120.73, while a 15 per cent margin gives $123.51. At 40 per cent the gap is large: a markup gives $146.98 and a margin gives $174.98. State which one you mean, and divide by one minus the margin when you want a margin.
  • No-shows and no-access visits. If 8 per cent of booked calls turn out to be nobody home or a cancellation at the door, the cost of each completed call rises to $104.99 / 0.92 = $114.12, and the fee at a 15 per cent margin to $134.25.
  • Percentage costs come out of the fee. If card processing takes 3 per cent, the margin and the card fee both sit in the denominator: $104.99 / (1 - 0.15 - 0.03) = $128.03. Taking the card fee out of the margin is how a 15 per cent margin quietly becomes 12.
  • Unbilled return visits. A callback to fix your own work is a call that earns nothing. Log them, and see how to log callbacks and spot the pattern. Their cost belongs in the utilisation figure.

Ask AI to build the sheet, not to do the sums

A chat assistant will happily "work out your fee" in a paragraph, and it will sometimes get the arithmetic wrong in a confident tone. Ask for a spreadsheet instead. The sheet shows every step, you can change an input and watch the fee move, and the assistant's only job is to lay out inputs and write formulas, which it does well. A free plan or a $20 individual plan is plenty for this.

Build me a spreadsheet layout (Excel or Google Sheets) for a service call fee.
Put inputs in column B, one per row, each labelled: technician hourly wage;
payroll cost percentage; paid hours a year; hours lost to holiday, sickness
and training; van and tool costs a year as separate rows (lease, insurance,
fuel, maintenance, tools, phone and software); overhead a year; number of
technicians sharing overhead; utilisation percentage; total minutes per call
(travel, diagnosis and admin added together); target margin percentage;
no-show percentage; card fee percentage.
Below the inputs, add calculated rows, each with its formula written out using
cell addresses. Then add a small table showing the fee at utilisation of 60,
65, 70, 75, 80 and 85 percent. Leave the input cells empty: no example numbers.

The answer should look something like the table below, with the formulas written against your own row numbers. This is an illustrative layout, so expect different cell addresses.

CellLabelFormula
B20Technician cost a year=B2*(1+B3)*B4
B21Van and tools a year=SUM(B6:B11)
B22Overhead share=B12/B13
B23Total cost a year=B20+B21+B22
B24Job-hours a year=(B4-B5)*B14
B25Cost of a job-hour=B23/B24
B26Cost of one call=B25*B15/60
B27Fee at target margin=B26/(1-B16)
B28Fee with no-shows and card fees=(B26/(1-B17))/(1-B16-B18)

With the example inputs, B28 returns about $139.17, which shows what happens when the 8 per cent no-shows and the 3 per cent card fees both go in at once. Now check the sheet before you trust it. Recompute one line by hand: $126,884 divided by 1,410 is $89.99, and if B25 shows something else, find out why. Then look for three mistakes. Assistants commonly multiply by one plus the margin and call it a margin. They also sometimes divide the van and overhead costs by paid hours rather than by job-hours, which understates the cost of a billable hour. The third is yours to avoid: typing a percentage as 20 instead of 20%, so a formula multiplies by 20. Finally, check that the example numbers have not been hard-coded into any formula, because it would work today and quietly mislead you next quarter.

If you want AI inside the spreadsheet itself, the Copilot side pane in Excel can write and explain formulas. Do not build the sheet on Excel's COPILOT worksheet function: Microsoft retired it on 14 September 2026, so formulas that relied on it stopped producing new results.

Credit it, charge it or waive it: what each policy costs

The fee you calculated is a cost to recover. Whether you recover it through the fee, through the repair price or not at all is a policy, and each policy has a different monthly effect. Take 100 calls a month with the $125 fee and a cost of about $105 a call, so $10,499 of cost. Say 55 of the 100 calls turn into a repair.

PolicyFee income on 100 callsAgainst the $10,499 costWhat the repairs must carry
Charge always, not credited$12,500Gain of about $2,001Nothing extra
Credit the fee when the repair goes ahead$5,625 (45 calls)Shortfall of about $4,874About $89 more margin on each of the 55 repairs
Waive the fee (free diagnosis)$0Shortfall of $10,499About $191 more margin on each of the 55 repairs

Free estimates are not free. The cost lands somewhere, usually in the prices of the customers who go ahead, who in effect pay for the ones who do not. That can be a deliberate and sensible choice, because a credited fee wins some customers who would balk at paying twice. It is a poor choice when nobody has worked out the number. Middle paths also exist: a lower fee credited only against repairs above a set value, a fee waived for members of a maintenance plan, or a fee that rises with distance bands. Whichever you pick, run it through the sheet with your own conversion rate, and revisit it when that rate changes.

After-hours calls need their own number, because the labour costs more. At time and a half, a 70-minute call carries about $20.30 of extra loaded wage on the example figures ($29 x 0.5 x 1.20 x 70 / 60), which raises the fee by about $24 at a 15 per cent margin, to roughly $150 once rounded. Add any on-call retainer you pay on top.

Checking the number against your market

A cost-based fee needs a reality check, and the check is a short job of your own, not a borrowed range. Collect the published call fees of three to five firms you would realistically lose a booking to. Note what each fee covers (travel, minutes of diagnosis, credited or not), then paste your notes into the assistant and ask for a table. That turns a muddle of web pages into a comparison in a few minutes, and you check each row against the original page.

If your fee comes out above theirs, you have six options, and none of them is "match the lowest".

  1. Shorten what the fee covers, for example 20 minutes of diagnosis instead of 30.
  2. Raise utilisation, using the table above to see what it is worth.
  3. Credit part of the fee against repairs above a set value.
  4. Price by distance band, so near customers pay less and far customers pay what the drive costs.
  5. Accept a thinner margin on calls and recover it on repairs, with the numbers from the policy table in front of you.
  6. Hold the price and compete on speed, reliability or a named technician, if your customers value that.

If your fee comes out below the market, resist the urge to jump straight to the highest rival. Raise it a step, watch the booking rate for a month, and only then go further. For a wider view of flat rate against hourly pricing, see testing flat rate against hourly in HVAC and a worked 30-task plumbing price list. For checking whether your repair markups hold up, a worked margin check on past HVAC jobs uses the same markup-versus-margin distinction.

Telling customers the fee before the van rolls

A fee that surprises a customer at the door becomes an argument, and an argument costs more than the fee. Say the amount when the booking is made, repeat it in the confirmation message, and show it as its own line on the invoice. Some places have rules on how call-out fees must be disclosed, so check the consumer and licensing requirements where you trade, and have the wording read by someone who knows them if you are unsure.

Plain wording beats a vague line. Before: "We charge a call-out fee." After, for a firm that credits the fee: "Our service call fee is $125. It covers travel to you and up to 30 minutes of diagnosis. If you go ahead with the repair, we take the fee off the repair price." And for a firm that does not credit it: "Our service call fee is $125. It covers travel and up to 30 minutes of diagnosis, and it is separate from any repair, which we quote before we start."

Write three versions of this fee explanation: a booking text, one line for a
web page and a phone script. Plain words, under 45 words each.
My policy: the service call fee is $125, it covers travel and the first 30
minutes of diagnosis, and it is credited against the repair if the customer
goes ahead. Add no terms, promises or guarantees that I have not given you.

The risk in the output is extras. Models like to add "no hidden fees", "satisfaction guaranteed" and "free estimates", which may contradict the policy you just stated. Strike every promise you did not make. Then give your dispatcher a three-line script for pushback, such as: "I understand. The fee pays for the technician's travel and time to find the fault, and it comes off your repair if you go ahead. Would you like me to book you in?" Exceptions, such as waiving the fee for a long-standing customer, stay with a named person rather than being improvised on the phone.

When to rerun the numbers

The fee is an output of your costs, so it changes when they do. Rerun the sheet after a pay rise, a new van or lease, an insurance renewal, a hire in the office, or a shift in how many hours are booked. Otherwise, check it quarterly. Quarterly is also when real data arrives to replace your guesses.

A short example of real data changing the answer. A month of finished calls shows travel averaging 38 minutes, not 30. The visit becomes 38 + 30 + 10 = 78 minutes, so the cost of a call rises from $104.99 to $116.99 and the fee at a 15 per cent margin from $123.51 to $137.63. Nothing about the business changed except that the sum now uses what happens on the road. Maybe the answer is a distance band, maybe tighter routing, maybe a higher fee. The point is that you can see it.

From this export of finished calls, give the average and median minutes for
travel, on-site time and total, by call type. Show your method. Ignore rows
with missing times and tell me how many rows you ignored.

Check the output the way you check the sheet: recompute one average in the spreadsheet, and confirm the count of ignored rows is small. If a fifth of the rows have no times, the average describes the calls that happened to be logged, not the calls you made. When the new number is ready, the wording for telling customers sits in a plumbing price increase letter for call-out and hourly rates. The same structure works for any trade, and a change you have calculated is much easier to explain than one you guessed.

Questions about setting a call fee

Should the call fee be credited against the repair?

It is a pricing choice with a cost. Crediting the fee means you collect it only on calls that do not turn into repairs, so repair prices must recover the difference. Work out the monthly effect with your own conversion rate before deciding, as the policy table above shows with illustrative figures.

What if the cost-based fee is higher than my competitors charge?

Then shorten what the fee covers, raise utilisation, or accept a thinner margin on calls and recover it on repairs. Do not simply match a lower number without knowing what each call loses. The point of the sum is that you now make that choice with the cost in view.

Can I just ask ChatGPT what to charge?

It cannot know your wages, van costs or market, so any figure it gives is a guess dressed as an answer. Use it to build the sheet, to list costs you forgot and to word the fee for customers, and put your own numbers into the sheet it builds.

How often should I recalculate the fee?

Quarterly as a quick check on wages, van costs and utilisation, and straight away after a pay rise, a new van or a change in how many hours are booked. Export a month of finished calls from your job software to see your real travel and diagnosis times.

Do I need to tell customers the fee up front?

As good practice, yes: say it when booking, repeat it in the confirmation message and show it on the invoice. Some places have rules on how call-out fees must be disclosed, so check any consumer or licensing requirements where you trade.

Further reads

Sources: illustrative figures built for this tutorial using standard cost-plus pricing; ChatGPT and Claude plan pages for list prices; Microsoft Support notice on the retired Excel COPILOT function.

Want your call fee checked against your real costs?

On a 1:1 call we'll walk through your van, labour and overhead figures, build the fee sheet around them, and decide how to track real call times so the number stays honest.

Book a 1:1 call with me