Skip to main content
JOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORECFOSJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORECFOSJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFO
THE CONSTRUCTION CFO BOOK A FREE CALL

HOW FIXED-PRICE CONTRACTS SQUEEZE SUBS WHEN MATERIAL JUMPS

QUICK ANSWER

A fixed-price contract locks your bid price for the duration of the project. If material costs jump 18% after you sign — lumber, steel, copper, pipe — the GC isn’t paying the difference. You are. The margin you bid is gone, and on long-duration projects you can be underwater before mobilization. The fix is contract language, supplier lock-ins, escalation clauses, and a financial structure that detects margin erosion before the job closes out.

This isn’t a theoretical risk. Subs lost six and seven figures on jobs signed in 2021–2023 when material indexes ran. The ones who survived had escalation language and supplier discipline. The ones who didn’t took it out of margin.

PUBLISHED JUNE 12, 2026 BY JOSH LUEBKER UPDATED JUNE 12, 2026
THE SQUEEZE

WHAT ACTUALLY HAPPENS

You bid a fixed-price job in February. Lumber is $480/MBF. You build that into your estimate. Job starts in May. Lumber is now $640/MBF. The GC isn’t reopening the price. Your contract says fixed. That 33% spike on a material category that’s 22% of your job cost just took 7.2 points out of your gross margin. If you bid 24%, you’re now executing at 16.8%. After overhead, you’re flat or negative.

This isn’t hypothetical. We’ve seen it across every trade we serve. Steel rebar in 2021. Copper for electrical in 2022. PVC and ductile iron for underground utility in 2023. Lumber for framers in 2021 and again in 2024. Every cycle, the same pattern: bid in one cost environment, execute in another, eat the difference if you didn’t protect yourself.

Fixed price is fine when commodity prices are stable. It’s a structural exposure when they’re moving.

WHY IT KEEPS HAPPENING

THE THREE MISTAKES SUBS MAKE

MISTAKE 1

NO ESCALATION CLAUSE IN THE CONTRACT

You signed the GC’s prime flow-down or a standard sub agreement that says “Subcontractor shall furnish all materials at the prices stated in Exhibit A.” No carve-out. No escalation language. No price adjustment trigger. When material moves, you absorb 100% of it. Most subs read the schedule of values, sign, and never look at the price-adjustment section — because there isn’t one. That’s the problem.

MISTAKE 2

NO MATERIAL LOCK-IN WITH THE SUPPLIER

The estimator pulls a quote in February. The job doesn’t mobilize until May. Nobody calls the supplier in February to lock the quote with a deposit or a firm PO. By May the quote is expired and the supplier won’t honor it. You’re now buying at market. The bid math assumed February prices. The execution math is May prices. Three-month delta on volatile commodities can be 10–30%.

MISTAKE 3

NO MARGIN-EROSION ALERT IN THE FINANCIAL SYSTEM

The job is bleeding margin and nobody sees it until the cost-to-complete review three months in. By then the loss is locked in. Real financial control means the PM and the controller see actual material costs against bid costs every week, not every quarter. If steel is running 18% over bid in week 3, that’s a Tuesday conversation with the GC about a change order or a co-pay — not a year-end writedown.

THE FIXES

WHAT TO ACTUALLY DO

ADD ESCALATION LANGUAGE TO YOUR STANDARD CONTRACT

Three triggers worth fighting for in negotiation. First: a commodity price index clause — if [lumber/steel/copper] moves more than X% from the bid date to the order date, the price adjusts up or down by the delta. Second: a long-lead material exclusion — specific line items (transformers, switchgear, structural steel) get re-priced at PO date if the lead time exceeds 90 days. Third: a contingency line item disclosed in the SOV that the GC has to acknowledge before signing.

LOCK MATERIAL THE DAY THE CONTRACT IS SIGNED

The estimator and the PM split. Estimator wins the job. PM walks the supplier list within 48 hours, issues firm POs against the won bid, and locks pricing with a deposit if the supplier requires it. The cash cost of the deposit is real but it’s small compared to absorbing a 15% material spike. Treat material lock-in as part of mobilization, not as a procurement task you’ll get to next month.

BUILD WEEKLY ACTUAL-VS-BID MATERIAL TRACKING

Material purchases get coded to phase and compared to budget every week, not at month-end. If actuals are running 8%+ over bid, the PM gets a flag. If it’s a commodity move (not an estimating miss), that’s a documented basis for a change-order conversation. The conversation only works if the documentation exists in real time. Six weeks later, the GC’s answer is no.

USE A CONTINGENCY THE GC SEES

