Loadbearing Software, home

ServiceTitan data migration for a platform that buys HVAC shops

Abe Harbid, 26 October 2026

A platform that moves an acquired shop onto ServiceTitan has to bring across customers, service locations, equipment, open and past jobs, estimates, pricebook items and the membership or service agreement list. ServiceTitan’s own help pages describe a spreadsheet import run with an Implementation Manager, and a separate request process for memberships [1][2]. The hard part is rarely the upload. It is getting each shop’s export into one consistent layout before anyone sends it. That is the step our engine covers, and the platform’s team or ServiceTitan’s onboarding still does the import.

What ServiceTitan asks you to prepare

ServiceTitan’s help page on preparing data lists four spreadsheet templates: Customers, Equipment, Jobs and Estimates, plus a separate Accounts Receivable template for incoming payment transactions. You get the templates and help from your Implementation Manager, fill the required columns, save each file as XLSX under its template name, and send the files back [1].

The required columns tell you what each acquired shop’s data must contain. Customers need a customer name, billing street, location name and location street. Equipment needs a location, a status of installed or replaced, a name and an install date. Jobs need a job number, invoice number, status, customer, dates, subtotal and sales tax. Estimates need a number, a status of open or sold, a total and tax [1]. Several templates also carry a source identifier column, which matters later in this page.

The same page says it does not cover import timelines, open jobs, memberships, job or customer history, or duplicate records, and points readers to the Onboarding Guide FAQ or the Implementation Manager [1]. We read that as a fair warning: those are the topics where a multi-shop platform has to decide things for itself.

The pieces, one by one

Customers and locations

ServiceTitan’s customer template puts a billing address and a primary location on each row [1]. Acquired shops often store one household as two customer records, or one landlord with several properties as one. Before import, someone has to decide which record is the customer and which are locations. Across ten shops that is ten sets of habits.

Equipment

The equipment template ties each unit to a location and asks for a status and an install date [1]. Old shops frequently have equipment typed into a notes field instead of a list. Rows with no install date will not satisfy a required column, so they have to be found and either filled or held back.

Jobs, estimates and open work

The jobs template wants a job status from a fixed list: Scheduled, In Progress, On Hold, Paused or Completed [1]. A shop that uses its own status names needs a mapping to those five. ServiceTitan’s page does not say how to treat jobs still open on the day of cutover [1], so the platform should decide that rule once and apply it to every shop.

Pricebook

ServiceTitan’s pricebook is imported from Pricebook, Import/Export. For first-time setup the page tells you to export a blank pricebook so the required fields and sheets are right. It also warns that choosing the option to deactivate the existing pricebook "effectively deletes your current pricebook and cannot be undone," and that rows you delete from a file are skipped on re-import [3]. For a platform with one standard pricebook, the acquired shop’s own price items need a decision before the file is built.

Memberships and service agreements

ServiceTitan’s help center says memberships cannot be bulk-added through the interface. You compile a list with each customer’s ID and the memberships to add, email support, and reply with the file attached. It adds that every detail must be accurate or the update may fail [2]. The onboarding discovery guide asks first whether customers buy residential memberships, commercial service contracts, both or neither [4]. ServiceTitan’s service agreements page lists a workflow called "Backdate active service agreements into ServiceTitan" but the page itself does not describe the steps [5]. Membership lists are also where a roll-up has money at stake, because renewals are future revenue.

One source per import

ServiceTitan’s onboarding discovery page says it imports from one software source, the one with the most accurate customer, invoice and job information, and that the Implementation Manager helps pick it [4]. That rule is reasonable for a single company. For a platform it means a shop that runs one tool for dispatch and another for accounting has to be reduced to one clean file, and somebody has to decide which system wins for each field.

What breaks across many shops

  • The same customer appears in two shops’ files, because both serviced the same family or the same property manager.
  • Technician names differ: a first name in one export, initials in another, a login in a third.
  • Membership types carry different names and terms in each shop, and the renewal date lives in a different column or a note.
  • Required fields are blank in different places in each shop, so the error list is different every time.
  • Source identifiers are lost. If an old customer number is not carried across, nobody can trace a record back to the shop it came from.

What our engine does before the import

The engine takes the shop’s own exports and maps each column to the platform’s standard layout. It flags rows that would fail a required field, finds likely duplicate customers and locations, lists technicians that do not match the platform’s roster, and lists membership rows with a missing renewal date or customer. It writes an import file in the platform’s layout and an error report with a reason on each flag. It keeps the mapping for that source layout, so the next shop exported from the same system starts from it. It does not depend on any vendor API, and it does not load anything into ServiceTitan. The platform’s team, or ServiceTitan’s onboarding, does that through ServiceTitan’s own path.

The fictional Quillfield Home Services Partners demo shows the checks on invented data.

A sensible order of work

  1. Collect each shop’s exports before the close date where the purchase agreement allows it.
  2. Decide the platform’s rules once: customer versus location, job status mapping, open job cutover, membership naming.
  3. Run the mapping and the checks, then send the error report to the shop’s manager for answers.
  4. Hand the cleaned file to the Implementation Manager, with the source identifier column filled in.
  5. Compare counts after the import: customers, locations, equipment, memberships and open balances against the pre-import report.

Questions

Does ServiceTitan import memberships from a spreadsheet?

Its help page on bulk memberships says you send a list with customer IDs and memberships to ServiceTitan support rather than adding them through the interface [2]. The data preparation page does not list a membership template [1].

Do you do the import into ServiceTitan?

No. We produce the import file in your layout and an error report. Your team or ServiceTitan’s onboarding loads it.

Does the engine connect to ServiceTitan?

No. It works from exported files and does not depend on any vendor API.

Why keep a mapping per source system?

The second shop on the same system has the same columns. Starting from the saved mapping means the work goes into that shop’s exceptions, not into column matching again.

What if a shop has no export tool?

Ask for whatever reports the shop can print or save, and send us those. A diagnostic on one shop shows what can be read and what has to be re-entered.

Start with a diagnostic on one recent acquisition, and see the home services page for the rest of the cluster.

ServiceTitan is a trademark of its owner. Loadbearing Software is not affiliated with, endorsed by or a partner of ServiceTitan.

Sources

  1. ServiceTitan, "Prepare your data for import into ServiceTitan" (accessed 26 October 2026). help.servicetitan.com
  2. ServiceTitan, "What is the process for bulk importing memberships for customers?" (accessed 26 October 2026). help.servicetitan.com
  3. ServiceTitan, "Import and export your pricebook" (accessed 26 October 2026). help.servicetitan.com
  4. ServiceTitan, "Onboarding Discovery process" (accessed 26 October 2026). help.servicetitan.com
  5. ServiceTitan, "Service Agreements Home" (accessed 26 October 2026). help.servicetitan.com

Book a 20-minute call

Bring your most recent acquisition. We will go through how its book, commission statements and producer data reach your reporting today, and whether a diagnostic is worth it.

Consent is not required to book.

Prefer email? Write to [email protected]. SMS terms