ServiceTitan Dynamic Pricing: Stop Updating Your Pricebook Manually (Ever Again)

Running a flat-rate business means material costs are always moving. Supplier prices go up, and if you’re not updating your pricebook constantly, your margins shrink without you noticing. ServiceTitan Dynamic Pricing fixes this. Your prices calculate automatically based on your actual costs. No spreadsheets, no manual updates, no profit leaks.

This guide walks you through how Dynamic Pricing works, how to set it up, and what mistakes cost contractors the most.


What Is ServiceTitan Dynamic Pricing?

Dynamic Pricing is a feature in the Pricing Builder that automatically calculates customer-facing prices based on three inputs:

  1. Your billable rate — the labor rate you charge per sold hour
  2. Materials and equipment tied to the service — with your configured markups applied
  3. Optional modifiers — add-ons, after-hours jobs, job difficulty levels, and similar adjustments

When a technician or office staff adds a service to an estimate or invoice, the price calculates instantly. It’s not pulling a number you entered last year. It’s doing live math based on your current costs.

This is important because when a material cost goes up, every pricebook item linked to that material automatically reflects the new price. You don’t do anything.

Important: Dynamic Pricing is for flat-rate pricing only. It uses the sold hours you assign to a service, not the actual clock time on the job. If you’re doing time-and-materials billing, use Client Specific Pricing instead. These are different.


Before You Start: Pricebook Prerequisites

Dynamic Pricing only works as well as your pricebook. You need:

  • Materials and equipment tied to your services. The dynamic price calculation is based on these linked items, not anything you add to an invoice afterward.
  • Sold hours set on your services. This gets multiplied by your billable rate.
  • A reasonably organized category structure. You’ll build rules per category or category group.

If you’re using ServiceTitan’s PriceBook Pro, most of this is already handled. If you’re building from scratch, get your services, materials, and sold hours set up before you touch Dynamic Pricing.


How to Set Up a Dynamic Pricing Rule

Navigate to Pricebook → Pricing Builder → Dynamic Pricing and click Create Rule.

Step 1: Select Your Categories

Choose which pricebook categories this rule applies to. For your first rule, you might select your HVAC Residential parent category, which automatically includes all child categories below it.

Here’s the catch: not all categories work with the same margins. A capacitor replacement and a new system installation shouldn’t use the same markup table. Most contractors end up with at least two rules: one for service and maintenance work, and one for installations. Some get more granular.

Step 2: Set Your Billable Rate

This is the dollar-per-hour figure that gets multiplied by the sold hours on each service.

You have two options:

  • Flat rate. One rate applies regardless of job length (e.g., $375/hour).
  • Progressive rates. Different rates for different hour ranges (e.g., $400 for the first half-hour, $375 for hours 0.5–2, $260 for longer jobs).

If you use progressive rates, always cap your final range at a high number like 99,999. If you don’t, any job that falls outside your highest range won’t calculate, and you’ll end up with $0 prices on unusual jobs.

Step 3: Build Your Material and Equipment Markup Table

This is where you tell ServiceTitan how much to mark up materials and equipment above cost. You have four markup methods:

  • Gross Margin. Set the exact margin percentage you want on each cost tier.
  • Percentage Markup. Mark up by a percentage above cost (can exceed 100%).
  • Flat Dollar Amount. Add a fixed dollar amount above cost.
  • Multiplier. Multiply cost by a set factor (e.g., 2x doubles the cost).

Build your table in tiers based on cost. The rule: the cheaper the item, the higher the markup percentage. A $5 part should carry a very different margin than a $500 part. Your $5 filter and your $3,000 compressor shouldn’t use the same markup logic.

You’ll also choose whether to mark up materials individually or in aggregate. Individual means each material on a service gets marked up separately. Aggregate means all materials on the service get added together first, then the total gets marked up based on which tier it falls into. This changes your effective margin. Test both and see which prices you’re comfortable with.

Step 4: Add Modifiers (Optional but Valuable)

