HVAC Truck Stock and Inventory: Stop Paying for Supply House Runs
The parts on your trucks are cash, and the parts that are not on your trucks are windshield time. How to build a standard truck stock list from your own usage, set min/max levels, restock without sending techs to the counter, and keep parts from leaving the van unbilled.
Some links to software vendors may be affiliate links. If you click through and sign up for a tool, we may earn a commission at no cost to you. Affiliate relationships do not influence our rankings. How we review.
Ask most owners how much inventory is on their trucks and the answer is a shrug and a guess. Ask how many times a week a tech drives to the supply house in the middle of the day and the answer is "not that often." Both answers are usually wrong, and both are expensive.
Truck stock is two problems that pull in opposite directions. Too little, and techs leave jobs to chase parts - a billable hour turned into a drive, and often a second trip to the same house. Too much, and thousands of dollars of motors, boards, and fittings ride around for a year without moving, some of it for equipment you no longer service. Most shops have both problems at once, on the same truck.
This guide covers what parts runs and loose inventory actually cost a residential service shop, how to build a standard stock list from your own usage instead of a distributor's starter kit, how to set levels and restock without pulling techs off the board, and how to make sure a part that leaves the van ends up on an invoice. Almost all of it can be started with a spreadsheet. Software helps once the process exists.
Key takeaways
- →Count the supply house runs before anything else. An 8-tech shop where each tech makes three unplanned runs a week at 45 minutes each loses about 78 tech-hours a month. At $55 to $70 of loaded cost an hour that is $4,300 to $5,500 a month in direct cost - and in peak season those hours are roughly 52 paying calls, or about $23,400 at a $450 average ticket.
- →Build the stock list from your own last 12 months of parts usage, not from a generic starter list. At most residential shops a few dozen part numbers cover the large majority of repairs. Those belong on every truck; almost everything else belongs at the supply house.
- →Set a minimum and a maximum for each stocked part from real usage, and restock to the maximum once a week. A tech should never decide what to reorder from memory, and should never have to drive to get it.
- →Every part that leaves a truck gets tied to a job, and every purchase gets a purchase order with a job number or a truck number. On 360 parts jobs a month at a $45 average part cost, 5 percent going unbilled is about $810 a month in parts you paid for and gave away - before counting what those parts would have sold for.
- →Dead stock is cash. On eight trucks carrying about $4,500 each, it is common to find a quarter of it has not moved in a year - roughly $9,000. Return what the distributor will take, move the rest to one shelf, and stop reordering it.
- →Replace the annual count with short cycle counts: 20 part numbers per truck, every week, rotated. It takes ten minutes, it catches problems while they are small, and it keeps the numbers in your system close to what is actually on the shelf.
- →Measure it by first-time fix rate and supply house runs per tech, not by how neat the trucks look. Cutting parts-related return trips from 10 percent of calls to 5 percent on 600 calls a month removes 30 trips - about $6,000 in direct cost, and in peak about $13,500 in calls you could not otherwise run.
What parts runs and loose stock actually cost
Start with the drive. A mid-day trip to the supply house is rarely the 15 minutes a tech remembers. It is the drive there, the wait at the counter, the drive back, and the job that now runs late. Forty-five minutes is a fair average, and an hour is not unusual in a metro area.
Take an 8-tech residential shop. If each tech makes three unplanned runs a week, that is 24 runs and 18 hours a week - about 78 tech-hours a month. At a loaded technician cost of $55 to $70 an hour with truck and fuel, the direct cost is $4,300 to $5,500 a month. That is the smaller number.
In peak season, those hours are calls you did not run. At roughly an hour and a half per call including drive time, 78 hours is about 52 calls, and at a $450 average ticket that is around $23,400 a month in revenue the schedule had no room for. The mid-size guide on this site found techs billable for about 5.7 of 8.8 paid hours; parts runs are one of the biggest pieces of that gap, and one of the easiest to close.
Then the second trip. When the part cannot be had the same day, the tech closes up and comes back. The callbacks guide prices a return visit at about $200 in loaded labor, truck, and drive time. If 10 percent of 600 monthly calls need a second visit for a part, that is 60 return trips. Getting that to 5 percent saves 30 trips - $6,000 a month in direct cost, and in peak another $13,500 in displaced calls.
The other side of the ledger is what sits on the shelves. A stocked residential service truck commonly carries $3,000 to $6,000 in parts and materials. Eight trucks at $4,500 is $36,000 of your cash, and at most shops nobody can say within a thousand dollars what is there. Inventory that is not counted gets over-bought, lost, and used without being billed.
Build the stock list from your own usage
Most truck stock grew by accident. A distributor sold a starter kit years ago, each tech added what they like to carry, and leftover parts from old jobs never came off. The result is eight trucks with eight different inventories, and a new tech who cannot find anything in a truck they did not stock.
Build the list from data instead. Pull 12 months of parts used on service calls - from invoices in your field platform, or from supplier purchase history if your invoices do not itemize parts. Sort by how many times each part was used. At most residential shops the pattern is sharp: a few dozen part numbers account for the large majority of repairs, followed by a long tail of parts used once or twice a year.
The top of that list goes on every service truck. The usual residents are dual and single run capacitors in the values your market's equipment uses, contactors, universal condenser fan and blower motors in common horsepower, hot surface igniters, flame sensors, a universal control board or two, pressure switches, transformers, fuses, a condensate pump, float switches, drain fittings, thermostats, filter driers, and the refrigerants you service. Your own list will differ, which is the point of pulling the data.
The long tail stays at the supply house. A draft inducer for one furnace model that you replaced twice last year does not earn shelf space. A useful rule: if a part was used fewer than three or four times a year across the whole company, it is ordered per job, not stocked.
Build separate lists by truck role. Service trucks carry repair parts. Install trucks carry line set fittings, drain materials, electrical whips and disconnects, pads, and startup supplies. Maintenance trucks carry filters, cleaning chemicals, and the handful of parts most often sold on a tune-up. One list per role, the same on every truck in that role.
Set a minimum and a maximum for every part
A stock list says what to carry. Minimums and maximums say how many. Without them, reordering is a matter of each tech's memory and mood, and the truck drifts back to chaos within a season.
For each stocked part, take its usage per truck over the last 90 days in season. The minimum is about one week of use - the level at which the part must be restocked. The maximum is two to three weeks of use - the level it is restocked to. A truck that uses four 45/5 capacitors a week might carry a minimum of four and a maximum of ten. A condenser fan motor used once every two weeks carries a minimum of one and a maximum of two.
Expensive, slow parts get a maximum of one. Cheap, fast parts get generous maximums, because running out of a $12 capacitor costs a $200 trip. The callbacks guide makes the same point: an extra $300 of the right inventory per truck is small against the return visits it prevents.
Adjust by season. Cooling season stock leans on capacitors, contactors, condenser fan motors, and refrigerant. Heating season leans on igniters, flame sensors, inducers, pressure switches, and gas valves. Keep a seasonal bin list and swap the bins twice a year, in the slow weeks before each peak. The seasonality guide recommends using trough hours for exactly this.
Two refrigerant families make this harder than it used to be. With A2L systems in the field alongside R-410A, service trucks carry both and some refrigerant-specific components for each. Keep the quantities modest and track what each truck actually uses for 60 days before settling the levels. The refrigerant transition guide covers the truck and tooling side in detail.
Lay out every truck the same way
A standard layout is what makes a standard list usable. The same bin in the same position on every truck, labeled with the part description, the part number, and the minimum and maximum. A tech covering someone else's truck finds the part in seconds, and anybody restocking can see what is low without asking.
Design the layout once with your two best-organized techs, build it on one truck, and photograph every shelf. Those photos become the standard. Storing them in CompanyCam ($63 to $199 a month, plus $29 per additional user) or your platform's attachments gives new hires and the person doing the restock a reference that does not depend on anyone's memory.
Give everything else a place too: a bin for warranty returns waiting on a tag, a bin for cores, a bin for parts pulled for a specific upcoming job. The warranty guide covers why failed parts need to be tagged and held instead of thrown in the scrap bucket - the truck layout is where that habit either happens or does not.
Then take the extra out. Converting a truck to the standard list usually pulls a few hundred to more than a thousand dollars of parts off it. That pile is the start of your dead stock review.
Restock without sending techs to the counter
The goal is that a tech starts every day with a truck at its maximums and never has to think about it. There are three common ways to get there, and they fit different sizes.
The simplest is a weekly restock. One day a week, each tech - or better, a helper or warehouse person - checks every bin against its minimum, and anything at or below minimum is ordered up to its maximum. The order goes to the distributor as one purchase order per truck and is delivered or picked up once, in the morning, before the first call. This works from two trucks up and needs nothing but the labeled bins and a list.
The second is replenishing from what was used. If parts are recorded on every invoice, the platform knows what left each truck. A report of yesterday's or this week's usage by truck becomes the restock order. This is faster and more accurate than checking bins, but only as good as your techs' discipline about adding parts to jobs - which is another reason to enforce that.
The third is letting the distributor do it. Many supply houses will manage truck or shop stock for accounts that buy enough: they count the bins on a schedule and refill them, or they deliver standing restock orders to the shop each morning. Ask your main distributor what they offer. It usually costs nothing extra and ties you more closely to one supplier, which is a trade worth making deliberately rather than by default.
Past eight or nine trucks, a parts runner starts to pay for itself. One person in a small vehicle delivering a part to a job costs far less per hour than a technician, and the tech keeps working - starting the next step or running the next call - while the part is on the way. Pair the runner with a small shop stock of the second tier of parts: the ones too slow for every truck but too common to wait on.
For the runs that still happen, make them visible. Have dispatch log every mid-day supply house trip with the part and the job. After a month, that log tells you which parts to add to the truck list. It is the single most useful report in this whole process.
Purchase orders and tying every part to a job
Inventory control fails at two points: when parts are bought, and when parts are used. Fix both with one rule each.
Buying: nothing is purchased without a purchase order number, and every purchase order names either a job or a truck. A part bought for a specific job is charged to that job. A part bought to refill stock is charged to that truck. The counter staff at your distributor will enforce this for you if you ask them to refuse any purchase on your account without a PO. It takes a week for techs to adjust and it ends the mystery line items on the monthly statement.
Using: every part that comes off the truck goes on the invoice for that job, even when it is included in a flat-rate price and the customer never sees a line for it. The flat-rate task should carry its parts in the background, so closing the task records the usage. The pricing guide covers building tasks from real part costs - inventory is where those costs either get captured or quietly disappear.
The leak here is real money. Take 600 calls a month, about 360 of which use a part, at an average part cost of $45 - roughly $16,200 a month in parts at cost. If 5 percent of those parts are used and never recorded, that is about $810 a month, or close to $9,700 a year, in parts you paid for and did not bill. The revenue those parts should have carried at your markup is several times that.
Refrigerant deserves its own line. It is the most expensive consumable on the truck and the easiest to give away a pound at a time. Weigh it in and out, record pounds on the job, and compare pounds purchased against pounds billed each month. A gap is either unbilled work or a leak in your own process.
Reconcile monthly. Supplier statements should match purchase orders, and purchase orders should match jobs or truck restocks. When credit memos for returns and warranty parts show up, they get matched the same way. Fifteen minutes a month with the statement and the PO list catches most of what goes wrong.
Cycle counts, dead stock, and accountability
An annual full count is a miserable day that produces a number nobody trusts by March. Replace it with cycle counts. Every week, each tech counts 20 part numbers on their truck - a list that rotates so every bin gets counted every couple of months, with the expensive and fast-moving parts counted more often. It takes about ten minutes. Differences get corrected in the system and noted.
Look at the differences by truck. Small, random variances are normal. A truck that is consistently short on the same parts has a process problem - parts not being added to jobs, parts being lent to another truck without a transfer, or stock going home. You do not need to assume the worst to insist on finding out which.
Assign each truck's inventory to the tech who drives it, in writing, and make inventory accuracy part of the same scorecard as callback rate and revenue. Be careful with anything that takes shortages out of a paycheck: wage deduction rules vary by state and many states restrict or prohibit it. Tying accuracy to a bonus or to the career ladder gets the same result without the legal risk.
Then deal with dead stock. Pull every part that has not moved in 12 months. On eight trucks carrying about $4,500 each, finding a quarter of it idle is common - around $9,000. Ask your distributor what they will take back; many accept unopened stock items for credit, sometimes with a restocking fee. Move what is left to one labeled shelf at the shop so it can be found when that rare job comes up, take it off the trucks, and remove it from the reorder list. The cash you free usually pays for the parts you were actually short on.
What software does, and what it does not
Software does not organize a truck. It records what a disciplined process is already doing. Set up the list, the bins, the PO rule, and the weekly restock first - a shared spreadsheet is enough to start. Then move it into a system when the spreadsheet becomes the bottleneck.
Field platforms vary a lot here. Service Fusion ($245 to $627 a month per company, not per user, and less on annual billing) has stronger inventory features than most platforms in its tier, which matters if parts control is a main reason you are buying. ServiceTitan (typically $350 to $500 per tech a month) handles truck-level inventory, purchase orders, and replenishment, and like everything on that platform it needs to be configured deliberately - expect real setup work before the numbers are trustworthy. FieldEdge and Housecall Pro let you attach parts and materials to invoices and price book items, which covers usage tracking even where truck-by-truck stock levels are limited. Ask any vendor to show, in a demo, a part being received on a PO, moved to a truck, used on a job, and appearing on a restock report. If they cannot do all four, you will be doing part of it by hand.
Commercial shops have a different problem - parts are bought per job and per contract far more than stocked - and BuildOps is built around that purchasing and job-cost flow. The commercial software guide covers it.
On the accounting side, QuickBooks Online tracks inventory quantity and value at its Plus tier ($140 a month) and above, but it is not designed to track stock truck by truck. Most shops let the field platform hold the truck detail and let QuickBooks hold the total value, with the two reconciled monthly. The integrations guide covers how that sync should work and where it usually breaks.
Dispatch and inventory meet in one place: sending the right truck. When the CSR or AI receptionist captures the equipment type and the symptom at booking, the dispatcher can send a truck that carries the likely part, or have it pulled before the tech leaves. That is the cheapest first-time fix improvement available, and it costs a question on the phone.
The numbers to track, and a 30-day start
Track five numbers monthly. Supply house runs per tech per week, from the dispatch log. First-time fix rate, and the share of return trips caused by parts. Inventory value per truck. Parts cost as a percent of service revenue, watched for drift. And count accuracy: the share of cycle-counted part numbers that matched the system.
Week one: have dispatch log every unplanned supply house run for the full week, with the part and the job. Pull 12 months of parts usage. Set up the rule with your distributor that no purchase goes on your account without a PO tied to a job or a truck.
Week two: build the stock list by truck role from the usage data, and set minimums and maximums from the last 90 days. Add the parts that showed up most in the run log.
Week three: convert one truck to the standard layout, photograph it, and then convert the rest. Pull everything that is not on the list. Sort the pile into return for credit, shop shelf, and scrap.
Week four: start the weekly restock and the weekly 20-item cycle count, assign each truck's inventory to its tech in writing, and run the first reconciliation of supplier statement against purchase orders. Then compare supply house runs to week one. Most shops see them drop by half or more inside a month - cutting the 78 hours in the example by two-thirds returns about 52 tech-hours a month, roughly 35 calls, or about $15,600 in peak-season revenue the same crew could not reach before.
Tools mentioned in this guide
Tool rankings for this topic
Frequently asked questions
Q.What should be on an HVAC service truck?
Build the list from your own last 12 months of parts usage. At most residential shops a few dozen part numbers cover the large majority of repairs - typically run capacitors in common values, contactors, universal condenser fan and blower motors, igniters, flame sensors, a universal control board, pressure switches, transformers, fuses, condensate pumps and float switches, thermostats, filter driers and the refrigerants you service. Parts used fewer than three or four times a year across the company are better ordered per job than stocked.
Q.How much inventory should an HVAC service truck carry?
A stocked residential service truck commonly carries $3,000 to $6,000 in parts and materials. The right number comes from usage rather than a target: set a minimum of about one week of use and a maximum of two to three weeks for each stocked part, keep expensive slow-moving parts at a maximum of one, and carry cheap fast-moving parts generously because running out costs a return trip.
Q.How much do supply house runs cost an HVAC company?
More than most owners expect. At an 8-tech shop where each tech makes three unplanned 45-minute runs a week, that is about 78 tech-hours a month - $4,300 to $5,500 in loaded labor and truck cost. In peak season those hours equal roughly 52 calls, or about $23,400 in revenue at a $450 average ticket. Logging every mid-day run for a week is the fastest way to see your own number.
Q.How do you set min and max levels for truck stock?
Use each part's usage per truck over the last 90 days in season. The minimum is roughly one week of use and triggers a restock; the maximum is two to three weeks of use and is the level you restock to. Review the levels before each season, since cooling-season and heating-season parts move at very different rates.
Q.How often should HVAC trucks be restocked?
Weekly works for most shops: check each bin against its minimum, order up to the maximum on one purchase order per truck, and have it delivered or picked up before the first call of the day. Shops that record every part on the invoice can restock from a usage report instead of checking bins, and many distributors will manage truck or shop stock for accounts that buy enough.
Q.How do you stop parts from going unbilled?
Two rules. Every purchase needs a purchase order tied to a job or a truck, and every part that leaves the truck is recorded on that job's invoice, even when it is included in a flat-rate price. Building parts into flat-rate tasks so usage is recorded when the task is closed makes this automatic. Reconcile the supplier statement against purchase orders monthly, and compare refrigerant pounds purchased against pounds billed.
Q.Do I need inventory software for an HVAC business?
Not to start. A standard stock list, labeled bins, a purchase order rule and a weekly restock can run on a spreadsheet, and the process matters more than the tool. When you do move it into software, ask the vendor to show a part being received on a purchase order, moved to a truck, used on a job and appearing on a restock report. Service Fusion and ServiceTitan handle truck-level inventory; accounting software such as QuickBooks Online tracks total value but not stock by truck.