> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwoty.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Gestion des erreurs et validation

> Examinez et corrigez les erreurs d'importation avant de confirmer, et téléchargez les lignes non importées après l'importation.

## Validation avant importation

Après avoir téléchargé votre fichier et mappé les champs, Qwoty valide vos données **avant** de les importer. Cela vous permet de détecter et de corriger les erreurs sans affecter vos données existantes.

## Fonctionnement

L'assistant d'importation en 4 étapes signale les erreurs à deux moments :

<Steps>
  <Step title="Téléchargement">
    Déposez votre fichier CSV. Qwoty l'analyse et détecte les problèmes de base (format de fichier, encodage, séparateur).
  </Step>

  <Step title="Mapping">
    Associez chaque en-tête à un champ Qwoty. Si un champ obligatoire n'est pas mappé, vous ne pouvez pas passer à l'étape suivante.
  </Step>

  <Step title="Confirmation">
    Qwoty valide chaque ligne selon les règles de l'objet cible. Le récapitulatif indique :

    * Le nombre d'enregistrements qui seront importés
    * Le nombre de variantes contenues dans le fichier (pour les produits)
    * Le nombre de lignes présentant des **erreurs de validation**

    Les erreurs ne bloquent pas les lignes valides. Vous pouvez revenir en arrière pour corriger votre CSV ou continuer.
  </Step>

  <Step title="Résultat">
    Qwoty traite le fichier. Vous voyez le nombre de lignes importées et le nombre de lignes ayant échoué. En cas d'échec, cliquez sur **Télécharger les lignes non importées** pour obtenir un CSV des échecs avec la raison associée à chacun.
  </Step>
</Steps>

## Affichage des erreurs

Les erreurs sont signalées de deux façons :

* **À l'étape Confirmation** — un récapitulatif vous indique combien de lignes présentent des erreurs de validation avant que vous ne validiez
* **À l'étape Résultat** — après l'importation, le bouton **Télécharger les lignes non importées** vous fournit un CSV listant chaque ligne en échec, la colonne concernée et le message de validation

Le CSV des lignes non importées a le même format que votre fichier d'origine, avec une colonne `error_reason` en plus. Corrigez les lignes dans votre tableur et téléchargez à nouveau — seules les lignes en échec sont traitées lors du second import.

## Types d'erreurs courants

### Valeurs dupliquées

**Cause :** Un champ unique (comme `product_api_name`) existe déjà dans Qwoty ou apparaît deux fois dans votre fichier.

**Correction :**

* Modifiez la valeur dupliquée dans votre CSV et téléchargez à nouveau
* Supprimez l'une des lignes dupliquées
* Si vous souhaitez mettre à jour l'enregistrement existant, renseignez la colonne `id` (l'import détecte automatiquement les mises à jour)

Consultez [Contraintes d'unicité](/user-guide/data-migration/reference/uniqueness-constraints) pour la liste complète des champs uniques.

### Format invalide

**Cause :** Une valeur ne correspond pas au format attendu — UUID invalide, format de date incorrect, valeur d'énumération en minuscules là où Qwoty attend des majuscules, pourcentage hors plage.

**Correction :** Modifiez la cellule pour qu'elle corresponde au format attendu. Consultez [Mapping des champs](/user-guide/data-migration/reference/field-mapping) pour les exigences de format de chaque type de champ.

Erreurs fréquentes :

* `pricing_model = flat` au lieu de `Flat` (sensible à la casse)
* `settings[recurrence_type] = monthly` au lieu de `recurring`
* `default_vat = 20.0` au lieu de `FR_200`
* `amount = 99,00` au lieu de `99.00` (mauvais séparateur décimal)
* `settings[is_active] = TRUE` au lieu de `true` (les booléens doivent être en minuscules)

### Champs obligatoires manquants

**Cause :** Une colonne marquée d'un `*` à l'étape Mapping est vide pour une ligne donnée.

**Correction :** Saisissez une valeur dans le champ obligatoire, ou supprimez la ligne de votre fichier.

### Relation introuvable

**Cause :** L'enregistrement référencé n'existe pas — par exemple, un `parent_product_api_name` qui pointe vers un master non importé, ou un `pricebook_id` qui fait référence à un catalogue tarifaire inexistant.

**Correction :**

* Importez d'abord les enregistrements parents (voir [Ordre d'importation](/user-guide/data-migration/reference/import-relations#import-order-rule))
* Ou corrigez la valeur de référence pour qu'elle corresponde à un enregistrement existant

### Valeurs incohérentes au sein d'un master

**Cause :** Deux variantes du même master déclarent des `settings[recurrence_type]` différents, des noms d'options différents ou des valeurs d'expédition par défaut différentes.

**Correction :** Uniformisez les valeurs pour toutes les variantes du même master. Un master possède un seul type de récurrence et un seul ensemble de noms d'options — les variantes ne diffèrent que sur les **valeurs** des options.

### Mauvais séparateur de fichier

**Cause :** Votre CSV utilise le point-virgule `;` au lieu de la virgule `,` (ou inversement). Qwoty attend une virgule.

**Correction :** Réexportez votre fichier en utilisant la virgule comme séparateur. Dans Excel, enregistrez au format **CSV UTF-8 (délimité par des virgules)**.

## Conseils pour réduire les erreurs

1. **Téléchargez d'abord le fichier d'exemple** depuis l'écran d'importation — il indique les en-têtes de colonnes exacts et les formats attendus
2. **Nettoyez vos données** dans votre tableur au préalable — supprimez les lignes vides, corrigez les fautes de frappe, normalisez les valeurs d'énumération
3. **Importez les fichiers dans le bon ordre** — Produits master → Produits → Prix
4. **Testez avec de petits lots** avant d'importer des milliers de lignes — corrigez les problèmes systématiques, puis lancez l'import complet
5. **Vérifiez les doublons** avant de télécharger — triez votre fichier par le champ unique
6. **Limitez la taille de vos fichiers** — divisez les jeux de données très volumineux en lots de quelques milliers de lignes, ou utilisez l'[API](https://docs.qwoty.io)

## Voir aussi

<CardGroup cols={2}>
  <Card title="Mapping des champs" icon="arrow-right-arrow-left" href="/user-guide/data-migration/reference/field-mapping">
    Exigences de format pour chaque type de champ.
  </Card>

  <Card title="Contraintes d'unicité" icon="fingerprint" href="/user-guide/data-migration/reference/uniqueness-constraints">
    Quels champs sont uniques et comment les utiliser.
  </Card>

  <Card title="Relations d'importation" icon="link" href="/user-guide/data-migration/reference/import-relations">
    Le bon ordre d'importation pour éviter les erreurs de relation.
  </Card>

  <Card title="Préparer votre CSV" icon="file-spreadsheet" href="/user-guide/data-migration/how-tos/prepare-csv-files">
    Guide de préparation étape par étape.
  </Card>
</CardGroup>
