
Chaque version majeure d'Odoo est prise en charge pendant trois ans, et chaque nouvelle version apporte des fonctionnalités, des correctifs et de meilleures performances. Rester sur une ancienne version rend la future mise à niveau plus difficile, car l'écart entre les versions ne cesse de se creuser. Ce guide explique concrètement le déroulement d'une mise à niveau, étape par étape, pour chaque type d'hébergement, et ce qu'une entreprise doit préparer avant de migrer sa base de données de production.
Une remarque sur les sources : les étapes ci-dessous suivent la documentation officielle d'Odoo sur la mise à niveau ainsi que ses guides pour développeurs. Les commandes, les menus et les conditions du service peuvent évoluer d'une version à l'autre ; vérifiez donc toujours les instructions en vigueur dans la documentation officielle de votre version cible avant de commencer.
Ce qu'est une mise à niveau, et ce qu'elle n'est pas
Une mise à niveau fait passer votre base de données existante, avec toutes ses données, d'une ancienne version d'Odoo à une version plus récente et prise en charge. Le service de mise à niveau d'Odoo convertit la structure des données ; votre équipe teste ensuite le résultat avant la bascule réelle.
Le service de mise à niveau ne couvre pas le retour à une version antérieure, le passage de Community à Enterprise ou inversement, le changement de type d'hébergement, ni la migration depuis un autre ERP. Chacun de ces cas constitue un projet distinct.
Fréquence obligatoire des mises à niveau selon le type d'hébergement
- Odoo Online : une mise à niveau de version majeure est obligatoire tous les deux ans. Odoo vous prévient quelques semaines à l'avance, effectue une mise à niveau de test silencieuse et, si vous n'agissez pas avant l'échéance, met automatiquement la base de données à niveau.
- Odoo.sh : à l'issue des trois années de support de votre version, vous disposez de deux années supplémentaires pour effectuer la mise à niveau, et la plateforme vous avertit lorsqu'elle devient obligatoire.
- On-premise : vous pouvez rester indéfiniment sur la même version, mais ce n'est pas recommandé. Plus l'écart entre les versions est faible, plus la mise à niveau est simple et économique.

