Skip to content
⚠️ Staging environment, test only, not production
Sign In
Xactimate11 min read

The Xactimate Pricing Gap: Why Your Roofing Margins Are Shrinking in 2026 (And How to Fix It)

Xactimate price lists can lag material costs, and the gap hits roofing margins hardest. Here is how to document actual costs and recover it on supplements.

Review required: AI-generated output requires professional review, verify every line item, price, and total before submission.

Chaz Jaco

Co-Founder & Software Architect, ESXPress

Converting PDF scopes to ESX files is our entire business. And we can tell you something most roofing contractors feel in their gut but can't quite put numbers to: the Xactimate price list is not keeping up with what you actually pay at the supply house.

It's not a scandal. It's not incompetence. It's math. Xactimate updates monthly, but roofing material manufacturers adjust prices whenever they want, and in 2026, they've been adjusting them up. Fast.

Here's the real problem, shown with an anonymized, illustrative composite of mid-2026 roofing jobs in a storm-heavy market (call it "our example market"). The figures below are illustrative: Xactimate's own prices vary by region and price-list edition and are intentionally not published here, and your actual numbers will differ by region, supplier, and roof.

Key Insight: In the illustrative example, a typical 30 SQ laminated shingle roof replacement, the gap between what the estimate allowed for materials and actual supplier costs added up to roughly $1,800. That's pure margin erosion: money the carrier's estimate says you have that you actually don't. Over 50 roofs per year, that's more than $90,000 in phantom profit. And most contractors don't even know it's happening until they reconcile their books at year end.

The Lag: How Xactimate Pricing Falls Behind

Xactimate publishes monthly price list updates, usually around the 15th. These updates pull from national material and labor cost data. The problem: the supply chain moves faster than the database.

In early 2026, all three major asphalt shingle manufacturers: GAF, Owens Corning, and CertainTeed, announced mid-single-digit price increases on laminated shingle lines.

The Xactimate March update captured roughly half of those increases. The April update caught up partially. But four months later, the list in our example market still priced the material component of standard laminated shingles below what distributors charge, typical wholesale on a standard architectural shingle was running about $138-145/SQ from major distributors like ABC Supply and Beacon, while the list's material allowance sat meaningfully under that.

That's a gap of roughly 5-10% on shingles alone, hundreds of dollars of missing material cost on a 30 SQ roof before any other line item is even looked at.

Where the Gaps Hit Hardest: A Line-Item Analysis

Let me break down the specific items where list pricing lags behind typical wholesale costs in this illustrative example. The table shows where the gaps concentrate, the actual percentages will differ by region, supplier, and roof.

Line Item SEL Code Typical Wholesale (Illustrative) Where the Gap Shows Up
Laminated shingle, standard grade RFG300 $138-145 per SQ List material allowance runs below wholesale, biggest dollar gap in the example
Synthetic underlayment RFG FELTS $44-52 per SQ Largest percentage gap in the example
Ice & water shield (per SF) RFG IWS About $2 per SF Small per unit, but adds up across eaves and valleys
Drip edge (per LF) RFG DRIP About $3-4 per LF Consistently under-allowanced in the example
Ridge cap shingles (per LF) RFG RIDGC About $7-8 per LF Second-largest percentage gap in the example
#15 felt underlayment RFG FELT15 $36-40 per SQ Smaller gap, but rarely supplemented because it's the low-cost alternative

Illustrative only: wholesale ranges are market context from the example market, not Xactimate prices. Xactimate's own list prices vary by region and price-list edition and are intentionally not shown.

The pattern is consistent across the line items above, these categories routinely show the largest gaps between the estimate's allowance and what suppliers charge. That consistency is exactly what makes the gap supplementable: it's not a one-off line, it's a category pattern.

Why this matters more in 2026: The frequency of manufacturer price increases has accelerated. In 2023, the Big Three manufacturers issued 1-2 price increases per year. In 2024, it was 2-3. In the first half of 2026, manufacturers have already announced two rounds, a spring increase and a smaller mid-year adjustment on select product lines. Xactimate's monthly cycle simply can't keep pace with quarterly-or-faster manufacturer pricing changes.

