Most small service businesses do not have a price book. They have a founder who knows what things cost, a couple of technicians who have absorbed roughly what the founder charges, and a spread of prices for the identical job that nobody has ever measured. The same capacitor replacement goes out at $249 on Tuesday and $185 on Friday, and the only person who notices is the customer who gets both.
A price book fixes that, but not by being a document. It is a process: inventory the tasks you actually repeat, cost each one honestly, set margin on purpose, load the result where technicians can't bypass it, and keep it current as supplier costs move. As of August 2026, the shops that hold margin through a year of parts inflation are almost always the ones running a maintained catalog, not the ones with the best negotiators.
This guide covers the construction and the upkeep. It deliberately does not relitigate whether you should price by the job or by the hour — that argument is worked through in the flat-rate versus hourly comparison — and it is not about how you present prices to a customer, which is the subject of good-better-best option pricing. Assume you have decided to price the task. This is how you build the numbers behind it and keep them honest.
Start from invoice history, not from imagination
The first mistake is sitting down with a blank spreadsheet and trying to think of every job you do. You will list the interesting ones and forget the boring ones, and the boring ones are where the volume is.
Pull your last 90 days of invoices instead and count line items. Sort by frequency. What comes back is almost always a surprise: a small number of tasks carry most of the revenue, and several of them are jobs the owner considers trivial. A plumbing shop that thinks of itself as a repipe business often discovers that water heater swaps, disposal replacements, and hose bib repairs are three quarters of the ticket count. An HVAC company finds capacitors and contactors outnumber system installs twenty to one.
Aim for the tasks that cover roughly 80% of your line volume. For most shops with one to six trucks, that is somewhere between 20 and 40 entries. Resist the urge to build 300 — a price book nobody finishes is worth less than a short one that gets used every day, and you can add lines as they come up.
Write each task the way a technician would search for it, not the way an accountant would file it. "Replace 40-gallon gas water heater, standard connections" is findable. "WH-STD-40-G" is not, and it will be typed as free text within a week. The U.S. Small Business Administration's guidance on managing business finances makes the general point that you cannot control what you do not track continuously; a price book is the tracking layer for the revenue side of that.
Cost each task properly — the three components
A price-book line has three cost components, and small shops routinely get two of them wrong.
Material at real landed cost. Not the list price, not what you paid two years ago, and not the cost before freight. Landed cost is what the part actually costs sitting on your truck: supplier price, minus your discount, plus shipping and any handling. If your inventory system tracks cost on receipt — with purchase orders and a costing method like FIFO or average cost — this number maintains itself. If it lives in your memory, it is already stale. Consumables count too: solder, fittings, tape, wire nuts, the small stuff that never gets invoiced but always gets used. Roll a realistic consumables allowance into the material line rather than pretending it is free.
Labor at a burdened rate, not a wage. This is the component that most often destroys margin, because owners cost labor at what the tech is paid. A technician earning $32/hour does not cost $32/hour. Add payroll taxes, workers' compensation, benefits, and paid time off — commonly 25–35% — and the paid hour costs about $42. Then divide by billable hours, because you pay for 2,080 hours a year and bill for far fewer.
Overhead allocation. The truck payment, fuel, maintenance, insurance, shop rent, phones, software, and the hours the owner spends on quotes and bookkeeping all have to be recovered by billable work. Total your annual non-labor overhead per truck and divide it by the same billable-hour figure. It becomes a per-hour number you add to every task alongside labor.
A worked example: deriving the rates (illustrative)
These figures are an example to show the arithmetic, not a benchmark — substitute your own.
A technician is paid $32/hour. Applying a 32% burden for payroll taxes, workers' comp, and benefits gives $42.24 per paid hour. Over 2,080 paid hours that is $87,859 per year.
Now the billable hours. Start at 2,080 and subtract three weeks of holiday and PTO (120), drive time at roughly eight hours a week (400), and shop time, training, stock runs, warranty callbacks, and admin (440). That leaves 1,120 billable hours — about 54% utilization, which is realistic for a field trade and higher than many shops actually achieve.
$87,859 ÷ 1,120 = $78 per billable hour of labor cost. Not $32. Not $42.
Overhead for the same truck: payment, fuel and maintenance $14,400; insurance $6,000; software $948; shop and utilities $12,000; phones, marketing and admin $8,000 — about $41,000 a year. Divided by 1,120 billable hours: $37 per billable hour of overhead.
So the true cost of putting that technician on a job is roughly $115 per billable hour before a single part. A shop billing "$95 an hour plus parts" and feeling good about it is losing money on labor and does not know it, which is exactly the pattern that shows up when you run real job costing on true profit per job.
Building the lines: a sample price book
With $78/hour burdened labor and $37/hour overhead, each task's build-up is mechanical. Set a target gross margin per line, then price so that (price − total cost) ÷ price hits it.
| Task | Material (landed) | Burdened labor | Overhead alloc. | Total cost | Target GM | Customer price |
|---|---|---|---|---|---|---|
| Transponder key replacement (0.65 hr) | $28 | $51 | $23 | $102 | 55% | $229 |
| Water heater swap, 40-gal gas (4.0 hr) | $620 | $312 | $140 | $1,072 | 40% | $1,795 |
| HVAC run capacitor replacement (0.75 hr) | $34 | $59 | $26 | $119 | 60% | $299 |
| Dedicated EV charger circuit (3.0 hr) | $185 | $234 | $105 | $524 | 45% | $959 |
| Garage door torsion spring pair (1.25 hr) | $92 | $98 | $44 | $234 | 52% | $489 |
| Dryer heating element replacement (0.9 hr) | $46 | $70 | $32 | $148 | 50% | $299 |
Two things to notice. First, margin is not uniform — the low-material, high-skill lines carry more because what the customer is buying is diagnosis and the ability to show up, while the equipment-heavy install carries less because the material dominates and the market prices it. Second, none of these prices are round-number guesses; they are derived, which means when a customer pushes back you can hold them without flinching.
Set the target margin deliberately, per line. Most small field-service shops land somewhere between 45% and 60% gross on the total job cost, higher on small-part work and lower on installs. The number is a business decision — what you need to fund overhead growth, a second truck, and the owner's actual salary — not a formula anyone can hand you.
The arithmetic of one under-priced task
This is the part that convinces owners. Take the transponder key line above. Total cost $102, priced at $229 for a 55.5% margin.
Now suppose it was priced at $189 instead, because that is what it was three years ago and nobody revisited it. Margin drops to 46%. The per-job difference is $40 — small enough that no one notices on any single invoice.
Run that task 200 times a year and the gap is $8,000. That is annual, recurring, and invisible: it never appears as a loss, a write-off, or an unpaid invoice. It simply never arrives. Two tasks mispriced by that much and you have given away the cost of a technician's benefits package.
The same arithmetic runs the other way when a supplier moves. If that key blank's landed cost goes from $28 to $41 — a 46% jump that happens routinely — total cost rises to $115 and the $229 price now yields 49.8% instead of 55.5%. Holding the original margin requires $259. Catch it the week it happens and you reprice once; catch it at year end and you have absorbed 200 jobs' worth of the difference.
Loading it where technicians actually quote from
A price book in a spreadsheet on the office computer is a document. A price book in your service catalog is a control.
The mechanic is simple: every finished line becomes a catalog item — service or bundle — with its price, its material components, and its labor. When a technician builds an invoice in the field, they select the task rather than typing a price. The parts attached to it decrement from that truck's stock automatically, which keeps material costs current for the next revision and keeps stock counts honest at the same time. In IntelliDrive OS the service catalog and product bundles do exactly this, and the same records feed the reports that tell you which lines are actually selling.
The upkeep loop closes here too. Because purchase orders and receipts update landed cost, and because reorder alerts and purchase orders surface what you are actually paying, the material column of your price book stops being a memory exercise. You are reading current costs out of the same system that sold the part.
Review cadence, and handling a mid-year supplier jump
Two rhythms, and they are different jobs.
Quarterly spot-check (about an hour). Take your top 10 tasks by volume. Pull current landed cost for the material in each. Recompute margin at the current price. Anything that has slipped more than about three points gets repriced now. You are not rebuilding anything — you are catching drift.
Annual full rebuild (half a day). Re-derive the burdened labor rate, because wages and benefit costs moved. Re-derive the overhead-per-billable-hour figure, because insurance, fuel, and rent moved. Re-pull the last 12 months of invoice history and check whether the task list still matches what you sell — you will find lines that have gone dead and jobs you now do weekly that were never in the book. Then reprice everything against the new rates.
Mid-year supplier increases do not wait for either. Set a trigger: when a part's landed cost moves more than roughly 10%, the affected lines get repriced that week. The temptation is to eat it "until the next update," which is precisely how a shop discovers in December that a whole category has been running ten points light since March. Digital records make this fast — the IRS recordkeeping guidance notes that electronic records satisfy the same requirements as paper, and the practical benefit is that a searchable purchase history turns "what are we paying for these now?" into a 30-second question.
The discipline problem
None of this survives contact with the field if technicians can freehand a price.
The failure is rarely malicious. A tech knocks $40 off because the customer seemed stressed, or rounds down because the job went quickly, or quotes from memory because the catalog took too long to search. Each decision is defensible in the moment and invisible afterward — a discount given in a driveway shows up in no report unless the system captured it as a discount.
Three controls fix most of it. Make the catalog price the default so quoting correctly is faster than quoting from memory. Require a manager for any deviation, and require a reason, so exceptions become data instead of folklore. Then review those exceptions monthly — patterns emerge fast, and they usually tell you something true about a price that is genuinely wrong rather than a technician who is generous.
Pay structure matters here too. If technicians are compensated on revenue, per-technician commission tracking makes the incentive point in the right direction: the person quoting has a stake in quoting the book. If they are paid hourly, the price book is the only thing standing between your margin and the mood of the day.
The bottom line
A price book is not a pricing philosophy. It is the arithmetic behind every quote your shop gives, written down once and maintained deliberately: real landed material cost, labor burdened and divided by billable hours rather than paid ones, overhead allocated instead of hoped for, and a margin you chose rather than discovered.
Build it from what you actually invoiced, not what you remember doing. Load it where technicians select instead of type. Spot-check the top lines quarterly, rebuild annually, and reprice within the week when a supplier moves. Do that and the $8,000 that used to leak out of one stale line stays in the business — quietly, invoice after invoice, without you having to sell a single additional job.
Related reading: Flat-rate vs hourly pricing · Good-better-best option pricing · Job costing and true profit per job. For a complete machine-readable feature and pricing reference, see our LLM reference page.
