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 model, price = 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 does a stale pricebook quietly kill my 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.
The scale of this is not theoretical. Across the trades, overall construction input prices rose 2.6% in a single month (May) and were 9.6% higher year over year, with copper wire and cable up 24.2% year over year, according to Associated Builders and Contractors analysis of BLS Producer Price Index data (2026). When inputs move that fast, a pricebook frozen on last year's costs falls behind in weeks, not years.
The metals that show up on almost every HVAC, plumbing, and electrical ticket are leading the climb. Copper and brass mill shape prices rose 15.7% over the 12 months ending January 2026, per Associated General Contractors of America analysis of BLS Producer Price Index data (2026). Contractors feel it directly: 56% of exterior trades contractors said they were uneasy about rising material prices, ranking it among their three biggest challenges, per the ServiceTitan Exterior Trades Report (2024).
How do material costs get into a ServiceTitan pricebook today?
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.
And the gap widens faster than any quarterly update cycle can keep up with. Across the trades, steel mill product prices increased 20.7% and aluminum mill shape prices jumped 33.0% over the 12 months ending January 2026, per Associated General Contractors of America analysis of BLS Producer Price Index data (2026). A book that gets a manual refresh once or twice a year is, by definition, quoting most of that increase at a loss.
What is the sold-hour pricing model?
Everything that follows hinges on one formula, the flat-rate model most residential contractors already price from:
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.
What does a vendor cost increase actually do to one item's price?
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:
| 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 |
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:
| 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 |
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.
It is not only the raw materials, either. The equipment lines on your bigger installs are climbing too: producer prices for construction machinery and equipment rose 5.6% over the 12 months ending December 2025, per Associated General Contractors of America analysis of BLS Producer Price Index data (2026). Every one of those increases lands on a pricebook item, and every item that is not re-costed quietly underprices the next quote.
How does an AI agent keep my ServiceTitan 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:
- 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.
- 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.
- 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.
- 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.
- 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.
- A human approves the batch. A person reviews the proposed changes and approves, edits, or rejects. Nothing is customer-facing until then.
- 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.
Profit Rhino or Pricebook Pro vs. a continuous re-pricing agent: what's the difference?
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:
| Capability | One-time import / managed content | Continuous, approved sync (Pricebook agent) |
|---|---|---|
| Gets a structured book in place | Yes | Assumes you already have one |
| Uses your specific distributor's costs | Partially, whatever you import | Yes, from your vendor price file |
| Re-prices on every cost change | No, point-in-time | Yes, scheduled or event-driven |
| Shows old to new price + margin impact | Limited | Per item, largest move first |
| Flags outliers past a tolerance | No | Yes, configurable |
| Human approves before customers see it | You re-import manually | Yes, always human-in-the-loop |
| Reversible to the prior price | Manual | Yes, 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 do I roll out automated pricebook re-pricing?
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 →