---
title: "FAQ"
weight: 50
description: "Réponses aux questions fréquentes sur le module CapNormalize."
---

# FAQ

## La normalisation automatique ne fonctionne pas

Vérifiez les points suivants :

1. Le module CapNormalize est-il activé dans **Accueil > Configuration > Modules/Applications** ?
2. L'option **Normalisation automatique** est-elle activée dans la [configuration](/capnormalize/configuration) ?
3. Le champ concerné est-il configuré avec une fonction autre que "Ne rien faire" ?

## Les données existantes ne sont pas normalisées

La normalisation automatique ne s'applique qu'aux nouvelles créations et modifications. Pour normaliser les données existantes, utilisez l'outil [Nettoyage des données](/capnormalize/nettoyage).

## Le téléphone n'est pas converti au format international

La conversion au format international nécessite que le pays soit renseigné sur la fiche tiers ou contact. Si le pays n'est pas défini, le numéro est nettoyé (suppression des espaces et caractères de formatage) mais pas converti.

Vérifiez également que le pays du tiers fait partie des pays supportés (France, Belgique, Suisse, Allemagne, Maroc, États-Unis, etc.).

## La liste déroulante du dictionnaire n'apparaît pas

Le remplacement du champ texte par une liste déroulante nécessite :

1. Un dictionnaire créé et contenant au moins une entrée active (voir [Dictionnaires](/capnormalize/dictionnaires))
2. Le champ configuré avec la fonction **Dictionnaire** et le dictionnaire associé (voir [Configuration](/capnormalize/configuration))
3. JavaScript activé dans le navigateur

Si le champ est en lecture seule ou désactivé sur le formulaire, la liste déroulante n'est pas injectée.

## Une valeur existante apparaît en rouge dans la liste déroulante

Cela signifie que la valeur actuelle du champ ne correspond à aucune entrée du dictionnaire. La valeur est conservée telle quelle, mais elle est signalée visuellement. Utilisez l'outil [Migration](/capnormalize/migration) pour faire correspondre les anciennes valeurs aux entrées du dictionnaire.

## Comment sauvegarder avant un nettoyage par lot ?

Effectuez une sauvegarde de votre base de données MySQL/MariaDB avant de lancer un nettoyage. Depuis Dolibarr, vous pouvez utiliser **Accueil > Outils d'administration > Sauvegardes** pour exporter la base.

## Les particules ne sont pas gérées correctement

La fonction **Première lettre majuscule (composé)** reconnaît les particules courantes (de, du, la, le, van, von, di, da, etc.). Si une particule spécifique n'est pas reconnue, contactez le [support CAP-REL](https://cap-rel.fr/sav-module-dolibarr/).

## Le nettoyage par lot n'affiche pas mes règles de type Dictionnaire

C'est normal. Les règles de type **Dictionnaire** sont exclues du nettoyage par lot car elles nécessitent une correspondance manuelle entre les valeurs existantes et les entrées du dictionnaire. Utilisez l'outil [Migration](/capnormalize/migration) pour cette opération.

## Puis-je désactiver la normalisation pour un seul champ ?

Oui. Dans la [configuration](/capnormalize/configuration), sélectionnez **Ne rien faire** pour le champ que vous souhaitez exclure de la normalisation. Les autres champs continuent d'être normalisés selon leur règle respective.

## Puis-je normaliser mes champs complémentaires (extrafields) ?

Oui. CapNormalize détecte automatiquement tous les champs complémentaires de type texte (`varchar`, `text`) ajoutés à vos fiches tiers et contacts. Ils apparaissent dans des sections dédiées de la page de [configuration](/capnormalize/configuration) et peuvent être normalisés comme les champs natifs : normalisation automatique, dictionnaire, nettoyage par lot, import et migration.

Les champs complémentaires de type sélection (`select`), nombre (`int`), date, etc. ne sont pas concernés car ils n'ont pas de texte libre à normaliser.

## Le module est-il compatible avec le multi-entité ?

Oui. Les dictionnaires et leur configuration sont gérés par entité. Chaque entité Dolibarr dispose de ses propres dictionnaires et règles de normalisation.

## Comment permettre aux utilisateurs d'ajouter des valeurs dans les dictionnaires ?

Deux conditions sont nécessaires :

1. Activez l'option **Permettre l'ajout rapide de nouvelles entrées** dans la [configuration](/capnormalize/configuration)
2. Attribuez la permission **Ajouter des entrées aux dictionnaires de normalisation** aux utilisateurs concernés dans **Accueil > Utilisateurs > Permissions**

Les utilisateurs autorisés verront une option "Autre (saisie libre)" dans les listes déroulantes des champs dictionnaire.

## Comment fusionner des doublons dans un dictionnaire ?

Dans la page de gestion des entrées d'un dictionnaire, cochez les entrées à fusionner puis sélectionnez celle à conserver. La fusion met automatiquement à jour toutes les fiches en base. Consultez la page [Dictionnaires](/capnormalize/dictionnaires) pour les détails.

## Je veux vérifier les transformations avant de normaliser en masse

Utilisez le bouton **Détail** dans l'onglet [Nettoyage](/capnormalize/nettoyage). Il ouvre une page listant tous les enregistrements concernés avec la transformation prévue et une case à cocher par ligne pour ne normaliser que les enregistrements sélectionnés.

## Comment créer un dictionnaire depuis mes données existantes ?

Depuis l'onglet [Dictionnaires](/capnormalize/dictionnaires), cliquez sur **Créer un dictionnaire à partir de l'existant**. Le module analyse les valeurs distinctes du champ choisi (y compris les champs complémentaires), regroupe les variantes, et vous permet de créer le dictionnaire en un clic. Consultez la page [Dictionnaires](/capnormalize/dictionnaires) pour le guide complet.

## Mon champ complémentaire n'apparaît pas dans la configuration de CapNormalize

Seuls les champs complémentaires de type **texte** (`varchar` ou `text`) sont pris en charge. Les champs de type sélection, nombre, date, case à cocher, etc. ne sont pas affichés car ils ne contiennent pas de texte libre à normaliser.

Si vous venez de créer un champ complémentaire, rechargez la page de [configuration](/capnormalize/configuration) : les champs complémentaires sont détectés dynamiquement à chaque chargement.
