La caisse quitte le comptoir : le rayon, la tablette et le téléphone du client
Odoo 20 étend le Point de vente dans trois directions. En rayon, le connecteur Pricer pour les étiquettes électroniques devient un module autonome, si bien qu'un détaillant qui utilise Inventaire sans caisse peut quand même mettre à jour les prix affichés sur les étiquettes. Dans la poche, une couche Android native permet à une tablette d'ouvrir la caisse depuis le lanceur et de joindre les imprimantes du réseau local. Sur le téléphone du client, la commande autonome gagne un code QR lié à une seule commande de table, un indicatif de pays sur le champ téléphone, un reçu WhatsApp et davantage de plateformes de livraison derrière UrbanPiper. Cet article s'adresse aux chaînes de commerce de détail, aux restaurants qui ont des tablettes en salle et aux cuisines alimentées par plusieurs applications de livraison.
Nous avons parcouru la configuration Pricer, le parcours de commande autonome dans une fenêtre de téléphone, le préréglage WhatsApp et les écrans UrbanPiper sur la version préliminaire. Nous n'avons pas pu tester du matériel Pricer réel, l'application Android sur une tablette ni une commande de livraison en direct, et nous le disons là où cela compte. Le matériel Obox fait l'objet de l'article 5 de cette série et l'écran de préparation redessiné de l'article 15.
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.
Les étiquettes électroniques Pricer n'ont plus besoin de l'application Point de vente
Les étiquettes électroniques sont les petites étiquettes de prix en papier électronique qui, en rayon, se mettent à jour depuis un système central. Jusqu'à Odoo 19, le connecteur Pricer vivait dans l'application Point de vente. Dans Odoo 20, c'est un module autonome pricer accompagné de stock_pricer, de sorte qu'un détaillant qui utilise Inventaire sans caisse peut quand même pousser noms de produits, prix et codes-barres vers les étiquettes Pricer. La configuration se trouve sous Inventaire > Configuration > Pricer ; le même menu apparaît sous Point de vente > Configuration > Pricer quand cette application est installée.

Un magasin Pricer porte quatre champs : Nom du tenant Pricer, Identifiant Pricer, Mot de passe Pricer et ID du magasin Pricer. Odoo dialogue avec le service Pricer grâce à ces identifiants, pas avec les étiquettes directement. En dessous, un onglet Étiquettes liste chaque étiquette par code-barres avec son Produit associé. Il n'y a pas de bouton intelligent pour les étiquettes, contrairement à ce que dit le guide : la liste est un onglet du formulaire. Mettre à jour les étiquettes pousse les données courantes ; une action planifiée fait de même dès qu'un produit est marqué à rafraîchir. Notre magasin de démo a des identifiants factices, donc son statut indique Erreur : vérifiez les identifiants Pricer ; un envoi raté est visible, pas silencieux.

Le prix en magasin est l'endroit où le README a corrigé le guide. Le guide dit qu'une liste de prix se choisit par magasin. Sur la version testée, le champ est sur le produit : onglet Ventes, bloc Pricer, avec Magasin Pricer associé, Étiquettes Pricer et Liste de prix des étiquettes Pricer. Laissez-la vide et l'étiquette affiche le prix de base ; choisissez-en une et l'étiquette affiche le prix de cette liste. Pour une chaîne dont les prix varient d'une ville à l'autre, la liste de prix se règle produit par produit, ou en masse par une importation.

