Most roofing companies build an estimating template once, then reuse it job after job, adjusting only square footage and pitch. That works when material costs are flat. It stops working the moment your supplier's price sheet changes twice in one season — which is exactly what happened in 2026. Between tariff-driven metal increases and manufacturer shingle price hikes, a job priced in March and one priced in July can carry meaningfully different real material costs, even with an identical template. Here's what moved, why it breaks static job costing, and the repricing cadence that keeps margins where you think they are.
What Actually Moved in 2026 — and by How Much
Not every material moved the same way, which is exactly why one blended "material markup" in your estimating template stopped being accurate. Section 232 tariffs on imported steel and aluminum were raised to 50% in April 2026, and the tariff base was expanded to catch finished metal roofing panels along with raw coil stock. That pushed standing seam and metal panel costs up sharply, with flashing, drip edge, and fastener costs — nearly all steel or aluminum — climbing double digits on top of it.
Asphalt shingles moved differently. Petroleum-based and mostly domestically manufactured, they were largely insulated from the tariffs directly. But four major manufacturers pushed through two separate list price increases in 2026 — one in the February–April window, a second effective June 1 — stacking rather than replacing one another.
| Material Category | Primary Driver | Rough 2026 Movement |
|---|---|---|
| Metal roofing / standing seam | Section 232 steel & aluminum tariffs (50%) | Up sharply — often adding thousands per job on larger metal scopes |
| Flashing, drip edge, fasteners | Steel/aluminum tariff pass-through | Double-digit percentage increases |
| Asphalt shingles | Two rounds of manufacturer list price hikes | Stacked, single-digit-to-low-teens percentage increases |
Why a Static Item List Quietly Erodes Margin
Job costing only tells you the truth if the estimate it's compared against reflects current cost. If your QuickBooks products and services items still carry unit costs from last fall, every estimate looks more profitable than the job will actually be. Nobody catches it at the estimate stage, because it matches the template that's always worked. It shows up later, in the job costing report after close-out, when actual material invoices land higher than budgeted and the margin column reads several points lower than the bid assumed. By the time a contractor spots the pattern across several closed jobs, the gap is already baked into every bid sent during that window — not one bad job, but a whole season of underpriced ones.
The Fix: A Repricing Cadence, Not a One-Time Update
Updating your QuickBooks item list once, after a bad quarter, doesn't solve this — it just resets the clock until the next price change catches you again. What works is a standing cadence:
- Split your material items by category, not one blended line — Shingles, underlayment, metal panel, flashing/trim, and fasteners should be separate cost items, since they're moving at different rates.
- Review your top cost items monthly — Not just when a supplier invoice surprises you. Pull your last three material invoices per category and compare unit cost to what's sitting in QuickBooks.
- Update immediately on a supplier price notice — Don't batch it into a quarterly review if a distributor sends a price sheet change; update the item cost the same week.
- Re-run margin on open estimates before they're signed — An estimate sitting for three weeks with tariff-exposed materials should be re-checked against current cost before the customer signs, not assumed still accurate.
Protecting Bids You've Already Sent
The repricing cadence protects new estimates. It doesn't help a bid already in a customer's hands with pricing that's now weeks stale. For any bid with a validity window longer than two to three weeks — especially one with metal, PVC, or other tariff-exposed material — a short written escalation clause tied to supplier cost changes protects margin without turning the proposal into a moving target. Keep it simple: pricing is valid for a stated period, and material cost increases beyond that window may require a bid adjustment before signing.
A Checklist to Run This Month
- Check last-updated cost on every QuickBooks material item — Against your three most recent supplier invoices per category.
- Assign ownership of monthly repricing — To purchasing or bookkeeping, not "whoever notices first."
- Add escalation language to bid templates — Especially for metal-heavy or longer-validity proposals.
- Compare actual cost to bid cost on your last five closed jobs — A consistent negative gap means your item list is behind.
For the underlying setup this cadence runs on top of, see: QuickBooks Job Costing for Roofers and The True Cost of a Roofing Job.