i18n - docs translations (#17433)

Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
github-actions[bot]
2026-01-26 07:11:01 +01:00
committed by GitHub
parent c8c821a692
commit 2353bc62cc
361 changed files with 20096 additions and 17317 deletions
@@ -1,76 +1,76 @@
---
title: Error Handling & Validation
description: Review and fix import errors directly in the UI before confirming.
title: Gestion des erreurs et validation
description: Examinez et corrigez les erreurs d'importation directement dans l'interface avant de confirmer.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Pre-Import Validation
## Validation préalable à l'importation
After uploading your file and mapping fields, Twenty validates your data **before** importing. This allows you to catch and fix errors without affecting your existing data.
Après avoir téléversé votre fichier et fait la correspondance des champs, Twenty valide vos données **avant** l'importation. Cela vous permet de détecter et de corriger les erreurs sans affecter vos données existantes.
## How It Works
## Comment ça marche
1. **Upload** your CSV file
2. **Map** your columns to Twenty fields
3. **Review** the potential errors highlighted in yellow
4. **Fix errors** directly in the UI
5. **Confirm** the import
1. **Téléversez** votre fichier CSV
2. **Faites correspondre** vos colonnes aux champs de Twenty
3. **Passez en revue** les erreurs potentielles mises en évidence en jaune
4. **Corrigez les erreurs** directement dans l'interface
5. **Confirmez** l'importation
<VimeoEmbed videoId="1145273857" title="Video demonstration" />
<VimeoEmbed videoId="1145273857" title="monstration vidéo" />
## Error Display
## Affichage des erreurs
Rows with issues are highlighted in **yellow**. You can:
Les lignes présentant des problèmes sont mises en évidence en **jaune**. Vous pouvez :
* **Edit the cell directly** to fix the error
* **Remove the row** to skip it entirely
* **Modifiez la cellule directement** pour corriger l'erreur
* **Supprimez la ligne** pour l'ignorer complètement
This inline editing saves time—no need to go back to your spreadsheet, fix errors, and re-upload.
Cette modification en ligne vous fait gagner du temps — inutile de revenir à votre feuille de calcul, de corriger les erreurs et de téléverser à nouveau.
## Common Error Types
## Types d'erreurs courants
### Duplicate Values
### Valeurs en double
**Cause**: A unique field (email, domain) already exists in Twenty or appears twice in your file.
**Cause** : Un champ unique (email, domaine) existe déjà dans Twenty ou apparaît deux fois dans votre fichier.
**Fix**:
**Correctif** :
* Edit the duplicate value in the import UI
* Remove one of the duplicate rows
* Modifiez la valeur en double dans l'interface d'importation
* Supprimez l'une des lignes en double
See [Uniqueness Constraints](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) for more details on how uniqueness is enforced.
Voir [Contraintes d'unicité](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) pour plus de détails sur la façon dont l'unicité est appliquée.
### Invalid Format
### Format invalide
**Cause**: Data doesn't match the expected format (e.g., invalid email, wrong date format).
**Cause** : Les données ne correspondent pas au format attendu (p. ex., email invalide, format de date incorrect).
**Fix**: Edit the cell to use the correct format.
**Correctif** : Modifiez la cellule pour utiliser le format correct.
See [Field Mapping](/l/fr/user-guide/data-migration/capabilities/field-mapping) for the expected format of each field type.
Voir [Correspondance des champs](/l/fr/user-guide/data-migration/capabilities/field-mapping) pour le format attendu de chaque type de champ.
### Missing Required Fields
### Champs obligatoires manquants
**Cause**: A required field is empty.
**Cause** : Un champ obligatoire est vide.
**Fix**: Enter a value in the required field or remove the row.
**Correctif** : Saisissez une valeur dans le champ obligatoire ou supprimez la ligne.
### Relation Not Found
### Relation introuvable
**Cause**: The referenced record doesn't exist (e.g., a Company domain that wasn't imported).
**Cause** : L'enregistrement référencé n'existe pas (p. ex., un domaine d'entreprise qui n'a pas été importé).
**Fix**:
**Correctif** :
* Import the parent records first
* Or correct the reference value
* Importez d'abord les enregistrements parents
* Ou corrigez la valeur de référence
See [Import Relations](/l/fr/user-guide/data-migration/capabilities/import-relations) for the correct import order and how to link records.
Voir [Importation des relations](/l/fr/user-guide/data-migration/capabilities/import-relations) pour l'ordre d'importation correct et la manière de lier les enregistrements.
## Tips for Fewer Errors
## Conseils pour réduire les erreurs
1. **Download the template** to see expected format prior to importing your file
2. **Clean your data** in the spreadsheet first
3. **Import files in correct order** to import relations (Companies → People → Opportunities)
4. **Test with small batches** before full import
5. **Check for duplicates** before uploading
6. **Limit the size of your file to 10,000 records** per file
1. **Téléchargez le modèle** pour voir le format attendu avant d'importer votre fichier
2. **Nettoyez vos données** d'abord dans votre feuille de calcul
3. **Importez les fichiers dans le bon ordre** pour importer les relations (Entreprises → Personnes → Opportunités)
4. **Testez avec de petits lots** avant l'importation complète
5. **Vérifiez les doublons** avant de téléverser
6. **Limitez la taille de votre fichier à 10 000 enregistrements** par fichier
@@ -164,11 +164,11 @@ Phone is a nested field with multiple columns that **must be filled**
Use the API name format: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
### Relation Fields
### Champs de relation
Please see our dedicated article: [Import Relations Between Objects](/l/fr/user-guide/data-migration/capabilities/import-relations)
### Select Fields
### Champs de sélection
Use the **API name** of the option (not the display label):
@@ -176,23 +176,23 @@ Use the **API name** of the option (not the display label):
VALUE1
```
See [here](#finding-api-names-for-select-fields) where to find the API names.
<Note>New select options will not be created automatically by the import. They must be added under **Settings → Data Model** before importing.</Note>
Voir [ici](#finding-api-names-for-select-fields) où trouver les noms d'API.
<Note>Les nouvelles options de sélection ne seront pas créées automatiquement par l'importation. Elles doivent être ajoutées sous **Paramètres → Modèle de données** avant l'importation.</Note>
### Text Fields
### Champs de texte
* No special formatting required
* Leading/trailing spaces are trimmed
* Aucun formatage particulier requis
* Les espaces au début et à la fin sont supprimés
## Finding API Names
## Recherche des noms d'API
For Select, Multi-Select, and Array fields with predefined options, you must use the **API names**, not the display labels.
Pour les champs Select, Multi-Select et Array avec des options prédéfinies, vous devez utiliser les **noms d'API**, et non les libellés affichés.
### How to Find API Names
### Comment trouver les noms d'API
1. Go to **Settings → Data Model**
2. Select the object and field
3. Enable **Advanced mode** (toggle at the bottom right of the settings page)
4. View the API name for each option
1. Allez dans **Paramètres → Modèle de données**
2. Sélectionnez l'objet et le champ
3. Activez le **mode avancé** (bouton à bascule en bas à droite de la page des paramètres)
4. Affichez le nom d'API pour chaque option
<VimeoEmbed videoId="1144910809" title="Video demonstration" />
<VimeoEmbed videoId="1144910809" title="monstration vidéo" />
@@ -1,48 +1,48 @@
---
title: Supported File Formats
description: File formats supported for data import in Twenty.
title: Formats de fichiers pris en charge
description: Formats de fichiers pris en charge pour limportation de données dans Twenty.
---
## Supported Formats
## Formats pris en charge
Twenty supports three file formats for import:
Twenty prend en charge trois formats de fichiers pour limportation :
| Format | Extension | Notes |
| ------------------ | --------- | ---------------------------- |
| **CSV** | .csv | Recommended, most compatible |
| **Excel** | .xlsx | Modern Excel format |
| **Excel (Legacy)** | .xls | Older Excel format |
| Format | Extension | Notes |
| ------------------ | --------- | ------------------------------ |
| **CSV** | .csv | Recommandé, le plus compatible |
| **Excel** | .xlsx | Format Excel moderne |
| **Excel (hérité)** | .xls | Ancien format Excel |
## File Requirements
## Exigences relatives aux fichiers
| Requirement | Value |
| ---------------- | ------------------------------------- |
| **Encoding** | UTF-8 recommended |
| **Record limit** | 10,000 records per file |
| **Structure** | First row must contain column headers |
| **Content** | One object type per file |
| Exigence | Valeur |
| ---------------------------- | -------------------------------------------------------- |
| **Encodage** | UTF-8 recommandé |
| **Limite denregistrements** | 10 000 enregistrements par fichier |
| **Structure** | La première ligne doit contenir les en-têtes de colonnes |
| **Contenu** | Un seul type dobjet par fichier |
## CSV Best Practices
## Meilleures pratiques pour les fichiers CSV
* **Delimiter**: Use comma (`,`) or semicolon (`;`)
* **Text qualifier**: Use double quotes (`"`) for text containing commas
* **Line endings**: Windows (CRLF) or Unix (LF) both supported
* **Empty values**: Leave cells empty, don't use "NULL" or "N/A"
* **Délimiteur** : Utilisez une virgule (`,`) ou un point-virgule (`;`)
* **Délimiteur de texte** : Utilisez des guillemets doubles (`\"`) pour le texte contenant des virgules
* **Fins de ligne** : Windows (CRLF) ou Unix (LF) sont tous deux pris en charge
* **Valeurs vides** : Laissez les cellules vides, nutilisez pas "NULL" ni "N/A"
## Excel Best Practices
## Meilleures pratiques pour Excel
When exporting from Excel:
Lors de lexportation depuis Excel :
* Remove formulas (export values only)
* Delete empty rows at the end
* Ensure no merged cells
* Use the first sheet only
* Supprimez les formules (exportez uniquement les valeurs)
* Supprimez les lignes vides à la fin
* Assurez-vous quaucune cellule nest fusionnée
* Utilisez uniquement la première feuille
## Large Datasets
## Jeux de données volumineux
For datasets larger than 10,000 records:
Pour les jeux de données de plus de 10 000 enregistrements :
* Split into multiple files
* Or use the [API import](/l/fr/user-guide/data-migration/how-tos/import-data-via-api) for unlimited records
* Divisez en plusieurs fichiers
* Ou utilisez l[importation via lAPI](/l/fr/user-guide/data-migration/how-tos/import-data-via-api) pour un nombre illimité denregistrements
<Note>For very large migrations (100,000+ records), the API is significantly faster and more reliable than CSV imports.</Note>
<Note>Pour des migrations très volumineuses (plus de 100 000 enregistrements), lAPI est nettement plus rapide et plus fiable que les importations CSV.</Note>
@@ -1,94 +1,94 @@
---
title: Import Relations Between Objects
description: Import relationships between records via CSV.
title: Importer des relations entre objets
description: Importer des relations entre enregistrements via CSV.
---
## Overview
## Vue d'ensemble
Twenty supports importing relationships between objects during CSV import. This allows you to link records (e.g., attach People to Companies) as part of your data migration.
Twenty prend en charge l'importation de relations entre objets lors de l'importation CSV. Cela vous permet de lier des enregistrements (p. ex., associer des Personnes à des Entreprises) dans le cadre de votre migration de données.
<Note>**Currently supported for import**: One-to-many relations pointing to a single object type on each side (e.g., People → Companies). Relations pointing to multiple object types are not yet supported in import/export.</Note>
<Note>**Actuellement pris en charge pour l'importation** : Relations un-à-plusieurs pointant vers un seul type d'objet de chaque côté (p. ex., Personnes → Entreprises). Les relations pointant vers plusieurs types d'objet ne sont pas encore prises en charge pour l'import/export.</Note>
## How Relations Work in Twenty
## Fonctionnement des relations dans Twenty
### One to Many / Many to One
### Un à plusieurs / Plusieurs à un
Twenty supports standard relations where one record links to many others:
Twenty prend en charge des relations standard où un enregistrement est lié à plusieurs autres :
* **One Company → Many People**: A company can have multiple employees, but each person belongs to one company
* **One Company → Many Opportunities**: A company can have multiple deals, but each opportunity belongs to one company
* **Une Entreprise → Plusieurs Personnes** : Une entreprise peut avoir plusieurs employés, mais chaque personne appartient à une seule entreprise
* **Une Entreprise → Plusieurs Opportunités** : Une entreprise peut avoir plusieurs affaires, mais chaque opportunité appartient à une seule entreprise
### Relations That Can Point to Multiple Object Types
### Relations pouvant pointer vers plusieurs types d'objet
Some relations can connect to different types of objects. This works in two ways:
Certaines relations peuvent se connecter à différents types d'objets. Cela fonctionne de deux façons :
**Pattern 1: Many records linking to one record each from different object types**
**Modèle 1 : De nombreux enregistrements liés chacun à un enregistrement provenant de différents types d'objets**
Several Notes, Tasks, or Activities can each be attached to multiple object types at once:
Plusieurs Notes, Tâches ou Activités peuvent chacune être rattachées simultanément à plusieurs types d'objets :
* **Notes** can be linked to one Person, one Company, and one Opportunity simultaneously
* **Tasks** can be linked to one Person, one Company, and one Opportunity simultaneously
* **Notes** peuvent être liées à une Personne, une Entreprise et une Opportunité simultanément
* **Tâches** peuvent être liées à une Personne, une Entreprise et une Opportunité simultanément
Here, the Notes/Tasks are on the "many" side. Each links to one record per object type.
Ici, les Notes/Tâches sont du côté "plusieurs". Chacune est liée à un enregistrement par type d'objet.
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
**Pattern 2: One record receiving links from many records of different object types**
**Modèle 2 : Un enregistrement recevant des liens de nombreux enregistrements de différents types d'objets**
A Project can receive links from multiple records across different object types:
Un Projet peut recevoir des liens de plusieurs enregistrements provenant de différents types d'objets :
* **A Project** can have many People linked to it, many Companies linked to it, and many Notes attached to it
* **Un Projet** peut avoir de nombreuses Personnes qui lui sont liées, de nombreuses Entreprises qui lui sont liées, et de nombreuses Notes qui y sont rattachées
Here, the Project is on the "one" side. Multiple records from different objects can all link to the same Project.
Ici, le Projet est du côté "un". Plusieurs enregistrements issus d'objets différents peuvent tous être liés au même Projet.
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**Import/Export limitation**: Relations that point to multiple object types (like Notes → People/Companies/Opportunities) are **not yet supported** in CSV import or export.
**Limitation d'import/export** : Les relations qui pointent vers plusieurs types d'objet (comme Notes → Personnes/Entreprises/Opportunités) ne sont **pas encore prises en charge** lors de l'import ou de l'export CSV.
* **Import**: Only one-to-many relations pointing to a single object type on each side can be imported
* **Export**: Columns for relations pointing to multiple object types are currently left empty
* **Import** : Seules les relations un-à-plusieurs pointant vers un seul type d'objet de chaque côté peuvent être importées
* **Export** : Les colonnes pour les relations pointant vers plusieurs types d'objet sont actuellement laissées vides
This is on our roadmap.
C'est sur notre feuille de route.
</Warning>
### What's Not Supported Today
### Ce qui n'est pas pris en charge aujourd'hui
**Many to Many relations** are not yet available. For example, you cannot currently create a relation where:
**Les relations plusieurs à plusieurs** ne sont pas encore disponibles. Par exemple, vous ne pouvez pas actuellement créer une relation :
* Many People are linked to many Projects
* De nombreuses Personnes sont liées à de nombreux Projets
<Note>Many to Many relations are planned for H1 2026.</Note>
<Note>Les relations plusieurs à plusieurs sont prévues pour S1 2026.</Note>
## Linking Records During Import
## Lier des enregistrements lors de l'importation
<Note>**Reminder**: Only one-to-many relations pointing to a single object type can be imported (e.g., People → Companies). Relations pointing to multiple object types (e.g., Notes → People/Companies/Opportunities) are not yet supported.</Note>
<Note>**Rappel** : Seules les relations un-à-plusieurs pointant vers un seul type d'objet peuvent être importées (p. ex., Personnes → Entreprises). Les relations pointant vers plusieurs types d'objet (p. ex., Notes → Personnes/Entreprises/Opportunités) ne sont pas encore prises en charge.</Note>
### Step 1: Identify the "One" and "Many" Sides
### Étape 1 : Identifier les côtés "un" et "plusieurs"
First, determine which object is on the "one" side and which is on the "many" side of the relationship.
Commencez par déterminer quel objet est du côté "un" et lequel est du côté "plusieurs" de la relation.
**Example**:
**Exemple**:
* **Company** is the "one" side (one company has many employees)
* **People** is the "many" side (each person belongs to one company)
* **Entreprise** est le côté "un" (une entreprise a de nombreux employés)
* **Personnes** est le côté "plusieurs" (chaque personne appartient à une seule entreprise)
### Step 2: Ensure the "One" Side Records Exist
### Étape 2 : Assurez-vous que les enregistrements du côté "un" existent
Before importing the "many" side, the "one" side records must already exist in Twenty.
Avant d'importer le côté "plusieurs", les enregistrements du côté "un" doivent déjà exister dans Twenty.
* Import or create the "one" side records first (e.g., Companies)
* Validate their unique identifier. This can be:
* The `id` (Twenty's UUID)
* A field set as unique (e.g., `domain` for Companies, or an external ID from your previous system)
* Importez ou créez d'abord les enregistrements du côté "un" (p. ex., Entreprises)
* Validez leur identifiant unique. Cela peut être :
* L'`id` (UUID de Twenty)
* Un champ défini comme unique (p. ex., `domain` pour les Entreprises, ou un identifiant externe provenant de votre système précédent)
<Warning>The import will fail if a reference is made to a record that does not exist.</Warning>
<Warning>L'importation échouera si une référence est faite à un enregistrement inexistant.</Warning>
### Step 3: Prepare Your CSV File
### Étape 3 : Préparer votre fichier CSV
Add a column in your "many" side CSV file that references the "one" side record.
Ajoutez une colonne dans votre fichier CSV du côté "plusieurs" qui référence l'enregistrement du côté "un".
**Example**: For a People CSV file linking to Companies:
**Exemple** : Pour un fichier CSV Personnes lié aux Entreprises :
```
firstName,lastName,email,companyDomain
@@ -96,53 +96,53 @@ John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**Important**:
**Important** :
* The value must **exactly match** the unique field on the Company record
* For domains, use the **Domain URL** (e.g., `https://acme.com`), not the Domain Label
* Map only **one** unique identifier per relation: this leads to a smoother import
* La valeur doit **correspondre exactement** au champ unique de l'enregistrement de l'Entreprise
* Pour les domaines, utilisez l'**URL de domaine** (p. ex., `https://acme.com`), pas le libellé de domaine
* N'associez qu'**un seul** identifiant unique par relation : cela rendra l'importation plus fluide
### Step 4: Ensure the Relation Field Exists
### Étape 4 : Vérifier que le champ de relation existe
Before uploading your file, make sure the relation field exists between your objects.
Avant de téléverser votre fichier, assurez-vous que le champ de relation existe entre vos objets.
If it doesn't exist:
S'il n'existe pas :
1. Go to **Settings → Data Model**
2. Select your object (e.g., People)
3. Create a relation field pointing to the target object (e.g., Company)
1. Allez dans **Paramètres → Modèle de données**
2. Sélectionnez votre objet (p. ex., Personnes)
3. Créez un champ de relation pointant vers l'objet cible (p. ex., Entreprise)
### Step 5: Upload and Map the Relation
### Étape 5 : Téléverser et associer la relation
1. Upload your CSV file via the import UI
2. In the field mapping step, find your relation column (e.g., `companyDomain`)
3. Map it to the relation field (e.g., Company)
4. Twenty will automatically link each record to the matching parent
1. Téléversez votre fichier CSV via l'interface d'importation
2. À l'étape de correspondance des champs, trouvez votre colonne de relation (p. ex., `companyDomain`)
3. Associez-la au champ de relation (p. ex., Entreprise)
4. Twenty liera automatiquement chaque enregistrement au parent correspondant
### Available Unique Fields for Relations
### Champs uniques disponibles pour les relations
| Object | Unique Fields Available |
| ------------------------------------- | --------------------------------------- |
| **Companies** | `id`, `domain`, any custom unique field |
| **People** | `id`, `email`, any custom unique field |
| **Workspace Members** | `id`, `email` (not name) |
| **Other standard and custom objects** | `id`, any field marked as unique |
| Objet | Champs uniques disponibles |
| ------------------------------------------- | ---------------------------------------------- |
| **Entreprises** | `id`, `domain`, tout champ unique personnalisé |
| **Personnes** | `id`, `email`, tout champ unique personnalisé |
| **Membres de l'espace de travail** | `id`, `email` (pas le nom) |
| **Autres objets standard et personnalisés** | `id`, tout champ marqué comme unique |
<Note>**Linking to Workspace Members**: When the relation points to Workspace Members (your team logging into Twenty), reference them by their **email address**, not their name.</Note>
<Note>**Liaison vers les membres de l'espace de travail** : Lorsque la relation pointe vers des membres de l'espace de travail (votre équipe se connectant à Twenty), référencez-les par leur **adresse e-mail**, et non par leur nom.</Note>
<Note>We recommend using `domain` for Companies and `email` for People, as these are human-readable and easy to maintain in spreadsheets.</Note>
<Note>Nous recommandons d'utiliser `domain` pour les Entreprises et `email` pour les Personnes, car ces valeurs sont lisibles par l'humain et faciles à maintenir dans les feuilles de calcul.</Note>
<Note>**Reminder**: Soft-deleted records (visible under Command Menu → See deleted records) count toward uniqueness criteria. If you import a record with the same unique value as a deleted record, the deleted record will be restored. See [Uniqueness Constraints](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) for more details.</Note>
<Note>**Rappel** : Les enregistrements supprimés de manière logique (visibles sous Menu Commandes → Voir les enregistrements supprimés) comptent pour les critères d'unicité. Si vous importez un enregistrement avec la même valeur unique qu'un enregistrement supprimé, l'enregistrement supprimé sera restauré. Voir [Contraintes d'unicité](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) pour plus de détails.</Note>
## Import Order Rule
## Règle d'ordre d'importation
<Warning>
**Always import the "one" side first!**
**Importez toujours d'abord le côté "un" !**
1. **Companies** first (no dependencies)
2. **People** second (linked to Companies)
3. **Opportunities** third (linked to Companies/People)
4. **Custom objects** following their dependencies
1. **Entreprises** d'abord (aucune dépendance)
2. **Personnes** en second (liées aux Entreprises)
3. **Opportunités** en troisième (liées aux Entreprises/Personnes)
4. **Objets personnalisés** en suivant leurs dépendances
The parent record must exist before you can reference it.
L'enregistrement parent doit exister avant que vous puissiez y faire référence.
</Warning>
@@ -1,72 +1,72 @@
---
title: Uniqueness Constraints
description: How Twenty enforces data uniqueness during import.
title: Contraintes d'unicité
description: Comment Twenty impose l'unicité des données lors de l'importation.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Overview
## Vue d'ensemble
Twenty enforces uniqueness on certain fields to prevent duplicate records and ensure data integrity. Understanding these constraints is essential for successful imports.
Twenty impose l'unicité sur certains champs afin d'éviter les doublons et d'assurer l'intégrité des données. Comprendre ces contraintes est essentiel pour des importations réussies.
## Default Unique Fields
## Champs uniques par défaut
| Object | Unique Fields |
| ------------------ | ---------------------- |
| **People** | `id`, `email` |
| **Companies** | `id`, `domain` |
| **Custom objects** | `id` only (by default) |
| Objet | Champs uniques |
| ------------------------ | ---------------------------- |
| **Personnes** | `id`, `email` |
| **Entreprises** | `id`, `domain` |
| **Objets personnalisés** | `id` uniquement (par défaut) |
<Note>The `id` field is Twenty's internal identifier, auto-generated for each record. It uses UUID format (e.g., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
<Note>Le champ `id` est l'identifiant interne de Twenty, généré automatiquement pour chaque enregistrement. Il utilise le format UUID (par exemple, `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
## Custom Unique Fields
## Champs uniques personnalisés
You can define additional unique fields under **Settings → Data Model**:
Vous pouvez définir des champs uniques supplémentaires sous **Paramètres → Modèle de données** :
1. Go to **Settings → Data Model**
2. Select the object
3. Click on a field
4. Enable **Unique** in field settings
1. Allez dans **Paramètres → Modèle de données**
2. Sélectionnez l'objet
3. Cliquez sur un champ
4. Activez **Unique** dans les paramètres du champ
### Use Cases for Custom Unique Fields
### Cas d'utilisation pour les champs uniques personnalisés
* **External IDs**: Store IDs from other systems (Salesforce ID, HubSpot ID)
* **Business identifiers**: Employee numbers, customer codes
* **Alternative contact info**: LinkedIn profile, phone number
* **ID externes** : Stockez les ID provenant d'autres systèmes (Salesforce ID, HubSpot ID)
* **Identifiants métier** : Numéros d'employé, codes client
* **Coordonnées alternatives** : Profil LinkedIn, numéro de téléphone
<Note>The field name `id` is reserved for Twenty's internal ID. Use a different name like `externalId` or `legacyId` for external identifiers.</Note>
<Note>Le nom de champ `id` est réservé à l'ID interne de Twenty. Utilisez un nom différent comme `externalId` ou `legacyId` pour les identifiants externes.</Note>
## Import Behavior
## Comportement de l'importation
### Creating New Records
### Création de nouveaux enregistrements
If a unique field value doesn't exist, a new record is created.
Si la valeur d'un champ unique n'existe pas, un nouvel enregistrement est créé.
### Updating Existing Records
### Mise à jour des enregistrements existants
If a unique field value matches an existing record, that record is **updated** with the new data.
<Warning>To **update existing records**, it is recommended to **only match one unique field**.</Warning>
Si la valeur d'un champ unique correspond à un enregistrement existant, cet enregistrement est **mis à jour** avec les nouvelles données.
<Warning>Pour **mettre à jour des enregistrements existants**, il est recommandé de **ne faire correspondre qu'un seul champ unique**.</Warning>
### Soft-Deleted Records
### Enregistrements supprimés de manière logique
<Warning>
**Deleted records count toward uniqueness.**
**Les enregistrements supprimés de manière logique comptent pour l'unicité.**
Soft-deleted records (visible under Command Menu → See deleted records) are included in uniqueness checks. If you import a record with the same unique value as a deleted record, the deleted record will be **restored** with the new data.
Les enregistrements supprimés de manière logique (visibles sous Menu Commandes → Voir les enregistrements supprimés) sont inclus dans les vérifications d'unicité. Si vous importez un enregistrement avec la même valeur unique qu'un enregistrement supprimé, l'enregistrement supprimé sera **restauré** avec les nouvelles données.
</Warning>
## Duplicate Detection During Import
## Détection des doublons lors de l'importation
During the validation phase:
Pendant la phase de validation :
* Duplicates within your file are highlighted in yellow
* You can edit or remove duplicate rows from the UI before starting the import
* Les doublons dans votre fichier sont surlignés en jaune
* Vous pouvez modifier ou supprimer les lignes en double depuis l'interface avant de lancer l'importation
<VimeoEmbed videoId="1145246326" title="Video demonstration" />
<VimeoEmbed videoId="1145246326" title="monstration vidéo" />
## Best Practices
## Meilleures pratiques
1. **Remove duplicates** from your file before importing
2. **Check for existing records** in Twenty before importing
3. **Use external IDs** when migrating from other systems
4. **Include unique fields** if you want to update existing records
1. **Supprimez les doublons** de votre fichier avant l'importation
2. **Vérifiez les enregistrements existants** dans Twenty avant l'importation
3. **Utilisez des ID externes** lors de la migration depuis d'autres systèmes
4. **Incluez des champs uniques** si vous souhaitez mettre à jour des enregistrements existants