The second trip is where the profit goes
Every service business owner has watched this happen and most have never priced it. A technician arrives, diagnoses the problem in fifteen minutes, and discovers the part is not on the truck. Now there are only bad options. Drive to the supply house and back, which burns an hour of a paid technician's day. Come back tomorrow, which burns a second drive and a second setup. Or send someone else with the part, which burns two people's time on one job.
Nobody records that as a loss. The job still gets invoiced, the customer is usually understanding, and the day moves on. But the price was agreed before the second trip existed, so every minute of it is subtracted from the same fixed revenue. That is the quiet leak this article is about. As of August 2026 it remains one of the largest unmeasured costs in field service work.
The metric that captures it is first-time fix rate, the share of jobs completed on the first visit without returning for parts, information, or another technician. This guide frames everything around that number. What it costs when it slips, how to decide truck stock from your own job history instead of a supplier's recommendation, how parts consumption should tie into job costing, and why the decision that most determines whether the right part is on the truck is made during the intake call rather than in the warehouse. The operations side of that runs on Run with Jarvis, where the call, the dispatch, the point of sale, and the job costing sit in one system rather than four.
What first-time fix rate actually measures
It is tempting to treat first-time fix as a parts metric. It is not. It is a composite, and that is why it is so useful as a single number to watch.
A job fails to complete on the first visit for one of four reasons. The right part was not on the truck, which is inventory. The wrong job type was diagnosed before dispatch, so the wrong technician or the wrong truck was sent, which is intake. The technician lacked the tool, the access, or the skill for that specific model, which is capability. Or the customer was not ready, the equipment was not accessible, or a permit or approval was missing, which is scheduling and communication.
Because it aggregates all four, a falling first-time fix rate tells you something is wrong without telling you what. That is fine, so long as you record the reason code on every return trip. A month of reason codes will point at the cause faster than any amount of speculation, and in most shops the answer is unevenly split, with parts accounting for the largest single share and intake quality close behind.
The margin arithmetic, worked
Numbers make this concrete. Everything below is illustrative arithmetic meant to be replaced with your own figures, not a benchmark or a research finding.
Take a representative job. Revenue of $450. Parts cost of $110. On-site labor of 1.5 hours and drive time of 0.5 hours, so two hours of technician time at a fully loaded cost of $65 an hour, which is $130. Total cost of $240, leaving $210 of gross profit, or about 47 percent.
Now add a return trip. Say one hour of round-trip drive plus half an hour on site to complete the work, so 1.5 additional hours at $65, which is $97.50. Revenue does not change, because the job was priced before anyone knew a second visit was coming. Gross profit falls from $210 to $112.50.
That is the entire argument in one line. A single return trip cut the profit on that job roughly in half while the customer paid exactly the same amount.
Scale it. Suppose you run 200 jobs a month and 20 percent of them require a return trip. That is 40 return trips at $97.50, or about $3,900 a month of gross profit consumed by driving back. Lift first-time fix from 80 percent to 90 percent and you halve that, recovering close to $1,950 a month, which is $23,400 a year that requires no additional marketing, no additional jobs, and no price increase.
Then price the other side. Suppose closing that gap means carrying an additional $2,500 of stock on each truck. At a 20 percent per-year carrying cost, which is generous once you account for capital, shrink, and obsolescence, that is $500 a year per truck, or about $42 a month. Against roughly $98 of margin recovered per avoided trip, one avoided return trip a month pays for the extra stock on that truck twice over.
Run those four calculations with your own revenue, loaded labor rate, job count, and return-trip percentage before you touch your stocking list. If you have never established a defensible loaded labor rate, do that first using the job costing guide, because every figure above is downstream of it and a guessed rate produces a confident wrong answer.
Deciding what belongs on the truck
The default approach is to ask the supplier or copy a stocking list from a trade forum. Both encode somebody else's job mix. Yours is different, sometimes dramatically, because your service area, your customer base, and the equipment installed in your market are specific to you.
The correct source is your own consumption history. Pull twelve months of parts used and rank each part by the number of distinct jobs that consumed it. That single ranked list answers most of the question immediately, because consumption in field service is heavily concentrated. A modest number of parts will appear on a large share of jobs and a long tail will appear once or twice.
From there, three variables decide each part. How often it is used, what it costs to carry, and how long it takes to get when you do not have it. That last one is the variable people forget, and it is often decisive. A part available in fifteen minutes from a supply house two miles away is a completely different decision from the same part on a three-day order, even at the same price.
| Usage frequency | Part cost | Local availability | Decision |
|---|---|---|---|
| High, many jobs a month | Any | Any | Stock on every truck, always |
| Moderate, a few jobs a month | Low | Any | Stock on every truck |
| Moderate | High | Same day locally | Shelf at the shop, pull on dispatch |
| Moderate | High | Multi-day order | Stock on the truck that runs that job type |
| Low, occasional | Low | Any | Shelf, restock in bulk |
| Low | High | Same day locally | Do not stock, buy per job |
| Low | High | Multi-day order | Stock one at the shop, quote lead time honestly |
Two refinements make that grid work in practice. First, trucks do not have to be identical. If one technician runs commercial work and another runs residential, identical stocking lists guarantee both carry parts they never use. Stock by the work the truck actually does. Second, your service radius interacts with all of this, because the cost of a return trip is not constant. A part you would happily fetch on a job ten minutes away is a part you must carry on a job forty-five minutes out, and the service radius and drive time pricing guide covers how far to let that stretch before the geography itself is the problem.
Tracking what actually gets consumed
None of the above works on memory. It requires knowing which parts left which truck on which job, which is a point of sale and inventory question rather than a spreadsheet question.
The mechanism that matters is simple to describe and easy to skip. At the moment the technician closes out the job, the parts used are recorded against that job, inventory decrements at that location, and the cost attaches to the job record. Multi-outlet tracking matters as soon as you have more than one stocking location, whether that is two shops or a shop plus several trucks treated as their own inventory locations, because a company-wide total tells you nothing about whether the right truck has the right part this morning.
Do that consistently for a quarter and three things become visible that were invisible before. You learn true consumption by part, which is the ranked list the stocking decision needs. You learn which trucks are running dry on what, which is a restocking cadence problem rather than a stocking list problem. And you learn actual parts cost per job type, which is where the margin surprises live, because the job types owners believe are profitable and the ones that actually are do not always match.
That data also has to reach the books. Parts cost that lives only in the field system and never reconciles with accounting produces two versions of your margin and endless arguing about which is right. Bidirectional QuickBooks sync is what keeps the field picture and the financial picture describing the same business.
The upstream fix nobody makes
Here is the part of this subject that gets almost no attention, and it is where the largest gains sit.
You cannot stock for a job you have not identified. If the intake call captures only a name, an address, and the fact that something is broken, then the technician arrives with no information and diagnoses from a standing start. Whatever part turns out to be needed is a coin flip against whatever happens to be on that truck. No stocking list survives that, because the list is optimizing for a distribution of jobs while the individual dispatch is a specific job nobody characterized.
Now suppose the call captures the year, make, and model of the vehicle, or the manufacturer, model, and serial of the equipment, plus the symptom and how long it has been happening. Three things become possible that were not before. Dispatch can check whether the likely parts are aboard before the truck rolls. Dispatch can route the technician who knows that platform rather than the one who is closest. And when the part is not aboard, you find out in the office at eight in the morning rather than in a driveway at eleven.
That is why an AI receptionist is an inventory tool as well as a front-office one. Because the receptionist works from a structured intake rather than whatever the person answering remembers to ask, the same fields get captured on the 3 a.m. call as on the Tuesday morning call, and they land on the customer record rather than a sticky note. It quotes from your own price list, books the job, and passes a characterized job to dispatch. The consistency is the whole value here. A human front desk on a busy day will capture make and model most of the time, and most of the time is exactly what produces an unpredictable return-trip rate.
The dispatch half of that loop, matching a characterized job to the right technician and the right truck, is covered in the CRM and dispatch guide. The two halves only work together. Perfect intake into a dispatch process that assigns by proximity alone throws the information away, and perfect dispatch on an uncharacterized job has nothing to work with.
Warranty callbacks as an inventory signal
Rework is usually filed under quality and left there. Read as inventory data it is more useful than that, because callbacks cluster and the shape of the cluster names the cause.
If callbacks concentrate around a specific part number or a supplier batch, you have a parts quality problem, and the fix is a supplier conversation rather than a training session. If they concentrate around one technician or one job type, you have a capability problem. If they concentrate around jobs that already required a return trip, you probably have a rushed second visit, where a technician trying to recover a blown day cut a corner, and that is an inventory problem presenting as a quality problem.
That third pattern is the one worth hunting for, because it means a single stocking gap is costing you twice, once in the return trip and again in the callback. The tracking discipline that makes those patterns visible is in the warranty callbacks and rework tracking guide, and the prerequisite is recording enough detail on each callback to sort it into one of those three buckets rather than logging it as a generic complaint.
Restocking cadence, shrink, and the boring parts
Two operational details determine whether a good stocking list survives contact with reality.
The first is restocking cadence. A truck stocked correctly in January and never systematically replenished is a truck running on whatever was used least. Restocking should be triggered by consumption data rather than by a technician remembering to ask, which means minimum levels per part per truck and a reorder that fires when consumption crosses the line. Weekly is a reasonable default cadence for most shops, with high-velocity parts checked more often.
The second is shrink and findability, which are related. Parts that cannot be found are functionally missing, and a technician who cannot locate a part in a disorganized van will drive to the supply house and buy another one rather than spend fifteen minutes searching. That shows up in your data as consumption, not as disorganization, which is how a stocking list gets inflated to cover a storage problem. Standardized bin layouts across trucks are unglamorous and they pay, because a technician moved to a different van should be able to find anything in it immediately.
What to track
Four numbers, reviewed monthly.
First-time fix rate, with reason codes on every failure. The rate alone tells you the size of the problem and the codes tell you where it is.
Return trips per hundred jobs, which is the same information framed as a cost you can multiply by your own loaded hourly rate to get a dollar figure. Owners respond to the dollar figure.
Parts stockout events per truck, meaning the count of times a technician needed something the truck should have carried. That is the number that tells you your stocking list is wrong rather than that your process is.
Inventory value per truck, watched for drift. Truck stock grows quietly, and a van carrying three times what it needs is capital sitting in a parking lot overnight.
Where these belong alongside your other operating metrics is covered in the service business KPI dashboard guide. For general small-business inventory and cash-flow planning resources, sba.gov is a reasonable place to start.
Put it together
First-time fix rate is the number that decides whether a job you already sold makes the margin you priced. Improving it is not a single project, it is three connected ones. Build the stocking list from your own consumption history rather than a supplier's. Record what each job consumes so the list stays honest and job costing reflects reality. And characterize the job at the intake call, because the truck is stocked long before dispatch and the only lever that lets you match parts to a specific job is knowing what the job is before anyone drives anywhere.
The arithmetic makes the priority obvious. A return trip costs roughly half the gross profit on an average job, and the inventory required to avoid it usually costs a small fraction of that. Compare current plans on the pricing page, and if you want the return-trip math run against your own job volume and labor rate, get in touch.



