Trois applications côté ventes, un même lot de changements
Odoo 20 ne reconstruit ni Abonnements, ni Location, ni Commerce électronique. Il corrige les endroits où la promesse faite à la vente et la facture qui suivait ne concordaient pas : une récompense de fidélité qui s'arrêtait après la première période, un abonnement clôturé en milieu de mois mais facturé pour le mois entier, un article de location offert en cueillette au magasin alors qu'il était encore chez un autre client. Les trois applications reposent sur la même commande de vente, si bien que les changements aux promotions, aux devis et au générateur de devis PDF les atteignent toutes trois à la fois. Nous les prenons une application à la fois.
Si vous facturez des revenus récurrents, louez du matériel depuis un magasin ou exploitez une boutique en ligne sur Odoo, les sections qui suivent vous disent à quoi ressemble chaque écran sur la version préliminaire, où nos notes de capture ont corrigé la liste officielle des fonctionnalités, et ce que nous n'avons pas pu exercer sur une démo privée.
Observé sur la version préliminaire d'Odoo 20.0 Enterprise du 23 septembre 2026. Les noms, menus et disponibilités peuvent changer avant la version finale ; nous mettrons cette page à jour le cas échéant.
Des récompenses de fidélité qui se répètent à chaque renouvellement
Les programmes de fidélité peuvent désormais viser les abonnements. Avec sale_subscription_loyalty installé, une récompense de fidélité gagne un groupe Abonnement avec une seule case à cocher, Récurrent. Cochez-la et la récompense s'applique à chaque période renouvelée, tant que le client a encore assez de points ; laissez-la vide et la récompense est accordée une seule fois, comme avant. Le guide indique qu'une règle de fidélité reçoit le même indicateur pour que des points soient accordés à chaque renouvellement ; sur notre version, nous avons configuré le côté récompense, montré ci-dessous. Le programme de démonstration reprend l'exemple du gymnase du guide : Gym Club Rewards accorde 10 points Club par commande, et sa récompense donne deux fois le produit Guest Session pour 10 points.

Deux limites méritent d'être connues. Les cartes-cadeaux et les portefeuilles électroniques sont exclus de l'option récurrente, pour qu'un renouvellement ne puisse pas créer un solde à partir de rien. Et le chemin de menu du guide est dépassé : sur cette version, les promotions se trouvent sous Ventes > Promotions > Remises et fidélité, et non sous Produits. L'application Location reçoit les mêmes outils par sale_renting_loyalty, sous un menu nommé Promotions avec Remises et fidélité et Cartes-cadeaux et portefeuille électronique en dessous, de sorte qu'un code promotionnel ou une remise s'applique aussi à une commande de location.



Le MRR avant confirmation, et des rappels selon votre propre calendrier
Le revenu mensuel récurrent d'un abonnement est visible plus tôt qu'avant. Sur un devis d'abonnement, le MRR est une ligne du bloc des totaux, sous la marge, ce qui permet à un directeur des ventes de peser un pipeline avant toute signature. Le bouton intelligent MRR que décrit le guide existe bel et bien, mais il est masqué tant que la commande est un devis ou un devis de renouvellement et n'apparaît qu'une fois l'abonnement confirmé. Sur la démo, le devis S00075 affichait MRR : 230,00 $ sous ses totaux ; l'abonnement confirmé S00076 affichait le même montant comme bouton intelligent.


Les rappels de paiement cessent d'être figés. Deux paramètres les gouvernent, et chacun accepte une liste de jours séparés par des virgules plutôt qu'un seul nombre. Payment failure reminder days liste les jours après la date de facture auxquels un rappel est envoyé quand un paiement automatique échoue, par exemple 2,7,14. No-token payment reminder days liste des décalages en jours par rapport à la prochaine date de facture pour les abonnements sans jeton de paiement enregistré, valeurs négatives permises, par exemple -7,0,3,7. Les deux champs se trouvent dans les paramètres de Ventes, sous Facturation, qui est l'écran ouvert par Abonnements > Configuration > Paramètres. Le guide mentionne deux changements plus petits que nous n'avons pas capturés : les lignes d'abonnement n'exigent plus de produit, et une commande peut être liée à un site web précis dans une configuration multisite.

Listes de rappels
Un décalage négatif dans la liste sans jeton est le seul rappel qui arrive avant que la facture existe ; c'est donc celui qui prévient un retard de paiement plutôt que de le poursuivre. Gardez les deux listes courtes : chaque entrée est un courriel que votre client reçoit.
Clôturer en milieu de période : la dernière facture ne compte que les jours utilisés
Quand un abonnement est clôturé au milieu d'une période, la dernière facture est calculée au prorata au lieu de facturer la période entière. Le bouton Clôturer ouvre une boîte de dialogue à deux champs, Quand et Motif. Choisissez une date future et l'abonnement n'est pas coupé tout de suite : la commande reçoit une date de fin, affichée comme Until Oct 1 sur la démo, et le prorata apparaît sur la prochaine facture que vous créez. Sur S00090, un contrat mensuel dont la période commençait le 15 septembre, une clôture au 1er octobre a produit des lignes de facture brouillon décrites chacune comme 17 days 09/15/2026 to 10/01/2026, avec des prix unitaires au prorata et un total de 149,88 $ plutôt que le montant mensuel complet.




