- Home
- How-To Guides
- CRM & Data
How do I import my customer list into PestCRM?
Short answer
Export your list to CSV, clean it before it goes anywhere near the CRM — one row per contact, phone numbers in E.164, no merged cells — then map the columns to PestCRM fields, set the dedupe key to phone and email, and tag the whole batch with an import label. Run a hundred rows first, inspect them by hand, and only import the rest once that sample is clean.
Before you start
- A CSV export from your current system, with headers in the first row.
- The custom fields you need already created in PestCRM.
- A decision on which contacts are customers, which are leads, and which are dead.
- A spreadsheet tool for the cleanup pass.
Step by step
Export and split the list by status
Export everything, then split it into separate files: active customers, open leads, and inactive or lost. Importing them as one file forces you to guess at pipeline placement later. Three imports with clear tags takes ten extra minutes and saves hours.
Clean the file before you upload anything
One row per contact. Remove merged cells, subtotal rows, and header rows repeated mid-file. Split combined name columns into first and last. Strip trailing spaces. Make sure every row has at least one of phone or email, and delete the ones that have neither.
Tip: Sort by phone and by email and scan for obvious duplicates now. Fixing them in a spreadsheet is far quicker than merging records afterwards.
Normalize phone numbers to E.164
Convert every number to the +1XXXXXXXXXX format. Mixed formats — parentheses, dashes, leading ones, extensions in the same cell — are the single biggest cause of duplicate contacts and failed text sends. Pull extensions into their own column.
Watch out: Spreadsheets love to strip leading characters and turn long numbers into scientific notation. Format the phone column as text before you paste.
Map the columns to PestCRM fields
In the import wizard, map first name, last name, phone, email, service address, city, state, postal code, and any custom fields such as service type, account number, or last service date. Leave anything you cannot map cleanly unmapped rather than forcing it into the notes field.
Set the dedupe rule
Choose match on phone, then email, and set the behavior to update the existing contact rather than create a new one. Keep the original source on matched records — overwriting source data destroys your attribution history.
Tag the entire batch
Apply an import tag with the date and origin, like "import-2026-02-fieldroutes-active". This is your undo button: if the mapping turns out wrong, you can find and remove exactly what you imported without touching anything else.
Watch out: Never import a batch without a tag. Untangling an untagged bad import from real data is genuinely painful.
Dry-run one hundred rows
Cut a hundred-row sample file and import that first. Open twenty of the resulting contacts and check name casing, address parsing, phone format, custom fields, and that existing customers were updated rather than duplicated.
Import the rest and verify the counts
Run the full file, then compare the numbers: rows in the file, contacts created, contacts updated, rows skipped. Every skipped row should have a reason you understand. Finally, confirm your imported contacts are not sitting in any active workflow before anybody gets an unexpected text.
Watch out: Check workflow entry rules before importing. A tag-based trigger can enroll your entire customer list in a nurture sequence in one click.
Common mistakes
- Importing without a batch tag, leaving no clean way to reverse a bad mapping.
- Leaving phone numbers in mixed formats, which defeats dedupe and breaks SMS delivery.
- Importing customers and leads in one file, so everything lands in the wrong pipeline stage.
- Forgetting that a tag-triggered workflow will fire on every imported contact at once.
Where this fits
This task lives inside PestCRM — the AI Sales System. If you would rather not build it yourself, we set it up during implementation and hand it over documented — partners run the systems, we handle the hard parts. Existing partners can also reach the team through support.
Frequently asked
Want this built for you instead? We configure it with your services, your calendar, and your data, then train your team on it.
Book a Discovery Call