Home  /  Blog  /  Automating your ServiceTitan pricebook
ServiceTitan · Pricebook

How to Automate Your ServiceTitan Pricebook When Vendor Costs Rise (2026 Guide)

Top Builder AI Published June 18, 2026 ~12 min read HVAC · Plumbing · Electrical

To keep a ServiceTitan pricebook's material costs current automatically, connect your distributor's price file (or feed) to a tool that, on a schedule, matches each new vendor unit cost to the SKUs on your pricebook items, recomputes every affected item under the sold-hour pricing modelprice = sold hours × sold-hour rate + materials cost + (materials cost × markup) — and shows you the old price, the new price, and the margin change for each item. You approve the batch, and the approved prices write back into ServiceTitan. That is exactly what Top Builder AI's Pricebook agent does: it ingests a vendor price update, recomputes cost and price for each item, flags anything that moves past a tolerance you set, and proposes each change as a human-approved, reversible write-back. AI never changes a customer-facing price on its own — a person approves it first.

If you run a residential HVAC, plumbing, or electrical shop on ServiceTitan, your pricebook is the single most valuable spreadsheet in the company. It is where every quote, every option a technician presents at the kitchen table, and every dollar of gross margin is decided. And it is almost always out of date. Vendors raise prices through the year; the pricebook does not move with them. This guide walks through why that gap quietly eats margin, how material costs actually get into a ServiceTitan pricebook today, and how an AI agent keeps them current with a continuous, human-approved sync instead of a once-a-year scramble.

Why a stale pricebook silently kills margin

Flat-rate pricing is the engine of a modern service business, and it has one structural weakness: you sell a price, not a receipt. The customer never sees your cost. That is the point — it lets your technician quote a confident, all-in number at the door. But it also means a cost error never corrects itself. If the price on the sheet is built on last spring's copper cost, every job that uses copper is quoted at last spring's margin, forever, until someone updates the sheet.

The sold-hour model amplifies this. Because the price is a formula and not a guess, a wrong input produces a precisely wrong output on every single ticket that touches it. A high-volume item that is underpriced by a few percent does not lose you a few percent once; it loses you a few percent on every job, every day, for as long as the cost is stale. The leak is invisible in the moment because the price still looks normal. It only surfaces weeks later as a gross margin that came in thinner than the estimate, and by then it is nearly impossible to trace back to the specific items that drifted.

Two forces make this worse in practice. First, the costs that move most are the ones contractors use most: copper, aluminum, refrigerant, sheet metal, fittings, and standard equipment all ride commodity and supply cycles. Second, manual pricebook maintenance is exactly the kind of low-urgency, high-effort task that gets postponed. Nobody's day blows up because the pricebook is three months old. So it slips, and the margin slips with it.

How material costs get into a pricebook today — and why they go stale

There are three common ways a residential contractor keeps costs and prices in a ServiceTitan pricebook, and each leaves the same freshness gap.

1. Manual entry and bulk edits

Many shops maintain the pricebook by hand: an office manager edits items in ServiceTitan, or exports to a spreadsheet, updates costs, and re-imports. This is fully under your control and works for small books, but it is slow and error-prone, and it only happens as often as someone has time, which in practice means rarely. Between updates, the book drifts.

2. One-time imports from a flat-rate provider (e.g., Profit Rhino)

Profit Rhino is a well-known flat-rate pricebook product that gives contractors a structured, professionally built catalog with labor and materials already organized. Its ServiceTitan integration is import-based: you bring the content and pricing into ServiceTitan as a sync or import. That is genuinely useful for getting a clean, complete book in place. The limitation, for the specific problem of your vendor costs rising, is that an import is a point-in-time event. It refreshes the book when you run it; it does not continuously reach into your distributor's latest cost file and reprice your items every time those costs change.

3. ServiceTitan Pricebook Pro and Pricing Builder

ServiceTitan offers Pricebook Pro, professionally maintained pricebook content with images and descriptions updated on a managed cadence, and Pricing Builder, the native tooling for calculating prices from costs, markups, and member rates. These are real, capable features and the right foundation for many shops. What they do not do is automatically pull your specific distributor's new unit costs and reprice your book the moment those costs change. Managed content updates on a vendor's cadence; keeping your own vendor-cost inputs current is still a process you own.

