ReferenceSettings & administration

Data import

Open Import in Thermal →

What it's for

Data import brings your existing customers, contacts, sites, equipment, service agreements, and service history in from a file. It reads your columns, proposes what each one maps to, shows you what it is about to create, and only then writes anything. Direct connectors for ServiceTitan, Housecall Pro, QuickBooks, and Workiz are not available yet.

Reach it from Data and connections → Data import, at /import.

Tabs

Before a file is chosen the screen offers two tabs: New import and Import history. Once a file is loaded, the import itself is a sequence rather than a set of tabs: upload, map, review, commit.

Panels and controls

Upload

Download template gives you the shape of a clean file if you are building one from scratch. Otherwise upload the export you already have — the importer is built to read files it did not design.

Mapping

Each of your columns is shown with a Source column, a Sample value, what it Maps to Thermal field, and a Status. Change overrides a mapping the importer got wrong. Seeing a real value from your own file next to the field it will land in is what makes a mapping mistake obvious before it is permanent.

Review

Before anything is written you see the records that will be created — Customer, Contact, Service address, Equipment, Agreement, and Service history — each with a Confidence, plus any Issue and the Action proposed for it. Ticking Import on a row includes it; leaving it unticked leaves it out. A row the importer is unsure about is surfaced rather than guessed at.

Commit

Only the rows you selected are written. Go to Customers takes you to the result.

Try again re-runs a step that failed rather than making you start over.

Import history

Lists every committed import pass, newest first: when it ran, the source file, who ran it, and how many customers it created that are still on file. Each row offers Delete this import, which soft-deletes the customers that pass created.

The delete is all-or-nothing and refuses rather than partially applying: if any customer from the run now has a service agreement, work order, or unpaid invoice, the run is refused and every blocking customer and reason is listed, with no writes. Customers the run merged into rather than created are never touched. A successful delete stamps the run as reverted and writes one audit entry (who, when, run, row count).

What it accepts

FieldFormatRequiredRule
Import files.csv, .tsv, .iif, .qbo, .ofx, or .xlsxYesUp to 5 files per pass, totalling up to 25 MB
Source linesA mapped customer list is read in full; files that need automated structuring are read in requests of up to 150 lines, at most 8 per passYesIf lines are not read, split the export into smaller files and repeat the header row in each file
Column mappingPick a Thermal field per columnYes, per mapped columnUnmapped columns are ignored rather than guessed
Row selectionTick the rows to importYes"No customer rows selected for import."

Spreadsheets must be the modern .xlsx format — the older .xls binary format is not supported; save it as .xlsx or CSV and upload again.

If the review screen reports that source lines were not read, import the split files one pass at a time. The 25 MB total applies separately to the files selected for each pass.

Import has to be switched on for your shop; without it the screen says "Import not available — contact support to activate."

How to configure it

  • Import availability is set for your shop rather than by you — the message above tells you when it is not on.
  • Branches decide which branch imported records are assigned to.
  • Price book tiers decide the pricing imported customers land on.
  • Equipment types come from the trades your shop has enabled, so importing equipment for a trade you have not turned on will not map cleanly.

Who can see it

This screen sits behind the Customers area, and lives under Settings.

Owners, office managers and dispatchers can open it, though in practice importing is an owner-and-office job — it writes across the whole account. The gate is checked on the server, not just hidden in the sidebar, so a direct link does not get around it.

The full role matrix is on Roles & permissions.

On this page