Skip to content
CheckMySupply.com
Inventory, Truck Stock and Will-Call

Truck Stock Inventory for Contractors: Where It Leaks

Truck stock inventory is where contractor price control dies first. Here is how truck stock, shop stock and will-call leak cash, and the system that stops it.

By 10 min read

Truck stock inventory for a contractor is not really an inventory problem. It is a pricing and coding problem wearing an inventory costume. The material on your vans, the material on your shop racks, and the material a tech grabs at will-call all share one trait: nobody wrote a job number on it at the moment of purchase, and nobody checked the unit price before it got paid. That is where the money goes. Not into theft, which is the first thing shops suspect and the last thing the numbers support, and not usually into waste. Into unit prices nobody looked at, on tickets nobody matched, coded to jobs that did not consume the material.

So the fix is not a barcode system. For most shops under fifty trucks, the fix is three habits: buy stock against a standing purchase order instead of an open counter ticket, photograph every will-call ticket the day it happens, and check the unit price on the ten SKUs you restock most often against what you paid last time.

All three buckets are handled here in one place, because they are one control problem. If you want the job costing consequences specifically, those are worked out in truck stock and job costing. Here we are upstream of that, at the counter.

Truck stock, shop stock and will-call are three different problems

They get lumped together because they all describe material without a job attached. They fail differently.

Truck stock is the consumables and small fittings riding on the van so a tech does not lose an hour driving to the counter. Wire nuts, straps, couplings, tape, a few lengths of pipe, sheet metal screws, common fittings. It is bought in quantity, consumed a handful at a time, across many jobs, over weeks. The failure mode is that its cost gets assigned somewhere long before it gets used, and never to the right places.

Shop stock is the bigger bench: full boxes of wire, conduit racked in the yard, fittings by the case, a spare motor or two. It is capital sitting still. The failure mode is that it gets bought on a good price, then reordered later on a bad one, and nobody compares the two invoices because both said “stock.”

Will-call is a purchasing channel rather than inventory: material picked up at the counter, usually the same day, usually for a specific job, usually by whoever is closest. The failure mode is transactional. The ticket is paper, it leaves in a truck, and the price on it was never checked against anything.

The reason to treat them as one topic is that all three bypass the control you actually have. A delivered order for a job you bid runs through a quote, a purchase order, and a packing slip. Those three documents are what let you catch an error, which is the whole logic of three-way matching for contractors. Stock buys and counter runs skip most of that chain on purpose, for speed. Speed is the right call. Skipping the check afterwards is not, and the four checks a counter run skips are worth knowing by name.

Why stock buying is where price creep hides

Here is the mechanical reason your stock SKUs drift more than your job SKUs.

A job SKU gets bid, quoted, argued about, and compared to an estimate. Somebody looks at it twice. A stock SKU gets ordered because the bin is empty. The person ordering it does not know what it cost last time and has no reason to. It is $38 worth of straps on a $2,100 ticket. Nobody is auditing $38.

Then multiply. If you restock forty items a month and each one drifts a little, the number stops being $38. That is the arithmetic worked through in what price creep costs over a year, and stock items are its natural habitat because they are the purchases with the least scrutiny per dollar and the most repeats per year.

The market gives that drift plenty of cover right now. AGC reported that in May 2026 the producer price index for inputs to new nonresidential construction rose 1.8% for the month and 8.4% year over year, the largest annual jump since the pandemic, while contractors’ bid prices rose only 3.5%. Copper and brass mill shapes were up 26.8% year over year in that release. When the whole market is moving, “prices went up” is a complete and true explanation for almost any increase, which is exactly why you need your own trail per SKU. Distinguishing the two is its own skill, covered in contract price versus counter price.

There is also a straightforward pricing mechanic that catches stock buys specifically. Your negotiated rate is a lookup joining your account, the part number, and the branch. Will-call tickets are frequently written as counter transactions rather than order-entry transactions, and a stock reorder placed at a branch that does not have your agreement loaded prices off the default. Nobody decided to charge you more. The lookup missed.

The truck stock control system, in order of payback

You do not need all of this. Do them in this order and stop when the return goes flat.

Control What it fixes Effort to start Who it is for
Standing PO for stock, one per month per supplier Gives stock buys a document to match against One phone call to your rep Every shop
A named stock cost code, separate from every job Stops stock landing on whichever job was open An afternoon in the accounting system Every shop
Photograph every will-call ticket the same day Preserves the price trail on paper that disappears Free, but it is a habit, not a policy Every shop
A restock list of your top 20 SKUs with last price paid Makes drift visible to whoever is buying An hour with three months of invoices Shops buying stock weekly
Min and max levels per truck Stops both the emergency counter run and the dead stock A day per truck, once 4+ trucks
Named buyer, not “whoever is free” One person sees every price, so patterns register Organizational, not technical 8+ techs buying
Periodic truck count Tells you shrinkage from bad coding Half a day per quarter 6+ trucks

