Overview
Dynamic Pricing helps you control profitability at scale by automatically marking up material and labor costs. It also standardizes pricing across your entire Pricebook. This process ensures your profit margins are intentional and your pricing stays competitive in the market.
Instead of relying on fixed prices, Dynamic Pricing calculates based on actual costs.
Who uses this feature
Administrators and managers
Primarily benefits Residential Construction and Commercial Construction business types
Primarily benefits Roofing and Exterior trades
Feature configuration
To use this feature, enable Dynamic Pricing in Feature Configurations. For more, see Manage feature configurations. If you're a customer with multiple ServiceTitan accounts, contact Technical Support for details.
The Manage Pricebook permission is required to use this feature. Please contact the account administrator on your team.
Things to know
Dynamic Pricing applies only to materials linked to services and calculates pricing at the service level. Ensure to have your materials linked to services before setting up dynamic pricing, see Link materials to services for Roofing.
Each category can only have one Dynamic Pricing rule at a time, so plan your category structure before creating rules.
If you use roofing supplier integrations such as SRS Distribution, ABC Supply, or QXO, you can apply markup to supplier-provided material costs when using Dynamic Pricing.
Before creating a Dynamic Pricing rule, ensure you capture actual costs through materials and labor setup in the Pricebook.
All new estimates automatically reflect updated pricing when you edit a Dynamic Pricing rule.
Dynamic Pricing requires Equipment to be included in the rule, even if you don't mark up or use equipment.
If a service shows no dollar amount in the Dynamic Price column, the linked material doesn't yet have a cost assigned or the Service is not part of a category included in the rule.
Use cases
You're using roofing supplier integrations such as ABC Supply, QXO or SRS Distribution and want pricing to automatically update based on real-time vendor costs, ensuring your estimates always reflect current market pricing.
You're using Spec-Based Estimate Templates and need consistent pricing across all estimates.
You regularly adjust pricing based on installation capacity and want a structured way to increase or decrease margins across roofing estimates.
Create a Dynamic Pricing rule
After you've linked materials to services and set costs in your pricebook, create a Dynamic Pricing rule:
Go to the navigation bar and click Pricebook > Pricing Builder.
On the Client Specific Pricing screen, click Dynamic Pricing.
Note: You can also create a dynamic pricing rule directly from the Client Specific Pricing screen using the Create Rule dropdown.
To create a Dynamic Pricing rule, click Create Rule > Dynamic Pricing.
The Dynamic Pricing Rule screen guides you through six setup stages. Each stage is explained in the steps below:
Assign categories
Set billable rate
Configure markup
(Optional) Add surcharge
(Optional) Select business units
Review and name the rule
Step 1: Assign categories
The first step is choosing which categories in your pricebook this rule should apply to.
Select the categories you want to apply the rule to.
Note: Only one Dynamic Pricing rule can apply to a category at a time.
When finished, click Continue.
Step 2: Set billable rate
The billable rate represents the hourly labor cost applied to services. For roofing contractors, the setup depends on how you pay your installers.
In the Billable Rate field, enter a billable rate:
If you use subcontractors or piecework payment: Enter $0.01 as a placeholder value. This is required to proceed with the setup, but the actual labor costs come from your linked materials, which represent piecework rates.
If you use hourly employees: Enter the average hourly rate for your installers. Some contractors use an average of all wages, while others use the highest wage on the crew. This rate is multiplied by the hours field on each service to calculate labor costs.
Click Continue.
Step 3: Configure markup
The markup section determines how Dynamic Pricing calculates the selling price from your costs. For roofing contractors, industry best practices suggest specific markup strategies.
Select Individual to mark up items individually, or select Aggregate to apply markup to the total.
Note: We recommend selecting Individual, as it provides more consistent pricing behavior across estimates.
Select how costs are marked up for Materials. You can select the following:
Note: We recommend using Gross Margin. Gross Margin integrates seamlessly with other ServiceTitan tools and is a widely used, easy-to-understand pricing method.
Gross margin
Percentage markup
Dollar value markup
Multiplier
Tip: Configure gross margin tiers based on material cost ranges to maintain consistent and profitable pricing. Roofing contractors commonly use a single tier structure of $0 - $1,000,000. But you may choose to stagger your margins based on materials costs as seen below.
Items costing $0–$200 → 40% gross margin
Items costing $200.01–$1,000,000 → 45% gross margin
Adjust these percentages based on your market conditions and profitability goals. To ensure all items are included in the rule, set a high maximum cost value (for example, $1,000,000) so the pricing rule applies to every item.
Enable Equipment and set it to use the same markup rule as materials.
Note: Dynamic Pricing requires Equipment to also be included in the rule. Even if you don't mark up or use equipment, it must still be set up to proceed.
Set Configurable Services Price Rule to Exact Cost Variation. This ensures accurate pricing when customers select specific material colors or brands from your configurable materials.
When finished, click Continue.
(Optional) Step 4: Add surcharge
Surcharges add overhead and profit to your total project cost. Some roofing contractors use a percentage-based surcharge to account for business expenses such as fuel, insurance, and administrative costs while others include those expenses in their material markup percentage.
To add a surcharge:

Add a surcharge to the rule:
Enter a flat dollar amount to add a fixed fee to every project.
Enter a percentage to add a proportional surcharge based on the total project cost.
Note: If you don't want to add a surcharge, leave the field empty.
Click Continue.
(Optional) Step 5: Select business units
Dynamic Pricing rules can be applied to specific business units. This is useful if different locations or divisions use different markup strategies. For example, one business unit may use a 40 percent markup, while another uses 20 percent.
If you need business unit-specific pricing, select the business units and configure the rule for the specific business unit. This overrides the default Billable rate.
Otherwise, do not select any business unit and click Continue.
Step 6: Review and name the rule
Review the Dynamic Pricing rule settings. You can scroll down to add modifications if needed.
Note: The Modifications section is not typically used for roofing, you can skip it.

Click Continue to save the rule.
Enter detail for your Dynamic Rule:
In the Name field, enter a name for the rule.
Note: This name is for internal use only.
(Optional) In the Description field, enter a description for the rule.
When finished, click Finish.
Your rule now appears in the Dynamic Pricing section of the Pricing Builder tab.
Edit a Dynamic Pricing rule
After creating a Dynamic Pricing rule, you can edit it to adjust your pricing strategy based on market demand.
Go to the navigation bar and click Pricebook > Pricing Builder.
Click Dynamic Pricing.
Locate your rule in the list, and click Actions > Edit.
To adjust the markup rules, click Markup from the top bar.
Make your changes. For example:
If you're winning too many jobs and your installation schedule is full, increase your markup to slow demand while improving profitability. For example, you might increase the margin by 0.25 percent.
If you're not winning enough jobs, lower the markup value to stay competitive.
Click Continue to move to the next step, skipping any you don't want to change. On the final step, click Finish.
All new estimates automatically reflect the updated pricing.
Want to learn more?
Visit ServiceTitan Academy and enroll in Roofing Materials and Markups