Importing companies and people
Bring your accounts in from a spreadsheet — a CRM export, an ERP's customer list, or a file you kept by hand. There are two kinds of file, and three ways to use them:
- One file of people with their companies. Each row is a person, with the company in the same row. Companies are found or created, then the person is linked.
- Two files. First a file of companies, then a file of people with a column that says which company each belongs to (tax number, domain, name or external ID).
- From a company's page. People → Import people imports a file of people straight into that company.
Imports are done in the web panel (CSV or Excel). Open Companies → Import and choose Import companies or Import people with their companies.
Templates
Download the template (CSV or Excel) from the import dialog. It has every built-in column plus your custom fields:
- Companies:
name,domain,website,tax_number,tax_office,phone,email,industry,employee_range,lifecycle_stage,owner_email,parent,external_id,address_street,address_district,address_city,address_postcode,address_country, and your company fields. - People:
first_name,last_name,email,phone,type,marketing_opt_in,company_name,company_tax_number,company_domain,company_external_id,role,title, and your contact fields.
You do not have to use the template's headers. Common names are recognised — "Şirket Adı", "Firma", "Vergi No", "VKN", "Vergi Dairesi", "Sektör", "İl", "İlçe", "Cari Kod", "Ad", "Soyad", "Unvan" and others.
Column mapping
After you choose a file, the dialog reads the first rows and shows every column with the field it will fill. For each column you can:
- point it at a different field,
- ignore it, or
- turn an unknown column into a new custom field (needs contact_fields.manage).
How existing companies are found
A company row is matched against your companies by the first of these the row has and that finds a company:
- external ID
- tax number (spaces, dots and dashes ignored)
- domain (
https://www.acme.com/trandacme.comare the same) - exact name (case does not matter)
You choose what a match means:
- Update it — every non-empty cell overwrites the company's value. An empty cell never erases anything. Custom fields are merged.
- Leave it as it is — the row is counted as skipped.
- Create a new company anyway — no matching at all; every row is a new company.
Some cells are understood loosely: lifecycle_stage takes the five keys or
words like müşteri, aday, iş ortağı; employee_range takes a band or a
plain number (250 becomes 201-500); owner_email must be the email of a
member; parent is matched like a company (external ID, tax number, domain,
name) — put parent companies above their subsidiaries in the file.
How people and their companies are found
People are matched the way the contact import matches them: by email, or — for a row without an email — by phone. A person who already exists is not changed; they are only linked.
The person's company is found by the column you choose under Find each person's company by: best available (external ID, then tax number, then domain, then name), or one of them only. When no company matches:
- with Create companies that do not exist yet on (the default), a company is created from the row's company name, tax number, domain and external ID — this needs organizations.manage;
- with it off, the person is still imported, unlinked, and the row is reported as company not found.
A row with no company columns at all imports the person without a company. The
row's role and title are stored on the link. A person's first company
becomes their primary company.
Importing from a company's page links everyone in the file to that company, whatever the file's company columns say.
The result
Large files run in the background; you can close the dialog and come back. When the run finishes you see:
- Companies: how many were created, updated and skipped.
- People: new people, existing people, links made, companies created and rows skipped.
- The first row problems, by row number — for example an invalid email, an unknown lifecycle, a member who does not exist, a value that does not fit a custom field, a company that was not found. A problem in one cell does not stop the row: the rest of it is imported.
Limits
- One import runs at a time per workspace — a contact import and a company import included.
- Up to 250,000 rows in a CSV file and 50,000 in an Excel file; for larger Excel files, save as CSV.
- A tag chosen in the dialog is added to every company (or person) in the file.