Une couche Android native pour la caisse et la borne
Odoo 20 livre aussi une couche Android native pour le Point de vente. Selon le diff des sources 20.0, pos_mobile_android ajoute un pont natif, des requêtes sur le réseau local et des raccourcis d'écran d'accueil, pos_self_order_mobile fait de même pour la borne de commande autonome, et obox_pos_mobile relie l'Obox à ce parcours mobile. Pour une boutique, la promesse est une tablette qui ouvre la caisse en un geste et parle à l'imprimante de reçus, à la balance ou au terminal de paiement sur le réseau de la boutique. L'Obox lui-même, et la possibilité de laisser une tablette Android jouer le rôle du boîtier, fait l'objet de notre article sur l'Obox.
Nous n'avons rien pu capturer de tout cela : l'application native exige une tablette Android physique qui exécute l'application Odoo. Lisez ce paragraphe comme ce que les modules déclarent, pas comme quelque chose que nous avons parcouru.
Payer après le repas avec un code QR lié à une seule commande
Dans un restaurant où les clients paient après le repas, le code QR de commande autonome était statique : un code par table, imprimé sur un chevalet. Odoo 20 ajoute une option QR dynamique. Dans les paramètres du PdV, bloc Commande mobile et borne, réglez Commande autonome sur Menu QR + Commande et Service à sur QR dynamique. La version testée force alors Payer après sur Repas, parce qu'un code lié à une commande n'a de sens que tant que cette commande reste ouverte.
En caisse, le serveur ouvre la commande de la table, ouvre le menu des actions supplémentaires (le bouton à trois points à côté de Plat) et clique sur QR dynamique. Une fenêtre intitulée Scannez pour rejoindre la commande affiche un code généré pour cette commande précise, avec les boutons Imprimer et Fermer et un lien Ouvrir la commande autonome sur cet appareil. Imprimer envoie un petit ticket QR dynamique à l'imprimante de reçus. Le code n'est pas ajouté à l'addition habituelle.




Le client scanne le code et arrive sur la page d'accueil de la commande autonome : une photo de plat, la mention COMMANDEZ ICI et deux boutons, Ma commande et Commander. Ma commande liste ce que le serveur a déjà saisi, sur notre démo un Pasta Bolognese et un Coca-Cola pour 7,71 $. Commander ouvre le menu pour que le client ajoute un dessert à la même commande. Comme le code appartient à une commande et non à la table, il ne se transmet pas au groupe suivant.


Un indicatif de pays sur le numéro de téléphone et un reçu dans WhatsApp
Deux changements plus modestes rendent le passage à la caisse moins sujet aux erreurs. Le premier concerne le numéro de téléphone. Quand un préréglage demande au client de s'identifier, par exemple Livraison, le champ téléphone a désormais un sélecteur d'indicatif de pays. Le client touche le drapeau, choisit le pays et tape le numéro local. Sur notre démo, une touriste italienne qui commande une livraison voit un drapeau italien et +39 devant les chiffres. Le numéro arrive dans Odoo avec le bon indicatif, ce qui compte quand le restaurant rappelle ou envoie un message WhatsApp.




Le second est le reçu WhatsApp. Quand l'application WhatsApp est installée, un préréglage gagne un champ Confirmation WhatsApp à côté de Confirmation par courriel, dans son onglet Commande autonome sous Point de vente > Configuration > Préréglages. Choisissez un modèle, sur la démo POS Receipt du compte WhatsApp de démo, et le client reçoit la confirmation et le reçu dans WhatsApp plutôt que par courriel ou sur papier. Le champ n'apparaît que si Disponible en autonome est activé et si Identification n'est pas sur Non requis, ce qui explique pourquoi le préréglage Sur place de la démo ne l'a pas.
![Formulaire du préréglage À emporter avec Disponible en autonome activé, Confirmation par courriel, et Confirmation WhatsApp réglée sur « POS Receipt [Demo WhatsApp Account] ».](/_ipx/f_webp&q_85&s_1440x900/images/blog/odoo-20-pos-shelf-labels-self-order-preset-whatsapp-confirmation.webp)
Des préréglages, pas des types de commande
Le guide parle d'un préréglage « de type Sur place ». Les préréglages n'ont pas de type sur cette version. Ce qui décide du parcours, c'est Service à (Table, Zone de retrait ou Livraison) plus Identification. Réglez d'abord ces deux champs ; les modèles de confirmation apparaissent ou disparaissent ensuite d'eux-mêmes.
UrbanPiper : plus de plateformes, un formulaire de magasin, un rapport
UrbanPiper est la plaque tournante qu'Odoo utilise pour recevoir les commandes des applications de livraison de repas. Sur cette version, la configuration se trouve sous Point de vente > Configuration > UrbanPiper > Magasins, et non Food Delivery Store comme l'appelle le guide. Un magasin relie un Point de vente, un préréglage et un temps de préparation. L'onglet Agrégateurs contient les plateformes : chaque ligne est un agrégateur de livraison avec une liste de prix facultative, une case Créer un client et un interrupteur En ligne. Notre magasin de démo, Downtown Shop, est connecté à Uber Eats, DoorDash et Just Eat.

