Set up Dynamic Pricing for Roofing

Prev Next

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

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:

  1. Go to the navigation bar and click Pricebook > Pricing Builder.

  2. 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.

     User selects 'Dynamic Pricing' option under 'Client Specific Pricing' settings.    

  3. To create a Dynamic Pricing rule, click Create Rule > Dynamic Pricing. User selects 'Dynamic Pricing' option from the settings menu in the application interface.         The Dynamic Pricing Rule screen guides you through six setup stages. Each stage is explained in the steps below: Dynamic pricing rule setup with category selection options for pricing adjustments.        

    1. Assign categories

    2. Set billable rate

    3. Configure markup

    4. (Optional) Add surcharge

    5. (Optional) Select business units

    6. Review and name the rule

Step 1: Assign categories

The first step is choosing which categories in your pricebook this rule should apply to.

  1. Select the categories you want to apply the rule to. User selects the 'Service' category in a pricebook rule setup interface.        

    Note: Only one Dynamic Pricing rule can apply to a category at a time.

  2. 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.

  1. In the Billable Rate field, enter a billable rate: ServiceTitan interface displaying billable rate input and service categories for pricing.        

    1. 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.

    2. 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.

  2. 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.

  1. 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 markup type for service pricing: Individual or Aggregate options available.    

  2. 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.

     Input fields for Gross Margin, Markup percentages, and multipliers in a materials calculator.        

    1. Gross margin

    2. Percentage markup

    3. Dollar value markup

    4. 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.

      1. Items costing $0–$200 → 40% gross margin

      2. Items costing $200.01–$1,000,00045% gross margin

  3. 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.

  4. Enable Equipment and set it to use the same markup rule as materials. Toggle switch for using same rules as materials in equipment settings.        

    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.

  5. 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. Select the calculation method for service pricing: Generic Cost or Exact Cost Variation.    

  6. 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:

Prompt asking if a surcharge should be included with options for amount or percentage.

  1. Add a surcharge to the rule:        

    1. Enter a flat dollar amount to add a fixed fee to every project.

    2. 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.

  2. 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.

  1. 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. User interface for creating a new business unit rule with billable rate settings.    

  2. 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.

Dynamic pricing setup with base rules, billable rates, and modification options displayed.

  1. Click Continue to save the rule.

  2. Enter detail for your Dynamic Rule: Form fields for naming a rule and adding a description in a web application.        

    1. In the Name field, enter a name for the rule.                

      Note: This name is for internal use only.

    2. (Optional) In the Description field, enter a description for the rule.

  3. 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.

  1. Go to the navigation bar and click Pricebook > Pricing Builder.

  2. Click Dynamic Pricing.

  3. Locate your rule in the list, and click Actions > Edit.

  4. To adjust the markup rules, click Markup from the top bar. A cursor points to the 'Markup' option in a navigation menu with checkmarks.    

  5. Make your changes. For example:        

    1. 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.

    2. If you're not winning enough jobs, lower the markup value to stay competitive.

  6. 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?