Les sept étapes du processus officiel
- Étape 1 : demander une base de données de test mise à niveau.
- Étape 2 : mettre à niveau le code source de vos modules personnalisés, le cas échéant.
- Étape 3 : tester minutieusement la base de données mise à niveau.
- Étape 4 : signaler au support Odoo tout problème détecté pendant les tests, au stade de la migration.
- Étape 5 : une fois en confiance, planifier la mise à niveau de la production.
- Étape 6 : demander la mise à niveau de la production. La base de données est indisponible pendant l'opération.
- Étape 7 : signaler au support Odoo tout problème détecté après la mise en production, au stade de la production.
Étape 1 : demander une base de données de test mise à niveau
Sur Odoo Online, ouvrez le gestionnaire de bases de données, sélectionnez la base, cliquez sur Gérer puis sur Mettre à niveau. Choisissez la version cible, saisissez une adresse e-mail pour les notifications, laissez l'objectif sur Test et confirmez. À la fin du processus, vous recevez un e-mail contenant un lien vers la base de test.
Sur Odoo.sh, ouvrez l'onglet Mise à niveau et lancez la mise à niveau sur une branche de staging. La dernière sauvegarde quotidienne de la production est envoyée à la plateforme de mise à niveau, et la branche passe dans un mode spécial où chaque nouveau commit restaure la sauvegarde mise à niveau et met à jour vos modules personnalisés. Le journal de mise à niveau est disponible dans le fichier upgrade.log, dans le dossier des logs du build de staging mis à niveau.
En on-premise, exécutez le script officiel de mise à niveau sur le serveur de base de données avec l'option de test, le nom de la base et la version cible, comme l'indique la documentation de mise à niveau d'Odoo. Le serveur doit pouvoir accéder par le réseau aux serveurs de mise à niveau. La copie renvoyée n'inclut pas le filestore : fusionnez donc le dossier filestore fourni avec votre filestore de production avant de tester.
Après chaque mise à niveau réussie, un rapport de mise à niveau est joint à l'e-mail de confirmation et publié également dans Discuss à l'intention des administrateurs. Lisez-le attentivement : il recense ce qui a changé et les points qui demandent votre attention.
Étape 2 : mettre à niveau vos modules personnalisés
Une base de données contenant des modules personnalisés ne peut pas être mise à niveau tant que ces modules ne disposent pas d'une version compatible avec la version cible. Menez ce travail en parallèle de la demande de test.
- Gelez les développements : n'ajoutez plus de fonctionnalités et n'acceptez que des corrections de bugs jusqu'à la fin de la mise à niveau.
- Comparez vos personnalisations avec la nouvelle version et supprimez tout ce qu'Odoo propose désormais en standard.
- Installez chaque module sur une base vierge de la version cible et corrigez chaque erreur et chaque avertissement.
- Vérifiez les vues, les modèles d'e-mail, les rapports, les actions serveur et automatisées ainsi que les champs calculés, et ajoutez des tests automatisés là où c'est utile.
- Rédigez des scripts de mise à niveau pour les changements de données : modèles, champs et identifiants externes renommés, données récupérées depuis des modèles supprimés et champs recalculés.
Les scripts de mise à niveau se trouvent dans le module, sous un dossier nommé upgrades ou migrations, puis dans un dossier portant la version complète du module, par exemple 19.0.2.0. Chaque fichier commence par pre-, post- ou end-, ce qui détermine le moment de son exécution : avant le chargement du module, après la mise à jour du module, ou après la mise à jour de tous les modules. Chaque fichier définit une fonction migrate qui reçoit le curseur de la base de données et la version installée.
Sur Odoo.sh, la plateforme exécute ces scripts lorsqu'elle met à jour vos modules. En on-premise, vous restaurez le dump mis à niveau et mettez à jour vos modules avec odoo-bin et l'option de mise à jour. Sur Odoo Online, les modules Python personnalisés ne peuvent pas être installés : le code personnalisé doit donc y être réalisé avec Studio.
Étape 3 : tester la base de données mise à niveau
Les bases de test sont neutralisées afin de protéger la production : les actions planifiées sont désactivées, les serveurs de messagerie sortants sont remplacés par un serveur fictif, les fournisseurs de paiement et les transporteurs passent en mode test, et la synchronisation bancaire est désactivée. Demandez à votre fournisseur bancaire des identifiants de sandbox si vous devez la tester.
- Vérifiez que les vues actives en production le sont toujours après la mise à niveau.
- Imprimez les factures, les devis, les bons de livraison et les autres rapports, puis comparez-les avec ceux de la production.
- Créez et modifiez des enregistrements, et testez les filtres de recherche, les modèles d'e-mail et les exports.
- Vérifiez les pages du site web et déroulez de bout en bout vos principaux flux métier, par exemple du devis à la facture puis au paiement, et de l'achat à la réception puis à la facture fournisseur.
- Testez les intégrations externes telles que les API et l'EDI, les actions automatisées, les actions serveur et les workflows entre applications.
- Comparez les chiffres clés avec la production : valeurs de stock, soldes des comptes, créances clients et dettes fournisseurs en cours.
Confiez à chaque service un script de test écrit et un responsable, et consignez chaque résultat. Un test qui n'a pas été consigné n'a pas eu lieu.
Étape 4 : signaler les problèmes avant la mise en production
Signalez chaque écart ou erreur constaté dans la base de test au support Odoo via la page de support, en choisissant le stade de la migration. Odoo corrige alors les scripts de mise à niveau et vous demandez une nouvelle base de test pour confirmer la correction. Recommencez jusqu'à obtenir des résultats sans anomalie.
Étape 5 : planifier la mise à niveau de la production
- Choisissez une période de faible activité, car la base de données est indisponible pendant la mise à niveau.
- Demandez une nouvelle base de test peu avant la mise en production et effectuez une répétition complète la veille.
- Informez les utilisateurs de la plage d'indisponibilité et arrêtez la saisie des données avant le début de la mise à niveau.
- Effectuez et vérifiez une sauvegarde, et préparez une courte liste de contrôle pour les premières heures suivant la mise en production.
Étape 6 : demander la mise à niveau de la production
Sur Odoo Online, renouvelez la demande de test mais choisissez Production comme objectif. Une fois l'opération terminée, il n'est plus possible de revenir à la version précédente.
Sur Odoo.sh, la mise à niveau de la production démarre lorsqu'un nouveau commit est poussé sur la branche de production, de sorte que la base mise à niveau et vos modules personnalisés mis à jour sont déployés ensemble. En cas d'échec, la plateforme annule automatiquement la mise à niveau ; en cas de succès, elle conserve une sauvegarde réalisée avant la mise à niveau.
En on-premise, exécutez le même script de mise à niveau avec l'option de production au lieu de l'option de test. Toute modification effectuée en production après l'envoi de la base n'apparaîtra pas dans la base mise à niveau. Fusionnez le filestore avant de démarrer la nouvelle version.
Étape 7 : le support après la mise en production
Gardez les utilisateurs clés disponibles pendant les premiers jours, surveillez les actions planifiées, les e-mails et les intégrations à mesure qu'ils sont réactivés, et signalez tout problème au support Odoo au stade de la production.
Ce que couvre le service de mise à niveau pour les clients Enterprise
Avec Odoo Enterprise, la mise à niveau vers la dernière version est incluse dans l'abonnement, de même que le support pour les écarts constatés dans la base mise à niveau. Cela couvre les applications standard, les personnalisations Studio tant que Studio et son abonnement sont actifs, ainsi que les personnalisations couvertes par un abonnement de maintenance des personnalisations.
Ne sont pas couverts : le nettoyage des données ou de la configuration existantes, la mise à niveau des modules développés en interne ou par des tiers sans contrat de maintenance, ni la formation à la nouvelle version. Les utilisateurs de Community ne bénéficient pas de ce service et s'appuient généralement sur le projet open source OpenUpgrade, maintenu par l'Odoo Community Association.
Conseils pratiques issus de projets de mise à niveau
- Nettoyez les données de base avant la mise à niveau : les partenaires en double, les produits inutilisés et la configuration archivée ralentissent les tests.
- Désinstallez les modules que vous n'utilisez plus avant la demande de test, afin de réduire ce que la mise à niveau doit convertir.
- Dans votre planification, avancez d'une version à la fois, même si le service effectue la mise à niveau directement vers la version cible.
- Tenez une liste de toutes les personnalisations avec leur responsable et décidez pour chacune : la conserver, la remplacer par le standard ou l'abandonner.
- Ne faites jamais l'impasse sur la répétition : la plupart des surprises lors de la mise en production proviennent de données saisies après le dernier test.
Comment 1CBMS peut vous aider
1CBMS planifie et mène de bout en bout les projets de mise à niveau Odoo : évaluation de votre version actuelle et de vos personnalisations, migration des modules personnalisés, rédaction de scripts de test pour chaque service, gestion des tickets avec le support Odoo et supervision de la mise en production. Contactez-nous via le site web pour examiner votre trajectoire de mise à niveau.