The common thread across all three: the structure is solved, but the freshness of your vendor costs is not. That freshness gap — the lag between a vendor raising a price and your pricebook reflecting it — is where margin leaks, and it is the exact wedge an AI agent fills.

The sold-hour pricing model, in plain numbers

Everything that follows hinges on one formula, the flat-rate model most residential contractors already price from:

The model
price = sold hours × sold-hour rate + materials cost + (materials cost × markup)
where
materials cost = Σ ( quantity × vendor unit cost ) over the item's material lines
Each pricebook item carries its labor (sold hours at your rate) and a bill of materials. When a vendor unit cost changes, only the materials cost and the markup-on-materials move; the labor portion is unaffected.

Notice what this structure does to margin. Your true cost of a job is labor (sold at your rate) plus materials at cost. The markup dollars — materials cost times the markup percent — are the gross margin the model is designed to protect. So when a vendor cost rises and you pass it through at the same markup percent, your margin dollars actually go up, because the markup is now applied to a larger cost. Margin only erodes when you fail to pass the increase through, which is precisely what a stale pricebook does for you.

A worked example: an AC install when copper and refrigerant rise

Here is the arithmetic on a single item, shown transparently. This is illustrative math with round, made-up numbers to demonstrate the model — not a client result.

Take an air-conditioning install priced at 8 sold hours, a sold-hour rate of $150, a 20% material markup, and four material lines:

Example item · AC install · current costs
Labor — 8 sold hours × $150$1,200.00
Condenser (1 × $1,800)$1,800.00
Line set (1 × $120)$120.00
R‑410A refrigerant (4 lb × $50)$200.00
Copper (20 ft × $5.00)$100.00
Materials cost (sum of material lines)$2,220.00
Markup on materials (20% × $2,220)$444.00
Price = $1,200 + $2,220 + $444$3,864.00
Materials cost is $2,220. Price = labor $1,200 + materials $2,220 × 1.20 = $3,864.00.

Now a vendor publishes a price update: copper rises to $6.50/ft and R‑410A rises to $62/lb. The condenser and line set are unchanged. Only the two affected material lines move:

Same item · after the vendor cost increase
Labor (unchanged)$1,200.00
Condenser (unchanged)$1,800.00
Line set (unchanged)$120.00
R‑410A (4 lb × $62)  ↑$248.00
Copper (20 ft × $6.50)  ↑$130.00
Materials cost (new)$2,298.00
Markup on materials (20% × $2,298)$459.60
New price = $1,200 + $2,298 + $459.60$3,957.60
Materials cost rises $78 (to $2,298). New price = $1,200 + $2,298 × 1.20 = $3,957.60, a +$93.60 (+2.42%) move. Keep the 20% markup and your margin dollars on this item rise from $444 to $459.60. Leave the pricebook stale and you keep quoting $3,864 while paying the higher cost — that $93.60 comes straight out of margin on every install.

That is the whole problem in one item. A small, almost unnoticeable cost change moves the right price by 2.42%. On a single install it is $93.60. Across a full book of items, hundreds of jobs a month, and a year of vendor increases that never got entered, it is the difference between the margin you planned and the margin you got.

How an AI agent keeps the pricebook current

An AI pricebook agent automates the loop that a careful office manager would run if they had unlimited time. The pipeline is deliberately boring and auditable:

  1. Ingest the vendor price file or distributor feed. On a schedule (quarterly works well; event-driven on each new file is better), the agent reads the distributor's spreadsheet, CSV, or feed of new unit costs and maps each row to a SKU on your pricebook.
  2. Recompute material cost per item. For every pricebook item whose bill of materials includes a changed SKU, it sums quantity × new vendor unit cost across the material lines to get the new materials cost.
  3. Re-apply the sold-hour formula. It runs price = sold hours × sold-hour rate + materials cost + (materials cost × markup) with the new materials cost, producing the new price — labor untouched.
  4. Surface the price delta and margin impact. For each item it shows the old price, the new price, the dollar and percent change, and the change in margin dollars, sorted largest move first, exactly how a pricing desk reviews a re-price batch.
  5. Flag anything past tolerance. Items whose price moves beyond a tolerance you set (say, more than 5%) are flagged for a closer look — the guardrail that catches vendor data errors and mis-mapped SKUs before they reach a quote.
  6. A human approves the batch. A person reviews the proposed changes and approves, edits, or rejects. Nothing is customer-facing until then.
  7. Write back to ServiceTitan. Approved prices write back into the ServiceTitan pricebook, and each write stores the prior price so it can be reversed.