The Compound Effect: ~$1,800 Per Roof (Illustrative)

Let me walk through the illustrative example: a 30 SQ roof replacement, standard architectural shingles, typical 6/12 pitch, single-story, two valleys, one chimney, standard ventilation. The wholesale column is what suppliers charged in the example market; the last column notes where the estimate's allowance fell short.

Material Category Qty Wholesale Cost (Illustrative) Allowance vs. Wholesale
Laminated shingles (33 SQ w/ waste) 33 SQ $4,620 Largest dollar gap, several hundred dollars short in the example
Synthetic underlayment 30 SQ $1,410 Largest percentage gap
Ice & water shield (eaves + valleys) 600 SF $1,020 Short by double digits on the low end
Drip edge (eaves + rakes) 320 LF $1,152 Consistently under-allowanced
Ridge cap (ridge + hips) 180 LF $1,368 Notable gap
Starter strip 320 LF $672 Smaller but real
Pipe flashings (4 penetrations) 4 EA $260 Near the allowance in this example
Step flashing (wall + chimney) 75 LF $563 Modest gap
Ridge vent (continuous) 48 LF $576 Modest gap
OSB decking replacement (4 sheets) 128 SF $498 Large per-unit gap wherever decking is needed
Misc. fasteners, caulk, sealant 30 SQ $855 Easy to leave on the table
Permit fees 1 EA $455 Fee line, verify the local actual
TOTAL (illustrative wholesale) $13,449 Roughly $1,800 below the estimate's material allowance

That shortfall goes directly against your margin. If your target net profit on the example roof was 15% (roughly $2,250 on a $15,000 job), the pricing gap alone can eat most of it, the same work for far less profit than you planned.

Labor Isn't Immune Either

The pricing gap isn't limited to materials. Labor rates in Xactimate can lag the market too. In our example market, skilled roofing crews were commanding $58-68/hour, driven by the same labor shortage that's been tightening since 2021, while the list's allowance for general roofing labor sat below that range for tear-off and installation.

The steep charge (RFG STEEP) and the high roof charge (RFG HIGH) are based on productivity assumptions that assume a full crew, good weather, and standard safety setups. In practice, steep roofs slow crews down more than those productivity factors assume, especially on 8/12 and above, where OSHA harness requirements add setup time per worker.

I've found that the actual labor cost difference on steep roofs is closer to 40-55% above base rate, not the 25-30% that Xactimate's STEEP charge reflects. Document your crew's actual production rates and use those numbers in supplements.

Three Things You Can Do Right Now

1. Run a Pricing Gap Audit on Your Last 10 Jobs

Pull the carrier's estimate. Convert it to ESX using ESXPress (takes about two minutes per PDF). Export the line items. Then go line by line with your actual supplier invoices from those jobs. You'll find the gaps fast, and you'll have hard data, not gut feelings, to bring to your next supplement negotiation.

The biggest gaps are almost always in: laminated shingles, synthetic underlayment, ice and water shield, drip edge, and OSB sheathing. Start there.

2. Supplement the Gap: Not Just Missing Items

Most roofing contractors think supplementing means finding items the adjuster completely missed. That's half the game. The other half is correcting underpriced items, line items that are on the estimate but at prices that don't reflect what you actually pay.

When you submit a supplement for underpriced materials, attach your supplier invoice. Carriers are far more likely to approve a price correction when you show them the actual receipt versus Xactimate's estimate. You're not asking for a favor, you're asking them to honor the replacement cost value the policyholder paid for.

3. Automate the Gap Detection

This is what ESXPress was built for. Convert the carrier's PDF and you get every line item in Xactimate-native ESX format, with the AI Copilot there to add missing items in plain English and the Code Requirements engine to drop in code-required line items (ice barrier, drip edge, ventilation) at real Xactimate pricing. That gives you a complete line-item baseline to compare against your supplier invoices, so you can price-correct every underpaid item with receipts in hand.

