Files
upstream-mirror e7da97194a
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
2026-09-17 23:28:13 +05:00

202 lines
8.0 KiB
Plaintext

---
title: Importujte společnosti pomocí CSV
description: Kompletní podrobný návod krok za krokem k importu společností do Twenty.
---
## Přehled
Tento průvodce vás provede importem vašich společností do Twenty. **Společnosti by se měly importovat jako první**, protože Osoby a Příležitosti se propojují se Společnostmi.
## Než začnete
### Kontrolní seznam předpokladů
<Check>
Váš soubor je ve formátu CSV, XLSX nebo XLS
</Check>
<Check>
Soubor obsahuje méně než 10 000 záznamů
</Check>
<Check>
Žádné duplicitní domény ve vašem souboru
</Check>
<Check>
Všechna vlastní pole existují v **Settings → Data Model**
</Check>
<Note>
Potřebujete importovat více než 10 000 společností? Rozdělte do více souborů nebo použijte [import přes API](/l/cs/user-guide/data-migration/how-tos/import-data-via-api).
</Note>
## Krok 1: Připravte si data společností
### Povinná a doporučená pole
| Pole | Povinné? | Formát | Poznámky |
| ---------------- | ---------- | -------------------- | ------------------------------- |
| **Name** | Doporučeno | Text | Zobrazovaný název společnosti |
| **Doména** | Doporučeno | `https://domain.com` | Jedinečný identifikátor |
| **Adresa** | Volitelné | Více sloupců | Viz níže |
| **Zaměstnanci** | Volitelné | Číslo | Počet zaměstnanců |
| **Vlastní pole** | Volitelné | Různé | Musí existovat v Datovém modelu |
### Formát domény
<Warning>
**Pro domény použijte formát `https://domain.com`.**
To odpovídá formátu používanému při automatickém vytváření Společností ze synchronizace e-mailu/kalendáře, což později zabrání duplicitám.
</Warning>
**Sloupce domény:**
* **Domain / Domain Label**: `acme.com`
* **Domain / Domain URL**: `https://acme.com`
### Formát adresy
Adresa je vnořené pole s více sloupci:
```
Address / Address 1,Address / City,Address / State,Address / Country,Address / Post Code
123 Main Street,San Francisco,CA,USA,94105
```
### Ukázková struktura CSV
```csv
name,Domain / Domain URL,Domain / Domain Label,Address / City,Address / Country,employees
Acme Corp,https://acme.com,acme.com,San Francisco,USA,250
Widget Co,https://widgets.co,widgets.co,New York,USA,50
```
<Note>
**Tip pro profíky:** Během importu klikněte na **Download sample file**, abyste viděli přesné názvy sloupců, které Twenty očekává.
</Note>
## Krok 2: Přejděte na funkci importu
**Možnost 1: Z pohledu Companies**
1. Přejděte na **Companies** v levém postranním panelu
2. Klikněte na ikonu **⋮** vpravo nahoře
3. Vyberte **Import records**
**Možnost 2: Pomocí příkazové nabídky**
1. Stiskněte `Cmd + K` (Mac) nebo `Ctrl + K` (Windows)
2. Napište "import"
3. Vyberte **Import records**
4. Zvolte **Companies**
## Krok 3: Nahrajte svůj soubor
1. Klikněte na **Select file**
2. Vyberte svůj soubor CSV, XLSX nebo XLS
3. Počkejte, až Twenty analyzuje váš soubor
## Krok 4: Namapujte své sloupce
Twenty se automaticky pokusí přiřadit vaše sloupce k polím. Zkontrolujte a upravte:
1. **Zkontrolujte automatická mapování** — ověřte, že jsou správná
2. **Opravte nesprávná mapování** — klikněte na rozbalovací nabídku a vyberte správné pole
3. **Přeskočte sloupce** — vyberte **Do not map** u sloupců, které nechcete importovat
### Důležitá pravidla mapování
* **Doména**: Namapujte na **Domain / Domain URL** (ne na Domain Label)
* **Adresa**: Namapujte každou část do jejího konkrétního sloupce (City, State atd.)
* **Pole typu Select**: Hodnoty se musí shodovat s existujícími možnostmi (nebo je namapujete v dalším kroku)
<img src="/images/user-guide/import-export-data/match-columns.png" style={{width:'100%'}} />
## Krok 5: Mapujte hodnoty polí typu Select
Pokud máte pole typu Select nebo Multi-Select:
1. Twenty zobrazí vaše hodnoty vedle stávajících možností
2. Spárujte každou hodnotu ve svém souboru s možností v Twenty
3. Nebo podle potřeby vytvořte nové možnosti
<Note>
Možnosti typu Select používají **názvy API**, nikoli zobrazované štítky. V části **Nastavení → Datový model** → povolte **Pokročilý režim**, abyste viděli názvy API.
</Note>
## Krok 6: Zkontrolujte a opravte chyby
Před dokončením importu Twenty ověří vaše data:
1. Klikněte na **Další kroky**
2. Řádky s chybami jsou zvýrazněny **žlutě**
3. **Opravte chyby přímo** — klikněte na buňku a upravte hodnotu
4. **Odstraňte problematické řádky** — klikněte na X a řádek přeskočte
### Běžné chyby při importu společností
| Chyba | Příčina | Řešení |
| -------------------------- | ---------------------------- | -------------------------------------------------------- |
| **Duplicitní doména** | Doména již existuje v Twenty | Odstraňte ze souboru nebo aktualizujte existující záznam |
| **Neplatný formát domény** | Nesprávný formát | Použijte `https://domain.com` |
| **Chybí povinné pole** | Povinné pole je prázdné | Doplňte hodnotu nebo řádek odstraňte |
## Krok 7: Dokončete import
1. Zkontrolujte souhrn importu
2. Klikněte na **Potvrdit** pro import
3. Počkejte na dokončení importu
4. Ověřte zkontrolováním několika záznamů
## Po importu společností
Nyní můžete importovat záznamy, které se propojují se Společnostmi:
1. **[Import Osob](/l/cs/user-guide/data-migration/how-tos/import-contacts-via-csv)** — propojte je se Společnostmi pomocí domény
2. **Importujte Příležitosti** — propojte je se Společnostmi
3. **Ověřte import** — namátkově zkontrolujte několik záznamů, abyste se ujistili, že data jsou správná
## Aktualizace stávajících společností
Chcete-li aktualizovat společnosti místo vytváření nových:
1. Zahrňte do svého souboru sloupec `domain` nebo `id`
2. Twenty páruje záznamy podle tohoto jedinečného identifikátoru
3. Existující společnosti se aktualizují; nové se vytvoří
Podrobnosti viz [Jak aktualizovat existující záznamy](/l/cs/user-guide/data-migration/how-tos/update-existing-records-via-import).
## Časté dotazy
<AccordionGroup>
<Accordion title="Proč nemohou mít dvě Společnosti stejnou doménu?">
Doména je v Twenty jedinečný identifikátor. Tím se předchází duplicitním společnostem a zajišťuje se, že synchronizace e-mailů správně propojí e-maily se správnou společností.
</Accordion>
<Accordion title="Co když mám společnosti bez domény?">
Doménu můžete nechat prázdnou. Doporučujeme však domény přidat, kdykoli je to možné, pro lepší kvalitu dat a automatické propojování e-mailů.
</Accordion>
<Accordion title="Mohu importovat společnosti bez jakýchkoli propojených Osob?">
Ano! Nejprve můžete importovat společnosti, poté importovat osoby a propojit je pomocí firemní domény.
</Accordion>
<Accordion title="Co se stane, když naimportuji doménu, která už existuje?">
Pokud zahrnete jedinečný identifikátor (doménu nebo id), který odpovídá existující společnosti, Twenty tuto společnost aktualizuje místo vytvoření duplikátu.
</Accordion>
<Accordion title="Jak opravím chyby 'duplicate domain'?">
Buď odstraňte duplikát ze svého souboru, nebo uveďte `id` společnosti, abyste místo toho aktualizovali existující záznam.
</Accordion>
</AccordionGroup>
## Řešení potíží
Máte potíže? Podívejte se na:
* [Jak opravit chyby importu](/l/cs/user-guide/data-migration/how-tos/fix-import-errors)
* [Referenční příručka mapování polí](/l/cs/user-guide/data-migration/capabilities/field-mapping)
* [Omezení jedinečnosti](/l/cs/user-guide/data-migration/capabilities/uniqueness-constraints)