This is exactly how Top Builder AI's Pricebook agent is built. The price is computed by deterministic, tested code — not by a language model — so the same inputs always produce the same number, and every figure is auditable line by line. The agent persists its findings as advisory recommendations; it does not silently touch your live pricebook. A price write-back to ServiceTitan is always human-in-the-loop, and every approved change is reversible to the exact prior price. The language model's only job is to narrate the result in plain English — the dollars come from the math, never from the model.

One-time import vs. continuous, human-approved sync

The point here is not that imports or managed content are wrong — they are a great foundation. It is that they solve a different problem (getting a clean, structured book) than the one that erodes margin during the year (keeping your vendor costs fresh). Here is the framing:

CapabilityOne-time import / managed contentContinuous, approved sync (Pricebook agent)
Gets a structured book in placeYesAssumes you already have one
Uses your specific distributor's costsPartially — whatever you importYes, from your vendor price file
Re-prices on every cost changeNo — point-in-timeYes — scheduled or event-driven
Shows old → new price + margin impactLimitedPer item, largest move first
Flags outliers past a toleranceNoYes — configurable
Human approves before customers see itYou re-import manuallyYes — always human-in-the-loop
Reversible to the prior priceManualYes — one-click undo

Read it as a stack, not a fight. Use a flat-rate provider or Pricebook Pro to build and maintain the structure of your book. Layer a continuous, approved re-pricing agent on top to keep the vendor-cost inputs current between those structural updates. The two solve adjacent problems.

How to roll it out

You do not need to automate the whole book on day one. A sensible rollout looks like this:

  • Start with one vendor and your highest-volume items. Map your primary distributor's price file to the SKUs that appear on your most-quoted installs and repairs. That is where stale costs do the most damage and where you see value fastest.
  • Set a conservative tolerance. Begin with a tight flag threshold so anything unusual lands in front of a human. Loosen it as you build trust in the mapping.
  • Run the first file in review mode. The first run is diagnostic on its own — it tells you which items are underpriced against today's costs and by how much, before you change anything.
  • Approve in batches. Review the proposed changes sorted by largest dollar move, approve the routine ones, and hold the flagged outliers for a second look or a SKU-mapping fix.
  • Schedule the cadence. Once the mapping is solid, let new vendor files flow through the same pipeline automatically, with a human approving each batch. Quarterly is the floor; per-file is the goal.

The setup cost is a one-time mapping of your vendors and SKU naming. After that, every new price file runs through the same auditable loop without engineering work — and your pricebook stops drifting away from reality the moment a vendor raises a price.

The takeaway

A ServiceTitan pricebook is only as good as the costs underneath it, and in a flat-rate world those costs are a moving target. The structure is a solved problem; the freshness of your vendor costs is not. Closing that gap — ingest the new costs, recompute under the sold-hour model, surface the price and margin delta, let a human approve, and write back a reversible change — is how you keep margin from quietly leaking between manual updates. That is the job the Top Builder AI Pricebook agent was built to do, and it does it without ever changing a customer-facing price on its own. For more on how the agents are governed and what data they touch, see the Top Builder AI FAQ.

See it run against your pricebook

Bring one vendor price file and we'll show you which items are underpriced today, under the sold-hour model, with every figure auditable line by line.

Book a fit call →

Frequently asked questions

