ServiceTitan Pricebook Import Errors: Causes and Fixes
If your pricebook import just failed, you are stuck at the worst possible moment: the book is half-updated and the error message tells you a row number but not much else. The good news: most import failures come from a short list of causes, and every one is fixable in the file itself. Work through these five in order, most common first.
1. IDs filled in for new items
Symptom: the import rejects rows or reports ID conflicts.
Cause: the ID column is ServiceTitan's internal identifier. For existing items, an ID tells the import which item to update. For new items, that column must be blank — ServiceTitan generates the ID on creation. Exports and well-meaning edits love to fill it in (row numbers are a frequent culprit).
Fix: for every new item, clear the ID cell completely — empty, not zero, not a dash. Keep IDs only on rows you intend to update in place.
2. Dollar signs and commas in price fields
Symptom: price or cost columns fail validation, import as blank, or come through wrong (a $1,250 item priced at $1 is the classic).
Cause: money copied from a formatted spreadsheet carries its formatting: $1,250.00 instead of 1250.00. Worse, a comma inside a value can split one field into two in a CSV, shifting every column after it — why one bad price can produce a screen of unrelated errors.
Fix: strip currency symbols and thousands separators from every cost and price cell so all money is plain numbers. Then check that each row still has the same number of columns — a shifted row is visible immediately once you look for it.
3. Duplicate codes
Cause: a code must be unique across the book. Duplicates creep in when the same part is entered twice over the years, or when rows are copied to create "similar" items and the code never gets changed. Trailing spaces count too: HVAC-FILTER and HVAC-FILTER␣ are different values that look identical.
Fix: sort by code and walk the duplicates. For true duplicates (same item, same price), delete the extra rows. For different items sharing a code, rename one with a clear suffix. Then trim stray spaces from the column.
4. Inconsistent categories
Symptom: items land in unexpected categories, near-duplicate categories appear after import, or rows fail because their category matches no existing one.
Cause: "Water Heaters," "Water Heater," and "WH" are three different categories as far as an import is concerned. Months of small spelling differences fragment the book, and imports faithfully reproduce the fragmentation.
Fix: before importing, list every distinct category value in your file and normalize variants to one spelling each. Five minutes in the spreadsheet prevents a much longer cleanup inside ServiceTitan afterwards.
5. Unit-of-measure mismatches
Symptom: quantities or costs per unit come through wrong — a material sold by the foot priced as if by the roll.
Cause: the UOM in your file does not match what ServiceTitan expects, or the same material appears with different units in different rows (bought by the box, sold by the piece, with no consistent conversion).
Fix: audit the UOM column alongside cost: for each material, confirm the unit the cost refers to is the unit the price refers to. Standardize abbreviations to one form per unit across the file, and split rows where the same part genuinely trades in two units.
Before you re-import
Fix the file, not the symptoms, and keep the failed file for comparison. Re-import a small batch first (one category), spot-check 5–10 items, then import the rest. Keep your original export untouched: it is your rollback if a "successful" import moved things you did not intend.
FAQ
The error just gives me a row number. How do I find the actual problem?
Open the file, go to that row, and check it against the five causes above in order: ID filled in, money formatting, code used elsewhere, category spelling, unit mismatch. One of the five explains most row errors.
My import "succeeded" but the data looks wrong. What happened?
Usually one of two things: duplicate codes made items overwrite each other, or a comma in a money field shifted a row's columns so values landed in the wrong fields. Either way, work from your backup export and re-import a corrected file rather than patching items one by one.
Do I need to fix all five issues even if my error is only one?
Fix the one that bit you, but scan for the other four before re-importing. They tend to travel together — all five come from the same source: a file edited by hand over a long time.
Still stuck? Send us the file
Our founding clean-up service exists for exactly this file: duplicates removed and logged, missing codes generated, categories normalized, money fields cleaned, IDs left blank on new items, and rows priced at or below cost flagged in a change report instead of changed. $99 per book up to 1,000 items (Services and Materials), back in 48 hours, file-in/file-out — no ServiceTitan login ever. If our clean file will not import, we fix it free or refund you.
Start with a free 25-row sample clean — send your messiest rows and see the report before you pay anything.
Pricebook Clean-Up is an independent service and is not affiliated with, endorsed by, or sponsored by ServiceTitan.