Une règle nous a surpris. Un contrat qui n'a jamais été facturé ne peut pas être clôturé : Odoo répond Please cancel the contract instead. C'est le bon résultat pour un abonnement qui n'a jamais démarré, mais il vaut mieux le savoir avant de former une équipe de soutien au bouton Clôturer.
Des propositions de location bâties avec le générateur de devis PDF
Le générateur de devis PDF fonctionne désormais sur les devis de location. Les documents ne sont pas attachés aux modèles de devis comme le suggère le guide : ils sont gérés dans leur propre menu, Location > Configuration > En-têtes/Pieds de page, et les modèles ne font que les référencer. Sur la démo, le kanban contenait cinq PDF : Header, About Us, Project Description, Testimonials et Terms and Conditions. Sur un devis de location, l'onglet Générateur de devis propose les documents qui ne sont pas restreints à un modèle ; vous choisissez un en-tête et un pied de page, et Aperçu ou Télécharger produit un seul fichier, la page brochure d'abord, puis le devis lui-même avec ses dates de retrait et de retour.



Pour une entreprise de location d'équipement, la proposition envoyée à un chef de chantier ou à un organisateur d'événements porte désormais la brochure du parc et les conditions en cas de dommages sans que personne assemble un PDF à la main.
La cueillette en magasin pour les produits de location, vérifiée sur la période
Sur le site web, website_sale_collect_renting apporte la cueillette en magasin aux produits de location. Le visiteur choisit la période de location sur la page du produit, et sous le prix une ligne de magasin apparaît à côté de Livraison : sur la démo, My Company (San Francisco) avec Pickup from Sep 24. Choisir le magasin ouvre une boîte de dialogue Lieu de retrait avec une carte, l'adresse du magasin, ses heures d'ouverture en semaine et un bouton Choisir ce lieu. Dans le sélecteur de dates, les fins de semaine étaient grisées.


Selon le guide, la boutique vérifie le stock du lieu de retrait choisi pour la période de location, tient compte des locations pas encore retournées et du temps de préparation après un retour, et n'offre la cueillette que lorsque l'article est réellement disponible. Sur la version préliminaire, cette vérification s'exécute dans le sélecteur de lieu et au passage à la caisse, pas sur la page produit, dont la ligne de disponibilité est calculée pour les dates par défaut : elle affichait toujours Pickup from Sep 24 pour des dates chevauchant une location confirmée du seul Premium Bike.
Une carte de la provenance des commandes en ligne
Les gestionnaires de commerce électronique reçoivent une vue Carte des commandes en ligne. Ouvrez Site Web > Commerce électronique > Commandes : le sélecteur de vues comporte une icône de carte ; chaque commande web confirmée est épinglée à son adresse, la liste des commandes se trouve à droite, et un groupe Non localisé rassemble les commandes dont l'adresse n'a pu être placée. La vue est ajoutée par le module website_sale_enterprise. Sur la démo, dix commandes géolocalisées dessinaient une répartition de la côte Ouest à la Nouvelle-Angleterre, assez pour planifier une tournée de livraison ou une campagne régionale. Tant qu'aucun jeton MapBox n'est configuré, une bannière indique que le calcul d'itinéraire en exige un.

Le guide mentionne aussi une grille de marges par sale_project_enterprise, qui fait ressortir le coût et la marge sur la grille des feuilles de temps d'un projet vendu par une commande de vente. Nous ne l'avons pas capturée.
Comment l'essayer sur une base de démonstration
- Installez Ventes, Abonnements, Location, Site Web et Commerce électronique sur une base de démonstration, puis activez l'option de livraison Cueillette en magasin.
- Ventes > Promotions > Remises et fidélité. Créez un programme avec une règle de points et une récompense Produit gratuit, ouvrez la récompense, cochez Récurrent dans le groupe Abonnement et enregistrez.
- Abonnements > Abonnements > Devis. Ouvrez un devis mensuel et repérez la ligne MRR sous les totaux ; confirmez-le et regardez le bouton intelligent MRR apparaître.
- Abonnements > Configuration > Paramètres, cherchez « reminder » et remplissez les deux champs de jours de rappel avec des listes séparées par des virgules.
- Ouvrez un abonnement confirmé et déjà facturé, cliquez sur Clôturer, fixez Quand à une date dans la période courante, puis Créer une facture et lisez les descriptions des lignes.
- Location > Configuration > En-têtes/Pieds de page, ajoutez un PDF d'en-tête. Ouvrez un devis de location, choisissez-le dans l'onglet Générateur de devis, puis Aperçu.
- Marquez un produit de location comme disponible en magasin, ouvrez la boutique comme visiteur, choisissez des dates de location et cliquez sur la ligne du magasin pour ouvrir la boîte de dialogue Lieu de retrait.
- Site Web > Commerce électronique > Commandes, passez à la vue Carte.



