Skip to main content
How to Price a Job When Material Costs Are Unpredictable
All articles

How to Price a Job When Material Costs Are Unpredictable

Lumber, copper, roofing materials — prices can move 15–20% in a quarter. Here is how to write estimates that protect your margin when the market won't hold still.

Riveta Team

The estimate that lost money before it started

A framing contractor quoted a custom garage addition in March. Lumber pricing was at a certain level; the quote reflected it. The customer took six weeks to sign.

By the time the contract was signed and materials were ordered, lumber had moved 22%. The job that was priced for a certain margin was now producing zero. The contractor completed it anyway — honouring the signed estimate — and lost money on every day of work.

A single clause in the estimate would have prevented this.


Why this problem is getting more common

Material pricing volatility isn't new, but it has accelerated. Supply chain disruptions, tariff changes, regional weather events, and commodity market swings can move the cost of roofing materials, copper pipe, dimensional lumber, or steel by double-digit percentages in a matter of months.

For a contractor whose estimates are valid for 30 or 60 days, this is a structural risk. For one whose customers take 6–8 weeks to approve, it's an even larger one.

The answer is not to refuse to quote — it's to write estimates that are honest about the nature of pricing in volatile markets.


The escalation clause

An escalation clause is language in your estimate that reserves the right to adjust material pricing if costs change between the estimate date and the material purchase date.

A simple version:

"Material pricing in this estimate reflects supplier costs as of [date]. If material costs change by more than [5%] before purchase, this estimate will be adjusted accordingly and the customer will be notified prior to ordering."

This clause does three things: it's honest about the reality of pricing, it protects your margin on time-sensitive materials, and it shifts the risk of market movements from you to the customer — where it belongs, since the customer controls the decision timeline.

Most customers accept this clause without objection once it's explained. "I can't predict what lumber is going to do between now and when you approve this, so I've included this clause to be transparent about that."


Shortening your estimate validity window

The simplest protection is also the most underused: a shorter expiry.

A standard estimate expiry of 14 days is already good practice. In volatile material environments, 7–10 days is appropriate for material-heavy jobs.

"Due to current material price volatility, this estimate is valid for 7 days from the issue date."

A tighter window creates appropriate urgency without dishonesty. If the customer can't approve within 7 days, you re-quote with current pricing before proceeding.


Itemising materials separately

Instead of bundling materials into a lump-sum line item, quote them at current cost with a notation:

"Materials (dimensional lumber, framing hardware): $8,400 at current supplier pricing. See escalation clause below."

When materials are visible as a separate line, customers understand they're a market-driven cost — not a contractor markup. This framing reduces resistance to pricing adjustments when they're necessary.


Verifying pricing before you buy

For any significant material purchase — especially in a moving market — verify pricing with your supplier on the day you're placing the order, not the day you wrote the estimate.

A phone call to confirm current pricing before you click "order" has saved many contractors from the reverse problem: materials that dropped in price since the estimate, leaving margin unrecognised on the table.


The conversation with the customer

When a price adjustment is necessary, have the conversation proactively:

"The materials we quoted have moved since the estimate — I wanted to let you know before ordering. The adjustment is $[amount], bringing the total to $[new total]. I can send an updated estimate and change order for your approval before we proceed."

Framing it as a notification and offering documentation (a change order) makes this a professional business conversation rather than a surprise upcharge. Customers who were told about the escalation clause at the estimate stage are rarely surprised when it's invoked.

The contractors who get caught by material volatility are the ones who quoted a fixed price, stayed silent as costs moved, and tried to absorb it or dispute it at invoice time. The ones who handle it well built the flexibility into the estimate before signing.

Win the job. Lock the deposit. Move on.

Riveta is rolling out by invite. Join the waitlist and we'll reach out when your spot is ready.