How often should I update my ServiceTitan pricebook?
Update material costs whenever a vendor publishes a new price, and re-price the affected catalog items at least quarterly. Most distributors push cost changes on a quarterly or seasonal cadence, and commodity lines like copper and refrigerant move more often. Quarterly is the floor; event-driven, meaning whenever a price file arrives, is better and is what automation makes practical.
Does ServiceTitan update vendor costs automatically?
No. ServiceTitan stores your pricebook and can recalculate prices from costs and markup once those costs are entered, but it does not automatically pull new vendor unit costs from your distributor and reprice your book. Pricebook Pro provides professionally maintained content on a managed cadence, but keeping your own vendor-specific costs current is still a process you own.
What is the sold-hour pricing model?
It is the flat-rate formula most residential contractors price from: price equals sold hours times your sold-hour rate, plus materials cost, plus a markup on materials. Materials cost is the sum across the item's material lines of quantity times the vendor unit cost. Because every item carries labor and a bill of materials, any change in a vendor cost flows straight into the price.
Will updating material costs change my customer prices?
Yes, if you let it. When a vendor cost rises, the sold-hour formula produces a higher price for any item that uses that material. The increase is usually small per item because materials are only part of the price and the markup sits on top. You decide whether to pass it through, absorb it, or adjust the markup. Nothing reaches a customer quote until you approve it.
Can AI change my prices without my approval?
Not in Top Builder AI. The Pricebook agent recomputes costs and prices and proposes each change, but a price write-back to ServiceTitan is always human-in-the-loop. A person reviews the old price, the new price, and the margin impact, then approves or rejects the batch. Approved writes are reversible, so a mistake can be undone to the prior price.
What is the difference from Profit Rhino or Pricebook Pro?
Profit Rhino is a flat-rate pricebook whose ServiceTitan sync is import-based, and Pricebook Pro is ServiceTitan's managed pricebook content. Both are strong starting points for structure and content. The gap they leave is continuous, vendor-cost-driven re-pricing: taking your specific distributor's new costs, recomputing each item, and writing approved updates back on a recurring cadence rather than a one-time import.
Why does a stale pricebook hurt margin so much?
In flat-rate pricing you sell a price, not a receipt, so a cost error never corrects itself. If copper or refrigerant rises and the pricebook still uses last year's cost, every job using that material is quoted at last year's margin. The leak is invisible because the price still looks normal; it only shows up later as a thinner gross margin you cannot trace to any single ticket.
How does an AI agent keep a pricebook current?
It ingests a vendor price file or distributor feed on a schedule, matches new unit costs to the SKUs on your pricebook items, recomputes each item's materials cost and then its price under the sold-hour model, and reports the old-to-new price and margin change. Items that move beyond a tolerance you set are flagged for review. You approve the batch, and approved changes write back to ServiceTitan.
What is a price-change tolerance?
A tolerance is the percentage move that triggers a human flag. For example, with a five percent tolerance, an item whose recomputed price moves more than five percent is highlighted before it can reach a quote. This catches vendor data errors, mis-mapped SKUs, and unusually large swings, so routine small increases flow through while outliers get a second look.
Does a vendor cost increase lower my margin percent?
Under the sold-hour model, if you pass the cost through and keep the same markup percent, your margin percent on the materials portion is unchanged and your margin dollars actually rise, because the markup is applied to a larger cost. Margin only erodes when you do not pass the increase through, which is exactly what happens when the pricebook is stale.
Do I need a developer to connect a vendor price file?
No. Most distributors provide price updates as a spreadsheet or CSV, and many offer a feed. The agent reads that file, maps columns to SKUs, and matches them to your pricebook items. The setup work is a one-time mapping of your vendors and SKU naming. After that, each new file runs through the same pipeline without engineering.
What happens to items the vendor file does not cover?
They are left unchanged. The agent only recomputes items whose material lines include a SKU in the price update. It also reports coverage, meaning how many of your pricebook SKUs the vendor file actually touched, so you can see which parts of the book are current and which still need a source of fresh costs.
Is the price math something I can audit?
Yes. The price is computed by deterministic, tested code, not by a language model, so the same inputs always produce the same number. The agent shows each item's labor, materials cost before and after, the markup, and the resulting price, line by line. The language model only narrates the result; it never calculates a figure.
Can I roll back a price change after approving it?
Yes. Every approved write-back stores the prior price, so a change can be reversed to the exact value it had before. This makes a batch safe to approve: if a downstream issue appears, you restore the affected items rather than reconstructing old prices by hand.
How long does it take to get value from automating the pricebook?
The first useful output is the first price file you run, because it immediately shows which items are underpriced against current vendor costs and by how much. The recurring value is keeping the book current with little effort, so margin does not quietly drift between manual updates that are easy to postpone.