Kai

How to import your client base from Excel into amoCRM or Kommo in 10 minutes

Updated October 26, 2026 · Kai Team · 6 min read

Importing a client base from Excel into a CRM means loading a spreadsheet so that every row becomes a contact (and, if needed, a company and a deal) with the fields in the right places and no duplicates. In amoCRM and Kommo the import itself takes minutes: the built-in wizard accepts Excel and CSV, maps columns to fields and skips duplicates. The time goes into preparing the table, and that is where the problems hide. Below: how to prepare the file, run the wizard, avoid common mistakes, and do the same by sending the file to an AI assistant such as Kai.

TL;DR

  • One row, one client. Headers in the first row, no merged cells, totals or colour coding.
  • Phones in one format with the country code, one number per cell, or the CRM misses duplicates.
  • Add "Source" and "Tag" columns before importing: the tag lets you find, and roll back, the whole import.
  • A 10-row test file first, then the full base.
  • A clean table imports in 10 minutes; a messy one needs an hour of cleanup. Kai: file in the chat, mapping check, confirm.

Step 1. Clean up the spreadsheet

The wizard does exactly what it sees in the file, so a tidy table is 80% of the job. Go down the list:

Step 2. Import with the built-in amoCRM or Kommo wizard

In both systems the import starts from the list views (contacts, companies or leads) with an import button that accepts .xlsx and .csv; check the exact location in your CRM's help centre. The wizard logic is the same:

  1. Upload the file and check the preview. The wizard shows the first rows and asks you to match each column to a CRM field, standard or custom. If a field does not exist yet, create it in the card first (its type cannot be changed later).
  2. Choose what to create. Contacts only; contacts and companies; contacts with deals. For deals, pick the pipeline and stage and make sure stage names match the CRM letter for letter.
  3. Set the duplicate rule. When a phone or email matches an existing card: skip, update or create new. A clean first load usually skips; refreshing a live base updates.
  4. Run a 10-row test file. Open a few cards: the phone is in the phone field, not a note; names did not merge; tag and source are there.
  5. Check the result. The record count matches the table, a filter by the import tag shows the same number, and a search for a random phone finds exactly one card.
There is no one-click undo: you can only find the records and bulk-delete them, which is hard without an import tag.

Common mistakes when moving a base

With Kai it is one message and one file

Kai is an AI assistant that configures amoCRM and Kommo from a chat message, in the Telegram bot @aiicrm_bot or the web chat, connected through one-click OAuth 2.0 with no keys or passwords. You send the Excel or CSV file into the chat; Kai recognises the columns ("Budget" → deal price, "Tel." → phone), shows the full column-to-field mapping, finds duplicates by phone and email and asks what to do with them; missing fields it creates. After your "ok" everything is loaded through the official API, with a report: contacts, companies and deals created, duplicates skipped.

Here is the client base in Excel. Load it into Kommo as contacts and companies, skip duplicates by phone, tag everyone "base-2026", source "Trade show".
In the file, "Budget" is the deal amount and "Status" is the stage in the "Sales" pipeline. Create deals with contacts; the owner is in the "Rep" column.
Show the mapping again and move "Comment" to the deal note, not the contact.

Honest limits. Kai untangles a messy table, but which of two records wins is your call: it shows the pairs and asks. A very large base is better loaded in parts. Moving history and tasks from another CRM, or linking the base to accounting software, is an integrator's job. Import is on every Kai plan; the trial is 3 days, no card, on Start features.

By hand, with an integrator or with Kai

CriterionCRM import wizardIntegratorKai
Best forClean table, one record typeMigration from another CRM with history; data in accounting softwareAny table; contacts, companies and deals from one file
What you doPrepare the file, match columns, checkWrite a spec, accept the resultSend the file, check the mapping, confirm
Time10 minutes clean, an hour messyDays or weeksOne conversation
CostIncluded in the CRM subscriptionPer the contractor's quoteFrom €29/month, 3 days free

FAQ

Can I import deals together with contacts from one file?

Yes. In both amoCRM and Kommo the wizard creates a contact and its linked deal from one row: point it to the columns with amount, pipeline and stage. Kai does the same; just say which columns belong to the deal.

How does the CRM detect duplicates during import?

By matching the phone or email against existing cards, which is why phones in the file must share one format with the country code: "(916) 123-4567" and "+19161234567" are different numbers to the CRM.

What if the import went wrong?

If every record got an import tag, filter by it, select them in bulk and delete or fix them. Without a tag you will search the whole base by hand, which is why a 10-row test file goes first.

What happens to my file when I send it to Kai?

The file is used only to read the columns and load the data into the CRM through the official API. Your client base lives in your CRM; Kai does not store contact or deal data. The CRM connects through OAuth 2.0 without passwords; access can be revoked in the CRM settings at any time.

What next

Open the spreadsheet, bring the phones to one format and add the "Source" and "Tag" columns: that is the 10 minutes. Then the CRM import wizard, or the file in the Kai chat. Setting up the whole CRM? Start with the 12-point checklist.

Author: Kai Team · Updated · Wizard steps are described generically; check exact menu names in your CRM's help centre.