Skip to main content
If you’re switching from another tool, import your customers instead of retyping them. ShineCRM reads a CSV exported from HouseCall Pro, Google Contacts, or any other CRM, shows you exactly what will happen before anything is imported, and lets you undo an import afterwards. Importing is owner/admin only and works on both the web dashboard and the mobile app.

Import from a CSV

1

Export a CSV from your old tool

In HouseCall Pro, Google Contacts, or whatever you use now, export your contacts as a CSV file. If your tool gives you an Excel file (.xlsx), open it and save it as CSV first; the importer will remind you if you upload an Excel file by mistake.
2

Open the importer

Go to Contacts and open Import. Upload your CSV.
3

Map your columns

ShineCRM auto-detects common columns: names, phone numbers (including separate mobile, home, and work columns), email, addresses (including “Street Line 2” style unit numbers), lead source, notes, the original created date, and the customer ID from your old CRM. Review the Map columns step and fix anything that landed in the wrong field. Set any column you don’t want to bring over to Ignore.
4

Review before importing

The review step shows how many contacts will be added, updated, and skipped, before anything is written. Two choices to make here:
  • Import new contacts as: the pipeline stage for the new contacts. Importing your existing customer base? Pick Completed so they don’t all show up as leads.
  • When a contact already exists: Skip duplicates leaves matching contacts untouched; Update existing fills in missing details from the file without erasing anything. Matches are found by customer ID, phone, or email.
Rows that need attention (unrecognized phone numbers, addresses without a street) are listed so you can fix them in the file first, or import anyway; nothing is silently dropped, unrecognized phone numbers are kept in the contact’s notes.
5

Run the import

Import runs in fast batches with live progress and can be cancelled mid-way. You’ll get a summary showing what was added, updated, and skipped, and can download a CSV of just the rows that need fixing to re-import later. Re-importing the same file is safe: duplicates are detected automatically.

Undo an import

Every import is recorded under Recent imports on the import screen. Undo removes the contacts that import added, with one safeguard: contacts that already have estimates, invoices, jobs, or conversations are always kept, and contacts the import merely updated are not changed.

Frequently asked

Which file format do I need? A CSV. Most CRMs and Google Contacts export one directly. Excel files need a quick File > Save As to CSV first. Comma or semicolon separated both work, and accented names import correctly even from Excel-saved files. What if my columns are named differently? That’s what the Map columns step is for. You tell ShineCRM which of your columns is the name, the phone, the email, and so on. What happens to a contact’s mobile and home phone numbers? The first working number becomes the contact’s phone. Any extra numbers aren’t lost: they’re saved into the contact’s notes. Can an import change who receives texts? One thing to know: if your file has an opt-out column (like “Unsubscribed” or “Do not text”), a yes-value marks that contact as opted out of texts, and imports never opt anyone back in. That’s deliberate, an import can only ever stop messages, not start them. Can I import addresses? Yes. One address per contact maps straight in, “Street Line 2” unit/suite columns are appended to the street, and for multiple addresses use address groups, where Group 1 is the primary. Will importing twice create duplicates? Duplicates are matched by your old CRM’s customer ID, phone number, and email, and either skipped or updated, whichever you choose in the review step. One caveat: a row with none of those three (say, a name and nothing else) can’t be matched, so it would be created again on a second import. If your file has such rows, the review step is where you’ll spot them.