If you bid 5% material contingency, name it on the SOV. The GC can negotiate it down or accept it. Either way you’ve put it on the table. Hidden contingency feels safer, but when material moves and the job goes red, you can’t go back and ask for what you didn’t disclose. Visible contingency is harder to negotiate but easier to defend.

RECLASSIFY LONG-DURATION JOBS

If a job is over 12 months in duration, it doesn’t belong on a true fixed-price structure for materials. Push for cost-plus-with-cap on commodity-heavy line items. If the GC won’t move, either price the commodity risk into your bid (which loses you the job to subs not pricing it) or walk. Some work isn’t worth winning.

THE FINANCIAL CONTROL LAYER

WHY THE NUMBERS HAVE TO BE LIVE

Contract language and supplier lock-ins reduce exposure. They don’t eliminate it. Some material moves are too big to escalate against and some GCs won’t negotiate either of those things. That’s when the financial system has to do the work.

The CFOS Cash Control module watches material spend against bid by phase, weekly, automatically. If a phase is bleeding, the PM gets a flag the day costs hit the system — not at month-end. That flag is the trigger for either a change order conversation, a re-sequencing decision, or a margin recovery action on a different phase. The point isn’t to prevent every loss. It’s to know about it on day 7, not day 90.

Subs who survive volatile material cycles don’t guess less. They see sooner.

FREQUENTLY ASKED

Yes. GC contracts are negotiable on the sub side more often than subs think. The push usually comes from the estimator or the PM during contract review, not legal. Standard request: a commodity price index clause for the trade’s primary materials, a long-lead material carve-out, or a disclosed contingency line. If the GC refuses all three, that’s information about how the project will run. Some refuse and the work is still worth doing. Some refuse and it isn’t.
Most workable language sets a trigger at 5–10% commodity movement between bid date and PO date. Below the trigger, you eat it. Above the trigger, the price adjusts. Some clauses share the movement 50/50 between sub and GC. The specific number is less important than getting any threshold in writing. Zero language equals 100% sub exposure on every dollar of movement.
Treat anything over 48 hours as exposed. Suppliers will hold quotes for 30, 60, 90 days for committed customers, but the price you bid on day 1 isn’t guaranteed to be the price you buy at on day 60 unless you have a written hold. Best practice: estimator includes the supplier quote validity dates in the bid file. PM converts the quote to a firm PO within 48 hours of contract signature.
Pull the contract and look for any language that could support a change-order request — differing site conditions, force majeure, or unanticipated escalation. Document the material delta with supplier invoices showing the bid-date price and the PO-date price. Present it to the GC as a change order, not a complaint. Most won’t pay it. Some will. The ones who do are usually GCs you want to keep working with. The conversation also informs how you bid them next time — with higher contingency or harder pricing.
Yes — the Cash Control module tracks committed costs against bid by phase, weekly. When material POs land, they hit the actual-cost column on the job. If the actual is running over the bid by more than a configurable threshold, the PM sees a flag. The flag is the trigger for the change-order conversation or the corrective action. The system doesn’t prevent the price movement. It prevents you from finding out about it three months late.
Josh Luebker, The Construction CFO
JOSH LUEBKER
THE CONSTRUCTION CFO · SULPHUR PRAIRIE MANAGEMENT

PM and master electrician turned CFO. Managed 150+ projects, $300M+ in volume — Google data centers, military bases, hospitals — before building the financial control system that saves subcontractors from running out of cash. SPM runs the financial function for $1M–$12M commercial subs across 24 trade specializations. Read the methodology at runoncfos.com.

RELATED SYSTEM PAGES
CFOS MODULE
Cash Control System
How CFOS watches material spend against bid in real time — the alert layer that catches margin erosion early
CFOS MODULE
Job Profitability System
How every job’s actual margin gets visible at the phase level — not just at job close
CONTENT
Subcontractor Pay-When-Paid Impact
The other contract clause subs sign without reading and how it stacks on top of material risk

STOP EATING THE SPIKE.

30 minutes. We’ll review your standard contract language and tell you the two clauses costing you the most margin.

BOOK A FREE CALL OR RUN YOUR FREE CEO REPORT FIRST
SYSTEM CONNECTIONS
CFOS SPINE + MODULES
Run on CFOS — Full System Index Cash Control System Job Profitability System Cash Flow Cycle System
RELATED SYSTEMS
Cash Control System Job Profitability System Working Capital System
SERVICE LAYER
Fractional CFO for Construction Construction Bookkeeping Construction Controllership
THE CONSTRUCTION CFO
Run on CFOS Fractional CFO Cash Control Book a Call CONTROL Book → Josh@ConstructionCFO.net
© 2026 SULPHUR PRAIRIE MANAGEMENT · SULPHUR ROCK, AR
0