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. The shops that hold margin through a year of parts inflation tend to be 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 most of your line volume — roughly 80% is a reasonable target. For many small shops that is a few dozen 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 guide to managing your finances starts from keeping proper books of revenue and expenses; 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; IntelliDrive's inventory costing lets you choose FIFO, LIFO, or average cost. 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 — your accountant can give you the real percentage, and this example assumes 32% — 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. The example above uses 40% to 60% depending on the line, higher on small-part work and lower on installs, and that is an illustration, not a benchmark. 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, which a supplier repricing can easily cause — 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 service in the catalog with its price. When a technician builds a sale in the field, they select the task rather than typing a price, then attach the parts they used with "Part used on this job": the part comes off that truck's stock at $0 on the line and its cost lands on the sale, so the margin is real, the stock counts stay honest, and the material column of your next revision is current. In IntelliDrive OS the Services catalog does this, and the Sales report grouped by product shows which lines are actually selling.
The upkeep loop closes here too. Because receiving a purchase order records the cost you actually paid — see purchase orders and reorder records — 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 says you may choose any recordkeeping system suited to your business that clearly shows your income and expenses, and the practical benefit of electronic records 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. In IntelliDrive OS, discounts are limited by a role permission, so only the roles you choose can discount at the register.
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.
