Comment lire les messages du module
Les messages de FlexigoTech Migration Base sont de deux types. Les uns protègent une règle d'unicité : quelque chose que le module n'accepte qu'une fois par projet, par mapping set, par catégorie ou par enregistrement. Les autres apparaissent quand vous essayez de changer de statut et vous expliquent ce qui vous en empêche.
Dans le tableau, certains textes contiennent des accolades, comme {current_status} ou {len(blocking_recs)}. C'est ainsi qu'ils sont écrits dans le code du module ; à l'écran, cet emplacement affiche le statut ou la quantité propre à votre cas.
Si vous voulez d'abord comprendre le parcours de chaque enregistrement, nous l'expliquons dans le fonctionnement interne de Migration Base.

Les messages de Migration Base, un par un
| Message | Quand il apparaît | Que faire |
|---|---|---|
Each source record can only be archived once per project | Lors de l'archivage d'un enregistrement source déjà archivé dans ce même projet | Cherchez l'archive qui existe déjà pour cet enregistrement dans le projet et travaillez dessus |
Each source record can only be staged once per project | Lors du passage en staging d'un enregistrement source déjà en staging dans ce projet | Retrouvez l'entrée de staging existante au lieu d'en créer une autre |
Each validation rule can only run once per record | Quand une même règle de validation s'exécuterait de nouveau sur le même enregistrement | Consultez le résultat déjà obtenu pour cette règle et cet enregistrement |
Each checklist item can only appear once per project | Lors de l'ajout à un projet d'un élément de checklist qui y figure déjà | Utilisez l'élément déjà présent dans la checklist du projet |
Each account can only appear once per reconciliation type per project | Lorsqu'un compte est répété avec le même type de rapprochement dans le même projet | Modifiez la ligne qui existe déjà pour ce compte et ce type |
Each source dimension value can only map once per set | Lors d'un second mapping de la même valeur de dimension source dans un set | Corrigez le mapping qui contient déjà cette valeur dans le set |
Each source value can only map once per category per set | Lors d'un double mapping d'une valeur source dans la même catégorie du même set | Corrigez le mapping existant de cette valeur dans cette catégorie |
Each mapping set version must be unique | Lors de l'enregistrement d'un mapping set avec une version qui existe déjà | Attribuez une version différente |
Illegal status transition: {current_status} → {new_status}. Allowed transitions: {allowed} | Lorsque vous demandez un statut non autorisé depuis le statut actuel | Lisez Allowed transitions et choisissez l'un de ces statuts |
Cannot advance to Reconciled: {len(blocking_recs)} blocking reconciliation line(s) remain unresolved. Please resolve or sign off these items first. | Lorsque vous tentez de passer à Reconciled avec des lignes de rapprochement bloquantes non résolues | Résolvez ou validez ces lignes, puis réessayez |
Cannot go live: {len(blocking_items)} checklist items not completed | Lorsque vous tentez de passer en production avec des éléments de checklist non terminés | Terminez les éléments en attente et recommencez l'étape |
Les avertissements qui bloquent un changement de statut
Ces trois messages ne signalent pas une donnée mal saisie : ils vous indiquent que l'étape que vous tentez ne peut pas encore être franchie.
Illegal status transition
Le message complet indique le statut actuel, celui que vous avez demandé et la liste Allowed transitions. Cette liste est la réponse : depuis votre statut actuel, le module n'accepte que ceux qui y figurent. Si le statut visé n'y apparaît pas, le module ne vous laisse pas faire ce saut depuis votre position.
Cannot advance to Reconciled
Le nombre du message correspond aux lignes de rapprochement bloquantes encore non résolues. Le texte indique lui-même que faire : les résoudre ou les valider (sign off) avant de réessayer. Dans la liste Reconciliation, vous retrouvez pour chaque ligne le projet, le type de rapprochement, le code de compte, les montants source et cible, l'écart et les cases de tolérance, de blocage et de validation.

Cannot go live
Ici, le nombre correspond aux éléments de checklist non terminés. Ouvrez les éléments de la checklist du projet, terminez-les et recommencez l'étape. La liste Checklist Items affiche le projet, l'élément, les cases Done et Blocking, qui l'a réalisé et la date.

Les messages qui empêchent les doublons
Les messages d'unicité du module suivent le même modèle : Each … can only … once per …. La fin du texte indique le périmètre de la règle : projet, set, catégorie ou enregistrement. Bien la lire vous évite de chercher au mauvais endroit. Par exemple, le message sur les comptes parle d'une fois par type de rapprochement et par projet : le conflit porte donc sur la combinaison compte et type dans ce projet.
Dans les mapping sets
Trois messages concernent les mapping sets. Each source dimension value can only map once per set et Each source value can only map once per category per set apparaissent lorsque vous répétez une valeur source dans le même set (dans le second cas, dans la même catégorie). Each mapping set version must be unique apparaît lorsque la version du set existe déjà. Pour les deux premiers, ouvrez le set, cherchez la valeur et corrigez la ligne qui la mappe déjà ; pour le troisième, changez la version.
Dans le staging, l'archivage et la validation
Each source record can only be archived once per project et Each source record can only be staged once per project apparaissent lorsqu'un enregistrement source possède déjà son archive ou son entrée de staging dans ce projet. Each validation rule can only run once per record apparaît lorsqu'une règle a déjà été exécutée sur cet enregistrement. Dans les trois cas, ce que vous cherchez existe déjà : retrouvez-le avant de recommencer.
Dans la checklist et le rapprochement
Each checklist item can only appear once per project empêche d'avoir deux fois le même élément dans un projet. Each account can only appear once per reconciliation type per project empêche de répéter un compte avec le même type de rapprochement dans le même projet. La solution consiste à modifier l'enregistrement existant plutôt que d'en ajouter un autre.
Où chercher l'enregistrement qui existe déjà
Dans l'app Migration, le menu supérieur propose Migration Projects, Mapping Sets et Reconciliation, et les listes disposent d'un bouton New et d'une barre de recherche. C'est là que vous retrouvez le set, la ligne de rapprochement ou le projet à l'origine du conflit.

D'autres listes du module, comme Connection Profiles, suivent le même schéma : bouton New, barre de recherche et colonnes, ici Profile Name, Connection Type, Validated et Validation Message.

Si vous êtes en pleine mise en place et voulez savoir quoi renseigner dans chaque enregistrement, consultez le guide de mise en place de Migration Base.
Comment FlexigoTech vous accompagne
FlexigoTech Migration Base est gratuit sur Odoo Apps pour Odoo 17, 18, 19 et 20 (HT). Si le message persiste ou si votre migration demande quelque chose que le module ne couvre pas, chez FlexigoTech nous déployons Odoo 17, 18, 19 et 20 et développons des connecteurs et intégrations sur mesure.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_archive.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_checklist.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_dimension_map.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_mapping.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_project.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_reconciliation.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_staging_record.py
- Code du module : flexigo_migration_base 20.0 (075d1af0): models/migration_validation.py
- apps.odoo.com/apps/modules/20.0/flexigo_migration_base
- apps.odoo.com/apps/modules/17.0/flexigo_migration_base
- apps.odoo.com/apps/modules/18.0/flexigo_migration_base
- apps.odoo.com/apps/modules/19.0/flexigo_migration_base
- flexigotech.com/en/services.html