Ce que nous n'avons pas pu vérifier sur la version préliminaire
Nous n'avons pas vu le solde de points de fidélité dans le portail client, qui exige un utilisateur portail propriétaire d'un abonnement renouvelé, et nous avons configuré l'indicateur Récurrent sur une récompense, pas sur une règle. Nous n'avons pas vu la cueillette en magasin refuser un retrait pour des dates où l'article est déjà loué, parce que nous n'avons pas mené un passage à la caisse comme visiteur. Le PDF du devis de location a été téléchargé puis converti en image, parce que Chromium sans interface n'a pas de lecteur PDF. Les lignes d'abonnement sans produit, le lien commande-site web et la grille de marges des projets vendus sont décrits d'après le guide seulement. Tout le reste de cette page a été parcouru sur la version 20.0 Enterprise du 23 septembre 2026.
Ce que cela change pour une mise à niveau
Si vous exploitez Abonnements sur Odoo 17 à 19, dressez la liste des programmes de fidélité et de la logique de rappel sur mesure que vous avez aujourd'hui : les récompenses récurrentes et les deux listes de jours peuvent remplacer une personnalisation, et le prorata à la clôture change vos dernières factures, prévenez donc la comptabilité avant la mise en production. Les entreprises de location devraient préparer les PDF d'en-tête et de pied de page ainsi que les heures d'ouverture des magasins avant d'activer la cueillette en magasin. Les boutiques en ligne qui parlent à des fournisseurs de paiement, à des transporteurs ou à un connecteur de place de marché par les anciens points de terminaison RPC ont d'abord besoin de notre audit de migration RPC, parce qu'Odoo a programmé pour Odoo 20 la suppression des points de terminaison XML-RPC et JSON-RPC. Nous le vérifions pendant le cadrage de notre service de migration, et l'article central de la série liste les autres changements qui arrivent dans la même mise à niveau.
Questions fréquentes
Une récompense de fidélité peut-elle s'appliquer à chaque renouvellement d'abonnement dans Odoo 20 ?
Oui. Avec le module sale_subscription_loyalty, une récompense possède une case Récurrent dans son groupe Abonnement. Quand elle est cochée, la récompense s'applique à chaque période renouvelée tant que le client a assez de points. Les cartes-cadeaux et les portefeuilles électroniques sont exclus de l'option.
Qu'arrive-t-il à la facture quand un abonnement est clôturé en milieu de période ?
La prochaine facture ne compte que les jours entre le début de la période et la date de clôture. Sur la version préliminaire, chaque ligne est décrite avec le nombre de jours et la plage de dates, et les prix unitaires sont réduits à cette fraction de la période. Un contrat jamais facturé ne peut pas être clôturé et doit être annulé.
Où configure-t-on les jours de rappel de paiement dans Abonnements d'Odoo 20 ?
Dans les paramètres de Ventes, sous Facturation, qui est l'écran ouvert par Abonnements > Configuration > Paramètres. Payment failure reminder days accepte une liste de jours après la date de facture séparés par des virgules ; No-token payment reminder days accepte des décalages par rapport à la prochaine date de facture, valeurs négatives permises.
Un devis d'abonnement affiche-t-il un bouton intelligent MRR ?
Pas tant qu'il reste un devis. Sur la version préliminaire, le MRR apparaît comme une ligne du bloc des totaux d'un devis ou d'un devis de renouvellement, et le bouton intelligent n'apparaît dans l'en-tête qu'après la confirmation de l'abonnement.
Les produits de location peuvent-ils être retirés en magasin depuis le site web d'Odoo 20 ?
Oui. Le module website_sale_collect_renting ajoute une ligne de magasin avec une date de retrait à la page du produit de location et une boîte de dialogue Lieu de retrait avec l'adresse et les heures d'ouverture. Selon le guide, la vérification du stock pour la période de location s'exécute dans le sélecteur de lieu et au passage à la caisse.
Quel module ajoute la vue Carte des commandes de commerce électronique ?
Le module website_sale_enterprise. Il ajoute une vue Carte à Site Web > Commerce électronique > Commandes, épingle chaque commande en ligne confirmée à son adresse et regroupe sous Non localisé les commandes dont l'adresse n'a pu être placée. Le calcul d'itinéraire exige un jeton MapBox ; les épingles non.