Manual gap detection on a single estimate takes 45-90 minutes if you're thorough. ESXPress gets you to the comparison in about two minutes, and it doesn't miss items because it got distracted by a phone call.

Read the Import Reprice Before You File the Correction

When the converted scope lands in Xactimate, it reprices line by line against the price list loaded for the job's region, because the file carries no price list of its own. That step is where the pricing gap turns into a working list: Xactimate reports every line it moves, and the categories this article walked through, shingles, underlayment, ice and water shield, drip edge, decking, are the ones that move hardest. You are not arguing from a total. You are working from a line-by-line report next to the supplier invoices for the same lines. The mechanics of the import reprice are explained on the reprice check page.

Our 2026 State of Insurance Scope Quality study, a reprice measurement across 289 real claim files and 7,525 line items, found that 36.6% of lines carried a recognized code and the median file moved 17% of its lines on import. The lesson carries straight over to price corrections: the movement is measurable, line by line, and the lines that move are the lines to document. Validate the finished file with the free ESX validator so a structural problem is caught before it reaches the adjuster, then bring the reprice report and your supplier invoices to the supplement together. The PDF to Xactimate converter is the front half of that loop, and the supplement workflow is the back half.

Why 2026 Is Different From Previous Years

The pricing lag between the published database and real supply-house costs has been a fixture of the industry for years. But three things make 2026 worse:

Faster manufacturer price cycles. As I mentioned, we're seeing 2-3 rounds of price increases per year instead of 1-2. The interval between increases is shorter than Xactimate's update cycle, which means the database is perpetually behind by at least one price increase.

Regional variance is growing. Xactimate's national averaging works fine when prices move together. But in 2026, roofing material costs are diverging significantly by region. Storm-driven demand in markets like Oklahoma and Texas is pushing steeper increases than in the Northeast or West Coast. A national average price can mask a $10+/SQ regional gap.

Insurance carriers are tightening. Carriers know about the pricing gap. Some are using it to their advantage, approving estimates at Xactimate pricing and making contractors fight for every dollar above database rates. The burden of proof has shifted to you. If you can't produce supplier invoices and documented actual costs, the carrier wins by default.

Frequently Asked Questions

Can I negotiate Xactimate pricing directly with the insurance carrier?

Yes, but you need documentation. Carriers won't adjust pricing based on a contractor saying "this costs more." You need the actual supplier invoice showing what you paid, compared against the Xactimate line-item price. The more specific you are (exact SEL code, exact unit cost from the supplier, exact date of the invoice), the harder it is for the desk adjuster to deny. General complaints about "Xactimate being low" go nowhere. Specific line-item challenges with attached receipts get approved.

How often does Xactimate update its price lists?

Monthly, usually around the 15th. But the update reflects data collected 30-60 days prior, so you're always looking at pricing that's 1-3 months behind real-time market conditions. In a stable market, that's fine. In 2026, with manufacturers issuing quarterly price increases, it means the price list is almost always behind by at least one increase cycle.

What's the most under-allowanced roofing line item in a typical scope?

In the example above, synthetic underlayment (RFG FELTS) shows the largest percentage gap, list pricing on the material ran roughly 15-35% below typical wholesale, depending on the specific product and quantity. Drip edge (RFG DRIP) was next, with a gap in the mid-teens to low-thirties percent range. Laminated shingles (RFG300) showed a double-digit percentage gap on material alone.

Does the pricing gap apply to all Xactimate categories or just roofing?

It varies by category. Roofing (RFG) and siding (SDG) show the largest gaps because those material categories have seen the most manufacturer price increases. Drywall (DRY) and painting (PNT) pricing tends to be more stable because those material costs haven't moved as much. But any category with petroleum-based products, asphalt shingles, synthetic underlayments, PVC trim, vinyl siding, is going to show a gap because those materials track oil prices, which have been volatile.

How does ESXPress help with the pricing gap specifically?

ESXPress converts the carrier's PDF estimate to ESX format in about two minutes, giving you every line item at real Xactimate pricing. The AI Copilot and Code Requirements engine add missing and code-required items with correct SEL codes and pricing, so you can compare your complete scope against supplier invoices and attach receipts to every price correction. You get a complete supplement package, missing items plus price corrections, in the time it takes to drink a cup of coffee.

