Map the fields and relationships
Decide which columns describe a company, which describe a person and which describe a specific deal. One contact can be involved in several projects. Do not squeeze everything into one record just because it is easier to import.
Mark the required fields, the phone number format, the source and the owner. An empty value and an unknown value do not always mean the same thing. Do not fill gaps with made-up data just to make the table look complete.

Check for duplicates by clear rules
Identical company names do not guarantee it is the same customer. A shared phone number may also belong to an office with several contacts. Choose the criteria for flagging possible duplicates and leave doubtful cases for manual review. These duplicate rules later become part of your CRM and automation setup.
Keep the original database separately. Before cleaning, record which records were merged and why. That lets you explain the changes and restore any history that was merged by mistake.

A test import matters more than a fast bulk one
Pick varied examples: a company with several contacts, a repeat deal, a lost deal, a record with incomplete data. Check not only the number of records but also the links, notes, dates and access rights.
Once the test import passes, load the full database and pick up the records that changed while you were preparing. After that, the team needs scenario-based training so they accept the data as their own. That is why CRM implementation ends with this step, and sales automation is connected only to a clean database.