The first three are the ones that pay for themselves inside a month. The rest are real but they are inventory discipline, and inventory discipline gets abandoned in a busy August unless the first three are already automatic.

Standing purchase orders for stock

A purchase order turns a purchase into a committed cost you can see before the invoice arrives. Foundation Software describes purchase orders as what lets contractors track committed cost and remaining committed cost at the job, cost code or cost class level, and warns that without them contractors risk thinking a job is more profitable than it really is.

The version that works for stock is a monthly standing PO per supplier, with a dollar limit, coded to your stock cost code. Every stock pull references it. Now you have a number to match against, and a limit that trips when stock buying runs hot. If you already run PO tolerances on job material, use the same thresholds here, keeping in mind the practical range: published guidance on three-way matching notes invoices within 2% to 3% of the PO commonly pass automatically, or that full matching applies only above a dollar cutoff.

One stock cost code, and a rule for clearing it

Material bought without a job has to land somewhere. If your system forces a job number at entry, whoever is coding will pick one, and it will be wrong. Give them a legitimate place to put it: a stock or inventory cost code that is not a job.

Then decide, in advance, how it clears. Two honest options. Either you allocate stock to jobs as it is consumed (accurate, and requires techs to report what they used, which most will not do reliably), or you treat stock as overhead and recover it in your labor rate (less precise per job, and completely consistent across every job, which is the point). Both are defensible. Alternating between them without deciding is what produces jobs that look bad for no traceable reason.

Photograph the ticket

Counter tickets are the only purchase document in your business that has no digital copy anywhere until somebody makes one. The distributor has it. You have a piece of thermal paper folded into a visor. Photograph it the day it happens, before it fades or goes through the wash. The practical mechanics, including what phone capture gets wrong, are in scanning paper supply-house invoices.

Write the job number, or the word STOCK, on the ticket before you photograph it. Ten seconds in the parking lot beats twenty minutes of reconstruction at month end, and reconstruction at month end is guessing.

Min and max levels without pretending you run a warehouse

Real inventory systems track quantity on hand in real time. You are not going to do that on a van, and you should not try. What works is coarse:

  • Pick 15 to 30 items per truck type. Not everything on the truck. The things that, when missing, cause a counter run.
  • Set a max (what a full truck carries) and a min (the level that triggers restock).
  • Restock on a schedule, one morning a week, from shop stock, not from the supply house.
  • Shop stock replenishes from the supplier on a standing PO, in fewer and larger orders.

The point of that last step is price-checking, not the quantity discount: fewer, larger, planned orders can be looked at before they are placed. Forty small emergency buys a month cannot be checked by anyone. Four planned ones can.

Two side effects worth naming. You will find dead stock on trucks, material for a job type you stopped doing, and you will be tempted to return it. Read the next section first. You will also find the same item stocked on six trucks in three different manufacturers’ versions, which is a purchasing problem, not an inventory problem, and it is worth fixing because it thins out your volume across part numbers and weakens every price you negotiate.

Returning overstock is not a reset button

The instinct when you find $4,000 of dead material is to send it back. Check the terms before you load the truck, because distributor return policies are published and they are strict, for reasons that are genuinely about their own cost.

Colonial Electric Supply’s published policy requires goods to be undamaged in the manufacturer’s original carton, charges a minimum 25% restocking fee, and excludes wire cuts and non-stock items entirely, with a $25 minimum return value and no cash refunds. Main Electric Supply publishes a similar 25% minimum restocking fee with prior approval required, a 30-day window from delivery, and special orders final. The minimum is not universal: Electrical Wholesalers publishes a 15% minimum with 60 days on account and 30 days for cash sales, and Yale Electric publishes terms at the same 15% minimum, also with no credit on cut wire or made-to-order material.

Read those four policies together and three rules fall out that apply to almost every house. Cut wire never goes back. Non-stock and special order never goes back. And the clock runs from delivery, not from when you noticed. That means dead truck stock discovered eighteen months later is not a return, it is a write-off, and the honest move is to consume it on the next job rather than pay 25% to get 75% of a price you already paid. The full breakdown, including how to ask, is in supply house restocking fees.

The prevention is at the purchase, not the return. Do not stock non-stock items. Do not cut wire you are not installing this week.

What to actually do

  • Give stock a home: one cost code that is not a job, and a written rule for how it clears.
  • Put a standing monthly PO on each supplier for stock, with a dollar limit, so stock buying has something to match against.
  • Write the job number or STOCK on every counter ticket in the parking lot, and photograph it that day.
  • Build a top-20 restock list with the last price you paid on each item, and put it where the buyer can see it.
  • Set coarse min and max levels per truck, restock weekly from shop stock, and order from the supplier in fewer, larger, checkable orders.
  • Before returning overstock, check your supplier’s published policy for the restocking minimum, the window from delivery, and the cut wire and non-stock exclusions.
  • Once a month, compare the unit price on your stock SKUs to the last time you bought them. That single check is the one that finds the drift.

Sources