Kevin.

The XactContents Import Template: Columns, Totals and the Rules That Break an Import

XactContents imports contents as an Excel workbook: one row per line, in a fixed column order, with numbers where numbers belong. Here is every column Kevin writes, and the mistakes that stop a file from importing.

Kevin Godfrey, KevinLast updated 26 October 2026

What format does XactContents import contents in?

A pre-formatted .xlsx workbook, one row per contents line, with static values in every cell and no formulas.

Xactimate and XactContents take contents lists as Excel. Whole estimates move as .ESX archives, and programmatic integration runs through XactAnalysis. There is no XML route for a contents list. The workbook has to land as numbers, text and codes the importer can read without evaluating anything.

The columns, in order

Kevin’s export uses the same column order as the worksheet on screen, so the file and the app present one shape. A TOTALS row closes the sheet.

Kevin’s .xlsx export, left to right
ColumnWhat it holds
#Line number. It never changes once a line exists, so an export already sent still matches.
Room/AreaFree text: the room the item came from.
QtyWhole number of units.
DescriptionThe inventory line as the adjuster left it.
Make/MFRManufacturer or brand.
Model #Model number where one could be read or found.
Content ClassThe Xactimate PCS code for the class: CMP, APP, JWL and so on.
Unit CostReplacement cost of one unit, before tax.
Extended CostUnit Cost × Qty, still before tax.
Sales TaxTax on the extended cost at the rate for the loss address.
RCV + TaxExtended Cost + Sales Tax.
Age (yrs)A bare number such as 2, never “2y”, so it lands as a number.
% DepreciationFrom the class’s schedule for that age.
$ DepreciationRCV + Tax × % Depreciation.
ACVRCV + Tax − $ Depreciation.
Source LinkThe word Link, hyperlinked to the listing behind the unit cost.

How a line foots

Tax is applied per line, and depreciation is applied to the tax-inclusive figure. So tax sits inside ACV rather than being added after it, and two identities hold on every row:

Identities every row satisfies
CheckHolds because
Extended Cost + Sales Tax = RCV + TaxTax is a breakout of what is already inside RCV + Tax.
RCV + Tax − $ Depreciation = ACVDepreciation comes off the tax-inclusive replacement cost.

A reviewer reconciling the file by adding tax to ACV will be off by the tax on the depreciated portion. The RCV vs ACV guide walks through the arithmetic.

What breaks an import

Common causes, and what Kevin writes instead
ProblemWhy it failsWhat Kevin writes
Formulas in derived cellsThe importer does not evaluate them.Every derived cell and total as a computed number.
Text in a number column“2y” or “$1,200.00 ea” is not a number.Age as a bare number; money as numbers.
Dashes or blanks for unpriced linesA dash is text, and a blank breaks downstream sums.0.00 in every money cell of an unpriced line.
Free-text categoriesThe class has to map to a PCS code.The PCS code itself in Content Class.
Several files or tabsAn import expects one contents sheet.One workbook per export, never a zip or a bundle.

Because the file holds no formulas, editing an age or a price inside it changes nothing else on the row. Make the change on the worksheet in Kevin and export again; the new file is a fresh snapshot.

The source behind each price

Each priced line’s unit cost is the price of a single listing rather than a blend of several, and the Source Link column points at that listing. It is a real hyperlink in the .xlsx, so a desk reviewer can open it from the cell. Where a line has no source, the cell is blank rather than a dead link.

Building the file without typing it

Typing a few hundred lines into this layout by hand is most of the work in a contents claim. Kevin builds the rows from claim photos or from a written inventory, prices, classifies and depreciates them, and lets you review every line before you export the .xlsx. Kevin is not affiliated with Verisk.

Common questions

What is an XactContents import template?
It is a pre-formatted Excel workbook, one row per contents line, that XactContents reads on import. Xactimate and XactContents take contents as .xlsx; whole estimates travel as .ESX archives. There is no XML format for this.
Can I type formulas into the spreadsheet?
Do not. The importer breaks on formulas, so every derived cell in Kevin’s export (extended cost, tax, RCV + tax, depreciation, ACV and the totals) is written as a computed number. Recalculation happens in Kevin, and the file is a snapshot of what it produced.
If I change an age in the exported file, does depreciation update?
No, because the file holds no formulas. Depreciation comes from the content class’s schedule, which a spreadsheet cell cannot express. Change the age on the worksheet in Kevin and export again.
What goes in the Content Class column?
The Xactimate PCS code for the item’s class, for example CMP for electronics, APP for major appliances and JWL for jewelry. That code is how XactContents categorises the line on import.
What happens to a line Kevin could not price?
On the worksheet its price cells are blank for you to fill in. In the exported file its money cells read 0.00 rather than a dash or an empty cell, so totals and any sums downstream still add up.
Does the file include the source behind each price?
Yes. The last column holds the word Link, hyperlinked to the listing the price came from. It is blank where a line has no source, such as a price you typed in without attaching a URL.
Is Kevin affiliated with Verisk?
No. Kevin is not affiliated with, endorsed by or certified by Verisk. Xactimate and XactContents are their products; Kevin writes a worksheet in a format their importer reads.

Build contents claims faster with Kevin.

Your first 250 line items are free, with no clock running. $249/mo after that, unlimited claims.

Related