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

Why Does Xactimate Reprice My Estimate? (And What to Do)

Your ESX imported and the total came back different? Imports reprice against the current price list. Here is why totals move and what to do about it.

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

Chaz Jaco

Co-Founder & Software Architect, ESXPress

You converted the carrier's PDF, imported the ESX into Xactimate, and the total came back… different. Sometimes higher. Sometimes brutally lower. If it's ever happened to you, you know the feeling: did I do something wrong? Is the file broken?

We've watched this happen on real scopes, and we can tell you exactly what's happening, and how to check your own file before you ship it.

Key Insight: Xactimate reprices every imported line against the price list currently loaded in your copy of Xactimate. The price-list stamp inside the file (e.g., OKAD8X_SEP24) records what the file was priced on, it does not control the reprice. Depending on the file and the codes, the total can move in either direction, sometimes by tens of thousands of dollars on a full roof replacement.

The Mechanism: It's the Price List, Not Your File

Here's the sequence every imported ESX goes through:

  1. Xactimate reads the line items and their CAT|SEL codes (e.g., RFG|300S for laminated shingles).
  2. For each code, it looks up the price in the price list currently loaded in your copy, not the list the file was priced on.
  3. It applies the price variant for the line's activity code: install (+), removal (-), or add (&).
  4. It writes the new unit prices and recalculates the total.

That's the whole mechanism. It's not corruption, not a converter bug, not Xactimate being out to get you. It's a repricing event, and it happens on every fresh import. The file's own priceList stamp (plus its plModifiedDateTime) is metadata about the past: Xactimate prices for the present.

What a Reprice Actually Does

A reprice is not one uniform percentage applied to your file, it's a line-by-line event. Xactimate takes each line's CAT|SEL code and activity variant, looks it up in the list currently loaded in your copy, and writes the new unit price. Lines whose codes moved between price-list editions change; lines that didn't stay put.

The direction isn't random. Files priced on older lists tend to reprice upward when material and labor costs have climbed since, which has been the norm in recent years. Files that carry hand-keyed or inflated prices on specialty items move the other way, clamping down to list. The same mechanism produces both outcomes, which is why "reprice" feels random until you know what's happening under the hood.

Where the Big Moves Come From

Repricing isn't uniform, it's driven by a handful of line types. The biggest movers on a typical reprice:

  • Chimney flashing: a hand-keyed line priced well above list, common on specialty items, clamps down to the current list rate on import, and a single line can move by hundreds of dollars or more. Files carrying hand-keyed or inflated prices on specialty items get corrected on import.
  • Laminated shingle removal: a removal line hand-priced well above list clamps to the removal-activity (-) rate, labor only, which is a small fraction of the install rate. Removal and install are not the same price, and the activity code decides which one you get.
  • Steep roof, drip edge, vents: these move between list editions as labor and material components update monthly.

Pro tip: The single most common cause of a "wrong" reprice is an activity-code mismatch, a removal line coded as an install prices at the full install rate instead of the labor-only removal rate, and the gap can exceed 4x. Check the activity code before you import, not after.

What to Do About It

You can't stop Xactimate from repricing on import, it's how the platform works. But you can stop being surprised:

  1. Know what list you're on. Check the price list loaded in your copy of Xactimate. If you're importing files priced months ago on older editions, expect movement.
  2. Compare before you ship. After import, run the line-by-line comparison against the PDF total. Every line that moved, and why, should be explainable, list edition, activity code, or a flagged "not in price list" line.
  3. Fix activity codes first. If a tear-off priced as an install, that's the biggest single-line error available to you. Get removals as removals.
  4. Know why prices move. Xactimate prices against region-specific price lists, the same line can price differently by region and price month, and repricing only happens inside Xactimate against the right local list. See why Xactimate pricing varies by region.
  5. Use a converter that verifies. ESXPress surfaces the totals (RCV, O&P, tax, depreciation, ACV) straight from the PDF for every conversion, so you have the before-picture locked in before Xactimate ever touches the file.

The Bottom Line

Repricing on import is Xactimate working as designed. The file's price-list stamp is a record of the past; the reprice is the present. Know your list, check your activity codes, compare before you ship, and when a total moves by tens of thousands of dollars, you'll know exactly which lines did it and why.

Want to understand why the numbers move? Read why Xactimate pricing varies by region, and why we don't publish prices, see the full how repricing on import works explainer, then convert your full scope with ESXPress, free 14-day trial, card required, no charge until it ends. Plans and details on the pricing page.

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 reprice#esx import pricing#price list stamp#xactimate price list#act codes#supplement pricing

Frequently Asked Questions

Why did my estimate total change after I imported the ESX file?
Xactimate repriced your lines against the price list currently loaded in your copy, not the list the file was stamped with. Line prices move between list editions, and activity codes (install/removal/add) select different price variants, so totals can move up or down, sometimes by tens of thousands of dollars, depending on the file and the codes.
Can I stop Xactimate from repricing my file?
No, repricing on import is how Xactimate works. You can control the outcome by knowing which price list is loaded, checking activity codes before import, and comparing the imported totals against the PDF line by line.
What is an activity code and why does it change the price?
Activity codes are + (install), - (removal), and & (add). Xactimate prices them differently, a removal prices labor-only, which is a small fraction of the install rate for the same code. A removal line coded as an install can reprice at more than 4x the correct rate.
Why is my removal line cheaper than I expected?
Removal activity prices labor only, no material. That's why a tear-off of the same shingle system prices far below the install. It's not an error; it's the activity variant.
Does ESXPress guarantee the imported price?
ESXPress verifies the converted file's line items and totals against the PDF (RCV, O&P, tax, depreciation, ACV) so you know exactly what you're importing. Xactimate still reprices on import against your loaded list, that's the platform's behavior, but you'll have the before-picture and the per-line comparison to explain every move.

Xactimate codes from this article

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.