Stop Losing Money to the Pricing Lag

The Xactimate pricing gap isn't going away. If anything, the trend lines point to it widening through the rest of 2026 and into 2027. Manufacturers have signaled continued price pressure on asphalt-based products. Labor isn't getting cheaper. And insurance carriers aren't voluntarily updating their estimating databases to reflect your actual costs.

You have two choices: absorb the gap and watch your margins shrink quarter by quarter, or build a systematic process to identify and supplement every underpaid line item on every claim. The first path typically leads to thin single-digit net margins and constant cash flow stress. The second path recovers most of the gap, a thousand dollars or more per roof in the examples we track.

The contractors I know who are winning in 2026 aren't doing anything magical. They're just not leaving money in the pricing lag. They track actual costs. They document everything. They supplement systematically. And they use tools that do the heavy lifting, because nobody has time to manually compare 40 line items against supplier invoices on every single claim.

Start free, 5 conversions a month, no card, and convert your first estimate in about two minutes → Compare plans on the pricing page.

Related: reprice the estimate.

This post was drafted with AI assistance and reviewed for accuracy.

Xactimate is a registered trademark of Verisk Analytics, Inc. ESXPress is independent and not affiliated with or endorsed by Verisk/Xactware.

#xactimate pricing gap#roofing margins 2026#xactimate price list lag#roofing material costs#supplement strategy#xactimate sel codes#roofing contractor profit

Frequently Asked Questions

Can I negotiate Xactimate pricing directly with the insurance carrier?
Yes, but you need documentation. Carriers won't adjust pricing based on a contractor saying 'this costs more.' You need the actual supplier invoice showing what you paid, compared against the Xactimate line-item price. The more specific you are (exact SEL code, exact unit cost, exact invoice date), the harder it is for the desk adjuster to deny. General complaints go nowhere. Specific line-item challenges with attached receipts get approved.
How often does Xactimate update its price lists?
Monthly, usually around the 15th. But the update reflects data collected 30-60 days prior, so you're always looking at pricing that's 1-3 months behind real-time market conditions. With manufacturers issuing quarterly price increases in 2026, the price list is almost always behind by at least one increase cycle.
What's the most under-allowanced roofing line item in a typical scope?
Synthetic underlayment (RFG FELTS) tends to show the largest percentage gap, list pricing on the material can run roughly 15-35% below typical wholesale depending on the specific product and quantity. Drip edge (RFG DRIP) is next, with gaps in the mid-teens to low-thirties percent range. Laminated shingles (RFG300) can show double-digit percentage gaps on material alone.
Does the Xactimate pricing gap affect all construction categories?
It varies by category. Roofing (RFG) and siding (SDG) show the largest gaps because those material categories have seen the most manufacturer price increases in 2026. Drywall (DRY) and painting (PNT) pricing tends to be more stable. Any category with petroleum-based products, asphalt shingles, synthetic underlayments, PVC trim, vinyl siding, will show a gap because those materials track oil prices.
How does ESXPress help roofing contractors close the pricing gap?
ESXPress converts the carrier's PDF estimate to ESX format in about two minutes, giving you every line item at real Xactimate pricing. The AI Copilot and Code Requirements engine add missing and code-required items with correct SEL codes and pricing, so you can compare your complete scope against supplier invoices and attach receipts to every price correction. You get a complete supplement package, missing items plus price corrections, in about two minutes.
Where can I see which lines the import reprice moved?
Xactimate reports the lines it moves when an ESX imports, because the file carries no price list of its own and prices against the list loaded for the job's region. Lines the conversion could not match to a code keep the price printed on the carrier document and are flagged for review instead of changing silently. The mechanics are explained on the free reprice check page.

Ready to convert PDFs to ESX in minutes, not hours?

Start free, no card required, 5 free conversions included. Upgrade to a paid plan for a 14-day trial (card required, no charge until it ends). First conversion in about two minutes.