Modifiers automatically adjust the calculated price based on job context:

  • Add-on modifier. Discount the price slightly when a service is added to a larger job, since you’re already there.
  • After-hours modifier. Charge a flat dollar or percentage premium for evening and weekend calls.
  • Price level modifier. Create up to four difficulty tiers (Level 1 through Level 4) so technicians can bump the price for harder jobs, jobs that need special equipment, or unusual circumstances.
  • Rounding. Force all prices to round to the nearest $1, $10, or $100 for cleaner numbers on customer invoices.

Step 5: Preview Before Going Live

Before activating the rule, use the Preview button to test it against real services. Plug in different modifiers (member discount, add-on, difficulty level) and see exactly how the price calculates. Test this thoroughly before flipping the rule live. Pricing errors on customer-facing estimates are avoidable. Use the preview tool.


The “Calculate” Button: What It Does and Why It’s Dangerous

Once a service is added to an estimate or invoice, Dynamic Pricing calculates the price and locks it. The price won’t update automatically if you later change your billable rate or material costs, because you may have already shown it to the customer.

There’s a Calculate button that forces a recalculation. It’s useful if you’ve made pricebook changes and haven’t sent the estimate yet. But it’s dangerous if someone hits it after a price has already been quoted to a customer.

Lock this permission down. Only give it to people who understand the risk of recalculating an estimate that’s already been presented.


Dynamic Pricing vs. Manually Adding Materials to an Invoice

This is the biggest confusion point for contractors new to Dynamic Pricing:

The price of a service is determined by what’s linked to it in the pricebook, not by what you manually add to the invoice.

If a technician adds a service to the invoice and then manually adds a second material as a separate line item, the service price doesn’t change. That’s not how it works. For a material’s cost to affect the dynamic price, it needs to be linked to the service inside the pricebook.

This is a training issue as much as a software issue. Make sure your team gets this, or you’ll end up with estimates where the price doesn’t match the materials on the job.


Using Dynamic Pricing with Multiple Business Units or Locations

If you operate in multiple geographic areas with different pricing, or run multiple locations from one ServiceTitan account, you can add business unit rules within your dynamic pricing setup. This lets you modify the billable rate or markup for specific business units. Your north side pricing can differ from your south side pricing without needing to build separate rules from scratch.


Frequently Asked Questions

Does Dynamic Pricing work if I’m not using PriceBook Pro?
Yes, but you need to manually link materials and equipment to your services and set your sold hours. PriceBook Pro handles a lot of that automatically.

Can I use Dynamic Pricing for time-and-materials jobs?
No. Dynamic Pricing is for flat-rate pricing only. Use Client Specific Pricing for T&M billing.

What happens if a material falls outside my markup table range?
It won’t calculate. Always cap your final tier at 99,999 to ensure every item gets picked up.

Can technicians see the price breakdown on an estimate?
From the office side, there’s an eye icon that shows the full calculation. Technician visibility depends on your permission settings.

How often should I review my Dynamic Pricing rules?
Check them any time your material costs shift significantly, especially after supplier price increases. The whole point is you don’t update individual pricebook items manually, but you may want to adjust your markup tables if your cost structure changes.


The Bottom Line

Dynamic Pricing is one of the highest-leverage features in ServiceTitan. It turns your pricing from a static document that goes stale into a living calculation that protects your margins automatically. Set it up right with a well-built pricebook, tiered markups, and smart modifiers, and it pays for itself in the time you stop spending on manual price updates.

For more on how Dynamic Pricing works with Configurable Services and Memberships, check out the other Blue Collar Nerd guides.

Related guides: Configurable Services and ServiceTitan job costing.

Table of Contents

ServiceTitan Mastery For Your Whole Team

Searchable video lessons, role-based modules, and a private community — everything your team needs to actually use ServiceTitan with confidence.

See Pricing →

Black Friday Sale – 50% off your first 3 months! Use code BFRIDAY. Only applies to monthly pricing plan