Import from a spreadsheet
An admin or the owner imports companies, contacts and deals from a CSV file with Import on the Customers page. You check which column holds what, see a preview of what is new and what is linked to records you already have, and then import exactly that preview.
Who can import, and where?
Section titled “Who can import, and where?”An admin or the owner, from the Customers page. Import sits at the top, beside New lead and New customer, and opens Import companies, contacts and deals. An approver and a read-only member do not see the button.
The rule is enforced on the server too, not only on the button. Anyone below admin is refused the import and the preview alike, because planning a preview reads your workspace’s companies to find the ones a line links to.
The platform’s own workspace has no Import button: it keeps its companies in Dynamics, not in the built-in CRM. The server refuses an import there as well. Every other workspace keeps its CRM in Business-Gym, as Where does your CRM data live? explains.
How do I import a spreadsheet?
Section titled “How do I import a spreadsheet?”In four steps, in this order. Nothing is written before the last one.
- Choose the file. The dialog says “CSV files only. In Excel: File > Save as > CSV (comma or semicolon separated).” Your browser reads the file as soon as you pick it.
- Check which column holds what. The dialog says, for example, “120 rows found. Which column holds what?” and lists every field it can import: Company, Web domain, Type (lead, prospect, customer), Contact name, Contact e-mail, Contact phone, Contact role, Deal, Deal stage, Deal value (EUR) and Expected close. Each field starts on the column whose header the dialog recognises for it, or on (not imported) when no header matches. Change any of them, or set a field to (not imported).
- Look at the preview. Preview asks the server what the import would do and writes nothing. It stays unavailable until a column is chosen for Company.
- Import. The dialog’s own Import button carries out exactly that preview.
The file itself is never uploaded. Only the fields you mapped are sent, once for the preview and again for the import, so a column left at (not imported) never leaves your browser. The preview has no button back to the columns: to change a column, close the dialog with Cancel and start again.
What does the file need to look like?
Section titled “What does the file need to look like?”A header line, then at most 500 rows, each one company with up to one contact and one deal. Only the company name is required. A longer file stops at once with “This file has 812 rows. Import at most 500 at a time.”
- Characters: UTF-8, with or without a byte order mark. A file that is not valid UTF-8 is read as Windows-1252, so the umlauts of an Excel CSV not saved as UTF-8 come through.
- Separators: semicolon, comma or tab, recognised from the first line of the file. A value in double quotes may contain the separator or a line break.
- Column headers: German, English and French names are recognised, such as Firma, Company or Entreprise, and Betrag, Amount or Montant. A header must match as a whole, in any capitals. A column headed just Name is guessed to be the contact’s name, not the company’s, so check the guesses. A column with no header is offered by its position, such as Column 3 for the third.
- Type: lead, prospect or customer, in any capitals. Any other word, such as Kunde, makes the line not read. A new company with no type is a prospect.
- Amounts are euros. A € sign, “EUR” and spaces are ignored. Dates are read in two forms, 31.12.2026 and 2026-12-31, each with a four-digit year.
| In the file | Read as |
|---|---|
| 1.234,50 or 1,234.50 | 1234.50 |
| 1.234.567 | 1234567 |
| 1234,5 | 1234.5 |
| 1.234 or 1,234 | not read: the line is listed |
| 31.12.2026 or 2026-12-31 | 31 December 2026 |
| 31.02.2026 or 31.12.26 | not read: the line is listed |
What happens to a line that cannot be read?
Section titled “What happens to a line that cannot be read?”It is left out and listed, never guessed. A line is not read when its company is empty, or when its amount, date, e-mail address or type cannot be read. A value that could mean two things, like 1.234, counts as not read, and so does a negative amount.
A line is also left out and listed when the import would refuse one of its values: an e-mail address it does not accept, such as one with an umlaut, an amount over one trillion euros, or a text longer than its field allows. The limits are 300 characters for Company, 253 for Web domain, 200 for Contact name, Contact role and Deal, 80 for Deal stage and 60 for Contact phone. A contact with no name takes its e-mail address as its name, so an address over 200 characters is listed under Contact name. The other lines are still previewed.
The preview then says, for example, “3 rows of the file could not be read and will not be imported:”, followed by entries such as Line 7: Deal value (EUR) “1.234”. The first 20 entries are shown, and a value over 40 characters is cut to its first 40, followed by an ellipsis (…). Line numbers count the header as line 1 and skip blank lines, and a quoted value with a line break in it stays part of one line. If no line can be read at all, the dialog says “No row of this file could be read. Check the column for the company.”
What does the preview show?
Section titled “What does the preview show?”What every readable line would do. A summary such as “New companies: 12. Linked to companies you have: 3. New contacts: 10. New deals: 8. Skipped: 1.” comes first, then one entry per line: creates Acme GmbH, linked to Acme GmbH, or why the line is skipped.
A line looks only in your own workspace for what you already have:
- A company matches first by web domain, then by name, ignoring capitals. For the domain, https://, www. and any path are ignored, so https://www.acme.de/about is acme.de. Only active companies match; an archived one is never linked. Lines that name a company you do not have yet create it once between them when they share a web domain, or have no web domain and share a name.
- A contact matches by e-mail address. A match at the line’s own company is linked; a match at another company skips the line, as below. With no match, a contact is created when the line has a name or an e-mail address; the address stands in for a missing name. Either way, it becomes the main contact of the line’s deal.
- A deal is created for every line with a Deal value that is not skipped. Deals are never matched.
A line is skipped, and says why, in two cases:
- “skipped - that company is kept in an outside CRM”: the line brings a contact or a deal for a company an outside CRM masters. A line with only that company is linked, and nothing is written to it.
- “skipped - this person is already a contact of another company”: the e-mail address belongs to a contact of a different company in your workspace, including when the line’s own company would be new. An import does not move a person between companies.
What happens when I click Import?
Section titled “What happens when I click Import?”The server plans the import again and compares the result with your preview. If they match, each line is written in turn and gets its own result. If they differ, nothing is written.
They differ when a company or contact was added or changed since your preview in a way that changes what a line would do. The dialog then says “Something changed since the preview: a company or contact was added or changed. Make the preview again.” and goes back to the columns, as you had mapped them. Click Preview, check the new preview, then click Import.
The dialog ends with a summary such as “Imported: 20. Partly imported: 1. Failed: 0. Skipped: 2.”, and lists each line that was partly imported or not imported, with the reason after a dash:
| Result | What it means |
|---|---|
| Imported | Everything the preview showed for the line was written or linked. |
| partly imported (the company is there, the rest is not) | The company was written or linked, but its contact or its deal could not be. What was written stays; it is not rolled back. |
| not imported | The company could not be written, so nothing of the line was. A later line of the same company tries to create it again. |
| Skipped | The line was skipped in the preview, for the reason shown there. |
Lines that could not be read are not in these counts: they were never sent.
The import is recorded as one entry in the Audit log, with how many lines were imported, partly imported, failed and skipped. Each company, contact and deal it creates is recorded too, as one you create by hand is.
Does an import change records I already have?
Section titled “Does an import change records I already have?”Only through the won-deal rule: a deal imported at the won stage can make its company a customer. Apart from that, an import creates or links, nothing else.
A company or contact you already have is linked as it is: the file’s web domain, type, phone or role for it is not written to it, and a person is never moved to another company. A company kept in an outside CRM gets no contact and no deal from an import.
The won-deal rule is the usual one, not the import’s own. A deal imported at the won stage makes its company a customer if it was a lead or a prospect, exactly as marking the deal won by hand would, and that includes a company you already had.
Which stage does an imported deal go to?
Section titled “Which stage does an imported deal go to?”The one in your Deal stage column, stored as written, or lead when there is none. It is not matched against the names your stages show, so write the stage’s key, not a name you gave it.
If the Deal stage is the key of a stage you archived, the line gets no deal. Its company, and its contact if it has one, are still written or linked, and the dialog lists the line as partly imported (the company is there, the rest is not) - its stage is archived. The preview cannot tell and counts the deal as new. A line with no stage goes to lead, even when lead is archived.
For the six stages every workspace starts with, the keys are lead, qualified, proposal, negotiation, won and lost. A value that is not one of your workspace’s stage keys appears on the Pipeline board in a column of its own, after your stages. How keys and names relate is in Your pipeline stages, and working with the deals afterwards is in Create and manage deals.
Can I import the same file twice?
Section titled “Can I import the same file twice?”You can, but it is not an update. The second time, the companies and the contacts with an e-mail address that the first import created are linked, but every deal is created again, and so is every contact without an e-mail address.
To bring in lines that were not read, fix them and import those lines in a file of their own.