La liste des fournisseurs s'est allongée. Les données de la version testée contiennent 37 fournisseurs, et les nouveaux noms cités par le guide, Keeta, ToYou, The Chefz, Smiles, InstaShop, Radyes et FoodZapp, y sont tous, orthographiés Radyes et FoodZapp dans les enregistrements. Le sélecteur est filtré sur le pays de la société, donc notre société de démo américaine ne les voit pas ; une société aux Émirats arabes unis ou en Arabie saoudite les verrait. Nous n'avons pas exercé ce qui exige un compte UrbanPiper actif : le mot de passe à usage unique de livraison imprimé sur le reçu pour vérifier le livreur à la remise, les remises des plateformes et les commandes rapides.
Les rapports sont plus simples que ne le suggère le guide : il n'y a pas de rapport Commandes de livraison distinct. Ouvrez Point de vente > Analyse > Commandes et regroupez par Agrégateur de livraison de repas. Le graphique à barres répartit les totaux entre Uber Eats, DoorDash, Just Eat et Aucun, les commandes en salle, pour qu'un propriétaire voie quelle application vaut sa commission.


Comment l'essayer sur une base de démonstration
- Sur une base de démo avec Point de vente et Inventaire, ouvrez Inventaire > Configuration > Pricer > Magasins Pricer et ouvrez le magasin de démo. L'onglet Étiquettes liste les codes-barres des étiquettes et leurs produits.
- Ouvrez un produit comme Office Chair, onglet Ventes, bloc Pricer, et réglez Liste de prix des étiquettes Pricer.
- Ouvrez Point de vente > Configuration > Paramètres, choisissez le Restaurant, descendez jusqu'à Commande mobile et borne, réglez Commande autonome sur Menu QR + Commande et Service à sur QR dynamique. Enregistrez.
- Ouvrez la caisse du Restaurant, choisissez une table, ajoutez deux produits, ouvrez le menu à trois points et cliquez sur QR dynamique. Scannez le code avec votre téléphone, ou cliquez sur Ouvrir la commande autonome sur cet appareil, puis touchez Ma commande.
- Ouvrez Point de vente > Configuration > Préréglages > À emporter, onglet Commande autonome. Avec Disponible en autonome activé et Identification sur Nom, choisissez un modèle de Confirmation WhatsApp (l'application WhatsApp doit être installée).
- Ouvrez Point de vente > Configuration > UrbanPiper > Magasins, ouvrez Downtown Shop, puis Point de vente > Analyse > Commandes avec Regrouper par > Agrégateur de livraison de repas. Remettez Service à sur sa valeur précédente quand vous avez terminé.







Ce que nous n'avons pas pu vérifier sur la version préliminaire
L'application Android native exige un appareil Android physique qui exécute l'application Odoo. Les étiquettes sur du matériel Pricer réel et un envoi réussi exigent un tenant Pricer, et l'assistant de mise en page des étiquettes exige un lecteur et de vraies étiquettes. Les commandes UrbanPiper en direct et le mot de passe à usage unique sur le reçu exigent un compte UrbanPiper et des webhooks ; le rapport présenté ici est alimenté par des commandes de démo. Les fournisseurs du Golfe existent dans les données mais n'apparaissent pas dans le sélecteur d'une société américaine. Le ticket QR imprimé et le message WhatsApp reçu par le client n'ont pas été capturés non plus : aucune imprimante de reçus n'était branchée et le compte WhatsApp de démo est en brouillon. 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 utilisez des étiquettes Pricer sur Odoo 17, 18 ou 19, attendez-vous à ce que le connecteur sorte de l'application Point de vente pour aller dans pricer et stock_pricer, et vérifiez que chaque produit conserve son magasin, ses étiquettes et sa liste de prix, puisque la liste de prix vit désormais sur le produit. Si vous utilisez UrbanPiper, les modules UberEats séparés sont fusionnés dans pos_urban_piper, selon le diff des sources 20.0. Pricer, UrbanPiper et tout pont sur mesure vers une plateforme de livraison ou une imprimante d'étiquettes sont des intégrations, et Odoo a programmé pour Odoo 20 la suppression des points de terminaison XML-RPC et JSON-RPC dont ils peuvent dépendre : notre audit de migration RPC liste ce qui doit changer dans chaque connecteur. Le reste de l'ordonnancement fait partie de notre service de migration, et l'article central de la série liste tous les autres articles qui touchent la même mise à niveau.
Questions fréquentes
Faut-il l'application Point de vente pour utiliser les étiquettes Pricer dans Odoo 20 ?
Non. Sur la version préliminaire, le connecteur est un module pricer autonome accompagné de stock_pricer, configuré sous Inventaire > Configuration > Pricer. Un entrepôt ou un détaillant qui n'utilise qu'Inventaire peut pousser noms de produits, prix et codes-barres vers les étiquettes. Le même menu apparaît aussi sous Point de vente quand cette application est installée.
Quelles marques d'étiquettes électroniques Odoo 20 prend-il en charge ?
Le seul connecteur que nous avons trouvé sur la version testée est Pricer, et il dialogue avec un tenant Pricer par le nom de tenant, l'identifiant, le mot de passe et l'ID du magasin. Nous n'avons vu aucun connecteur pour un autre fournisseur d'étiquettes ; une autre marque exigerait une intégration sur mesure ou le pont du fournisseur.
Qu'est-ce qu'un code QR dynamique dans le PdV restaurant d'Odoo 20 ?
C'est un code QR généré pour une seule commande de table, affiché par l'action QR dynamique en caisse et imprimable sous forme de petit ticket. Le client le scanne, voit ce qui a déjà été commandé sous Ma commande, peut ajouter des articles sous Commander et paie après le repas. Le réglage est Service à = QR dynamique, qui force Payer après = Repas.
Un client peut-il recevoir son reçu sur WhatsApp ?
Oui, quand l'application WhatsApp est installée et que le préréglage est disponible en commande autonome avec une identification autre que Non requis. L'onglet Commande autonome du préréglage affiche alors un champ Confirmation WhatsApp où vous choisissez le modèle. Nous n'avons pas pu voir le message lui-même, car le compte WhatsApp de démo est en brouillon.
Quelles plateformes de livraison fonctionnent avec Odoo 20 via UrbanPiper ?
Les données de la version testée contiennent 37 fournisseurs, dont Uber Eats, DoorDash, Just Eat et les nouveaux Keeta, ToYou, The Chefz, Smiles, InstaShop, Radyes et FoodZapp. Le sélecteur de l'onglet Agrégateurs d'un magasin est filtré sur le pays de votre société : une société américaine ne verra pas les plateformes du Golfe, une société des Émirats les verra.
Existe-t-il une application Android native pour le Point de vente d'Odoo 20 ?
Le diff des sources 20.0 contient pos_mobile_android, pos_self_order_mobile et obox_pos_mobile, qui ajoutent un pont natif, des requêtes sur le réseau local et des raccourcis d'écran d'accueil pour la caisse et la borne. Nous n'avons pas pu la tester, car elle exige une tablette Android physique avec l'application Odoo ; considérez-la comme déclarée plutôt que vérifiée.
