How to Import Your Customer List into a CRM
How to move customers and contacts into a CRM without duplicates: prepare the file, pick the right columns, test on a few records and know what to leave out.


Importing a customer list into a CRM happens in three stages: you build one clean file, you import a test batch of ten or twenty records, and only when that batch is correct do you load the rest. The part that takes the time is not the import itself, which runs in minutes, but the cleanup before it: merging separate lists, choosing a field that identifies each customer uniquely, and removing duplicates.
If your contacts currently live in three spreadsheets, a phone address book and the memory of two colleagues, by the end of this guide you will have a single list, free of duplicates, inside the tool you use every day.
What you need before you start
- Every existing list, gathered in one folder: spreadsheets, exports from your accounting system, mail contacts, the sales phone address book. Include the ones you think are outdated: they are useful for comparison, even if you never import them.
- A field that identifies each customer uniquely. For companies it is the VAT number, for individuals the email address. Without it the import still works, but duplicates become impossible to detect automatically.
- A user with import permissions in the CRM. In most tools this is an administrator permission, not a sales one.
- The file saved as CSV with UTF-8 encoding. It is the format nearly every system accepts, and the one that does not break accented characters.
- Half a day on the calendar, not half an hour. The time goes into cleanup, not into the upload.
Preparing the file: the columns that actually matter
The temptation is to bring in everything you have. It is the most expensive mistake, because every extra column is one more field to map, to check and then to ignore forever. The rule is simple: a field earns its place if someone will use it to search, filter or make contact.
| Column | What it is for | Required |
|---|---|---|
| Company name or first and last name | identifying the customer | yes |
| VAT or tax number | detecting duplicates | yes for companies |
| contact and matching key | yes | |
| Phone | contact | recommended |
| City and region | filters and territory assignment | recommended |
| Contact person and role | knowing who you are talking to | recommended |
| Lead source | understanding where customers come from | recommended |
| Status (customer, past customer, prospect) | separating buyers from the rest | yes |
The field almost everyone forgets is the last one. Importing active customers, lost ones and contacts that never went anywhere as a single block leaves you, on day one, with a list that tells you nothing. If your data does not carry that information, working it out by hand is still faster than fixing it afterwards.
How to import your customer list, step by step
- Merge every list into a single sheet. One row per contact, one column per piece of information, no merged cells, no blank rows in the middle and no decorative title above the headers. The first row must contain column names and nothing else.
- Normalise formats before importing. Phone numbers with the country prefix, emails in lower case, regions with a consistent code, dates in one format. These fixes take five minutes in a spreadsheet and become manual work on every record once they are inside the CRM.
- Sort by the key field and hunt for duplicates. Sorting by VAT number or email puts duplicates next to each other, where you can see them. When two rows are the same customer, merge the information into the more complete one and delete the other.
- Save as CSV UTF-8, then reopen the file to check the accented characters. If they show up as odd symbols, the encoding is wrong and the file has to be saved again: importing it as is means correcting hundreds of names by hand.
- Open the CRM import function and load a test file first, with ten or twenty representative rows. Deliberately include the awkward cases: a foreign customer, one with no VAT number, one with accented characters in the company name.
- Map the file columns onto the CRM fields. The tool suggests a match based on names: check it line by line, because this is where the phone number lands in the fax field and the city in the address field.
- Set the duplicate rule before you confirm. There are usually three options: skip records that already exist, update them with the new values, or create them anyway. The third one is almost always the wrong choice.
- Review the twenty imported records one by one. Not a sample: all of them. This is the only moment when checking is cheap.
- Only now import the full file, using the same saved mapping. When it finishes, check that the number of records created matches the number of rows in the file minus the duplicates you expected.
When the data comes from several sources
The normal case is not one file, it is four lists that partly overlap. The order in which you merge them is not neutral: start from the most reliable source and use the others to enrich it, not to replace it.
The most reliable source is almost always the accounting one, because it holds customers who actually bought and carries correct tax details. On top of that go the sales contacts, which bring the contact people and mobile numbers that accounting never has. Last comes the mail address book, the least structured and the one most full of people who do not belong there.
If part of your contacts arrives from website forms, fix that flow before the import rather than after: otherwise disorderly records keep arriving while you clean. How to set it up is covered in the guide on capturing contacts from your website, and how to avoid losing them afterwards in the guide on managing leads.
Alternative method: import in stages instead of all at once
If the list is large or badly disorganised, loading everything in one go turns one problem into two. The alternative is to import in three passes, a few days apart.
The first pass brings in active customers from the last two years: there are few of them, they are the ones you will actually use, and they are the cleanest. The second brings open deals and prospects someone is following. The third, if it is still needed, brings the history.
The advantage is that the CRM becomes usable after the first pass rather than at the end, and the team starts working in it while the rest arrives. The drawback is that finishing the third pass takes discipline, because once you are up and running it always feels less urgent. The schedule for those first days is covered in the guide on configuring a CRM in the first 30 days.
What is better left out
A customer list contains personal data, and the import is the right moment not to carry along what you do not need.
Leave out contacts whose origin you cannot trace, notes written years ago about people who no longer work there, and purchased lists whose provenance you cannot reconstruct. The same applies to fields: personal remarks about a contact person are not company data and do not belong on a record shared with the whole team.
The practical test is the question "who will see this and why". If you cannot answer, the field does not go in. The full picture on lawful basis, retention and data subject rights is in the guide on CRM and data protection.
Common mistakes
Importing without a test run. A bad import across five thousand records is not undone by pressing a key: it is undone by deleting five thousand records and starting again, assuming the CRM lets you. A twenty row test costs ten minutes and protects the whole job.
Using the name as the matching key. "Rossi Ltd", "Rossi Limited" and "ROSSI LTD" are three different customers to any system. Matching has to run on VAT number or email, fields that have exactly one shape.
Bringing in history before deciding what it is for. Ten years of dormant contacts make every search slower and every statistic misleading. History gets imported when there is a question it has to answer, not on principle.
Putting off training the team. A perfect list imported into a tool nobody knows how to use produces, within a month, a second spreadsheet running in parallel. If the move from spreadsheet to CRM still feels uncertain, the comparison is in the guide on CRM versus spreadsheets.
How long it takes and what comes next
For a list of up to a thousand contacts, cleanup usually takes between three and five hours, the test run twenty minutes and the final import a few minutes. Above five thousand contacts, or when there are more than three sources, plan for two separate half days with a few days of checking in between.
Now that the list lives in one place, the next natural step is to put it to work: assign customers to the right people and start recording what happens on each of them. If you are still choosing the tool, the criteria are collected in the guide on how to choose a CRM for a small business.
Frequently asked questions
Is it better to import contacts or add them by hand as I go? It depends on how many there are and how tidy they are. Below a hundred contacts, manual entry is often faster than preparing a file, and it has the advantage of forcing you to look at every record. Above that threshold importing always wins, as long as cleanup comes first: importing a messy list is slower than not importing it at all, because the time simply moves from preparation to correction, where it costs more.
How do I handle customers who appear in two lists with different details? Decide in advance which source wins on each field, instead of judging case by case. Tax details usually win from the accounting source and contact details from the sales one, because those are the places where each is kept up to date. Writing that rule down before you start avoids the argument over every single record, which is what turns a three hour import into a three day one.
What should I do with contacts I have heard nothing from in years? They should not be deleted by reflex, but they should not be imported alongside the rest either. The practical answer is to keep them in a separate file outside the CRM and pull them back only if needed. That way the working list stays readable and no data is lost.
If the import goes wrong, can I roll it back? Many CRMs record each import as a batch and let you undo it, but that is not something to assume: check it before, not after. Either way, keep the source file and an export of the list as it was before the import, which is the real fallback plan.
Share this article
Written by

Luca Bosso
Founder of Flusia
Related articles

Your CRM Is a Spreadsheet? Here's Why You're Limiting Growth
Understand the real cost of managing clients in Excel and when it is time to switch to a proper CRM for your growing SME.

How to Choose the Right CRM for Your SME: Complete 2026 Guide
A practical guide to choosing the right CRM for your Italian SME in 2026: features, pricing models, red flags and what actually matters.

Why 79% of Italian SMEs Don't Use a CRM (and What They're Missing)
79% of Italian SMEs don't use a CRM. Discover the 5 most common objections, how much NOT having a CRM costs, and when to start.