# Fonctionnement du point de vente tactile

Le point de vente se présente comme suit :

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/i6Rimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-05/i6Rimage.png)

<p class="callout warning">Nous vous encourageons vraiment à utiliser l'écran tactile : à force d'habitude, il fait gagner beaucoup de temps !</p>

### Sélection des produits

il existe 3 façons de sélectionner un produit :

<table border="1" id="bkmrk-scan-du-code-barre-s" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 19.1358%;">Scan du code barre</td><td style="width: 80.8642%;">Si votre produit n'est pas reconnu dans la base d'Odoo, un message d'erreur s'affichera.

<p class="callout info">NB : les tickets restaurant peuvent également être scannés.</p>

</td></tr><tr><td style="width: 19.1358%;">Recherche par catégories et sous-catégories</td><td style="width: 80.8642%;">En cliquant sur les catégories de produits, vous n'afficherez que les produits de cette catégorie :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/NwCimage.png)

</td></tr><tr><td style="width: 19.1358%;">Recherche par nom de produit</td><td style="width: 80.8642%;">Taper dans la barre de recherche un mot-clé permettant de filtrer sur les articles contenant ce terme :

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/ZWPimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-05/ZWPimage.png)

<p class="callout success"><s>Le bouton![image-1647004142713.png](https://librairie.grap.coop/uploads/images/gallery/2022-03/scaled-1680-/image-1647004142713.png) permet de réinitialiser la recherche pour passer au mot-clé suivant.</s></p>

</td></tr></tbody></table>

##### <span style="color: rgb(50, 51, 51);">Produit à peser</span>

<span style="color: rgb(50, 51, 51);">Si votre produit est marqué comme "à peser" sur sa fiche, un écran supplémentaire s'affiche, qui permet de saisir le **poids brut**, et éventuellement une tare. Odoo calcule alors le **poids net** et indique le prix total.</span>

### Création d'un ticket

Sélectionner les produits un par un. Vous pouvez intervenir sur :

- **la quantité** : en cliquant plusieurs fois sur l'article, ou en cliquant sur ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/Okuimage.png) puis en indiquant le nombre sur le pavé numérique.

<p class="callout info">Dans le cadre d'un retour, cliquer sur![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/wfeimage.png) pour mettre une quantité négative.</p>

- **le prix unitaire** : en cliquant sur ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/iqGimage.png) et en modifiant le prix.
- **la tare** : même procédé

ou appliquer une **remise** (ex. -20% sur fruit abîmé : cliquer sur "Rem." puis taper "20" sur le clavier tactile).

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/iqOimage.png)

Lorsque la remise concerne tout le ticket (client avec une tarification particulière), il faut choisir une **liste de prix**, dans la liste convenue avec le pôle informatique (c'est lui qui les créé pour vous) :![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603372294972.png)

Pour supprimer une ligne du ticket, il faut la sélectionner, et cliquer 2 fois sur![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603372353591.png).

### Situations rencontrées en caisse :

<details id="bkmrk-mettre-un-ticket-en-"><summary>Mettre un ticket en attente ou annuler une vente</summary>

##### Mettre en attente

Si un client tarde à vous payer (doit aller retirer de l'argent, etc...), et que vous souhaitez commencer à saisir un nouveau ticket, vous pouvez laisser le ticket en attente, en cliquant sur ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/INWimage.png) puis ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/LfCimage.png)

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/lsjimage.png)

##### Annuler une vente :

Dans ce même écran, sélectionner la commande à annuler et cliquer sur la petite poubelle en bout de ligne

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/jjQimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-05/jjQimage.png)

</details><details id="bkmrk-g%C3%A9rer-un-retour-ou-%C3%A9"><summary>Gérer un retour ou échange</summary>

**Retour :** si le client rapporte un ou plusieurs articles, il faut faire un ticket négatif à l'aide du bouton "Plus" puis cliquer "Remboursement"

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/40Vimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-05/40Vimage.png)

**Erreur :** si vous vous êtes trompé·e sur une sélection de produit, et qu'un client fait une réclamation, vous pouvez réaliser un ticket correctif pour corriger la vente précédente.

Si par exemple, vous aviez sélectionné la gourde d'1L au lieu de son équivalent en 500mL :

- créer un nouveau ticket
- Sélectionner le bon produit à vendre
- Sélectionner ensuite le produit indument vendu, et affectez-y une quantité négative
- Valider la vente, et rendez éventuellement le différent en espèce.

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/P3mimage.png)

<p class="callout success">Cette opération aura pour avantage de :  
- corriger l'état des stocks dans Odoo  
- corriger la ventilation des ventes, dans le cas où les produits étaient des produits de dépôts vendeurs.</p>

</details><details id="bkmrk-les-ventes-livr%C3%A9es-u"><summary>Les ventes livrées</summary>

Une vente livrée, c'est lorsque quelqu'un passe en caisse, mais qu'iel diffère le règlement de son ticket : les produits sortent du stock mais n'ont pas encore généré de chiffre d'affaire. La vente du point de vente sort complètement de l'activité de point de vente du jour.

Il faut :

Créer le ticket, choisir le client (voir explication plus bas) puis cliquer sur "Plus..." &gt; "Créer une vente" :

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/T3zimage.png)](https://librairie.grap.coop/uploads/images/gallery/2026-04/T3zimage.png)

Sélectionner "Créer une vente livrée" et confirmer dans la fenêtre qui s'ouvre ensuite après avoir choisi la date et l'heure de la vente devis :

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/vp4image.png)](https://librairie.grap.coop/uploads/images/gallery/2026-04/vp4image.png)

Un bon de commande client est créé dans le menu "Ventes" d'Odoo.

- Devis brouillon : rien ne sort du stock, le devis est envoyé au client.e pour accord
- Vente confirmée : rien ne sort du stock mais la vente a bien lieu
- Vente livrée : c'est une vente confirmée pour laquelle le mouvement de stock (livraison) est bien validé
- Vente facturée : idem avec création de la facture

  
Lorsque le ou la client.e vient régler, il faut :

- retrouver le ou les ticket(s) dans le menu "Ventes" d'Odoo (ou "Facturation" si vous avez choisi "vente facturée")
- éventuellement confirmer la vente et/ou le mouvement de stock et/ou la facture

Une fois la vente sortie du point de vente, elle suit le circuit habituel du [flux de vente hors point de vente](https://librairie.grap.coop/books/odoo-v16/page/saisie-dune-vente-pro-devis-livraison-facture-enregistrement-du-paiement).

<p class="callout warning">Lorsque le client vient payer son dû (à une date ultérieure en principe) alors que vous êtes en caisse, il ne faut pas le considérer comme une recette lié à cette session du point de vente, il faut le compter à part, sous peine d'avoir une erreur de caisse. Si la personne paie en virement : pas de problème. Si elle paie en chèque, ne pas ranger le chèque en question avec ceux de la caisse du jour. Si elle paie en espèces, utiliser le bouton pour ajouter la monnaie dans le fonds de caisse. Enfin, si elle paie en CB, déduire le montant de la télécollecte du soir.</p>

<p class="callout danger">On ne doit pas faire de vente livrée avec des quantités négatives (ex. retour de consigne)</p>

</details><details id="bkmrk-produits-consign%C3%A9s-v"><summary>Produits consignés</summary>

<span style="color: rgb(0, 0, 0);">Voir la documentation [&gt; ICI &lt;](https://librairie.grap.coop/books/odoo-v16/page/fiche-produit-gestion-des-consignes)</span>

</details>
### Opérations sur des tickets déjà validés

Derrière le bouton ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/6tqimage.png) se cachent également les actions suivantes :

##### Remboursement

On cherche alors la commande à rembourser parmi les dernières saisies, le ticket s'affiche à droite, puis il s'agit de cliquer sur chaque article à retourner et indiquer la quantité à rembourser. Enfin, cliquer sur "remboursement" : un ticket en négatif est généré, il ne reste plus qu'à faire paiement et rendre la monnaie en espèces.

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/67ximage.png)

<p class="callout info">Les 10 derniers sont affichés par défaut, mais l'on peut faire une recherche pour retrouver d'autres tickets plus anciens, y compris ceux de sessions clôturées.</p>

##### Réédition de ticket de caisse

Aller dans Commandes (<span style="color: rgb(224, 62, 45);">**1**</span>), retrouver la commande en question (**<span style="color: rgb(224, 62, 45);">2</span>**) puis cliquer sur "imprimer le ticket" (<span style="color: rgb(224, 62, 45);">**3**</span>) :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/RFMimage.png)

<p class="callout success"><span style="background-color: rgb(241, 196, 15);">Une fois la vente terminée, on ne peut plus générer de facture. Si un client en demande une après coup, il faudra retrouver le ticket et le rééditer, il fera office de facture.</span></p>

<table border="1" id="bkmrk-%2Aretrouver-la-r%C3%A9f%C3%A9re" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">**Retrouver la référence d'un ticket :**

- - Aller dans**![image-1647512712163.png](https://librairie.grap.coop/uploads/images/gallery/2022-03/scaled-1680-/image-1647512712163.png)&gt;&gt; Commandes &gt;&gt; Commandes**
    - Supprimer le filtre![image-1647512788234.png](https://librairie.grap.coop/uploads/images/gallery/2022-03/scaled-1680-/image-1647512788234.png)
    - Filtrer sur la date de vente = via 2 filtres qui vont "encadrer" le créneau de vente. Par exemple, pour une vente qui aurait eu lieu le 16/04/2026, on pourrait écrire : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/Atjimage.png)
        
        La référence de commande est dans la 1ère colonne : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/LsSimage.png)

</td></tr></tbody></table>

<p class="callout warning"><span style="background-color: rgb(241, 196, 15);">Dans le cas où des articles du ticket rappelé ne sont plus disponibles dans le point de vente, on obtient le message d'erreur suivant : [![image-1655371334181.png](https://librairie.grap.coop/uploads/images/gallery/2022-06/scaled-1680-/image-1655371334181.png)](https://librairie.grap.coop/uploads/images/gallery/2022-06/image-1655371334181.png). Il faut alors contacter le pôle info pour qu'il retrouve les articles concernés (les codes du message d'erreur sont les identifiants informatiques des fiches articles), les remette dans le point de vente le temps de rééditer le ticket, puis les décoche de nouveau ensuite.</span></p>

###   


### Entrées - sorties de monnaie

<span style="background-color: rgb(241, 196, 15);">XXX</span>

Situations possibles :

- monnaie prise dans le fonds de caisse pour payer un emplacement de marché ou autre (cash sortant).
- règlement d'une vente livrée antérieure à la date du jour en espèces (cash entrant).
- ajout d'espèces en cours de journée (cash entrant) lorsqu'il n'y a plus de pièces de 20 centimes par exemple.
- retrait d'espèces du fonds de caisse pour dépôt en banque (cash sortant) - en fin de journée
- erreur de caisse (entrant ou sortant)

### Créer un·e client·e

Il existe 3 situations pour lesquelles il est utile voire indispensable d'identifier le client :

- établir une facture (on ne peut pas faire de facture anonyme)
- faire une vente livrée ou un devis depuis le point de vente
- appliquer une tarification particulière / liste de prix (ex. -10% de remise sur l'ensemble du magasin), bien qu'il soit possible de définir la liste de prix même sans sélectionner le client.

<p class="callout success">Si le client a une tarification particulière, le montant du ticket en cours sera automatiquement recalculé.</p>

Cliquer sur "Client" au dessus de "paiement" :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/Sgbimage.png)

Vous pouvez alors sélectionner un client existant ou en créer un nouveau via le bouton![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/Jajimage.png)

Les champs ne sont pas les mêmes selon que l'on ait affaire à un particulier :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/aBfimage.png)

ou un.e client.e pro (= "Société") :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/S69image.png)

<p class="callout warning">Dans le cas d'un.e client.e pro, les champs Adresse, Siren et Nic sont obligatoires. Dans le cas où on force la vente sans ces champs, elle reste "bloquée" dans le point de vente ![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/gB6image.png), et le message d'erreur "parasite" l'affichage. La vente ne peut pas se valider en l'état ![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/YcVimage.png)</p>

<p class="callout info">Pour se sortir dans cette situation, il faut retourner sur la fiche contact, cliquer sur le bouton "détails" et compléter les champs manquants![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/TOVimage.png)</p>


### Affecter lae client.e à une vente

Cliquer sur "Client" au dessus de "paiement" et choisir lae client.e :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/Sgbimage.png)

On peut aussi choisir lae client.e depuis l'écran des paiements en haut à droite :

![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-05/scaled-1680-/RYqimage.png)


### Saisie des paiements

- cliquer sur "Paiement", puis sur le ou les moyen(s) de paiement utilisé(s) par le client : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/8EGimage.png)](https://librairie.grap.coop/uploads/images/gallery/2026-04/8EGimage.png)
- Odoo indique la monnaie à rendre voire le cashback si vous payez autrement qu'en espèces un montant supérieur au montant dû (voir ci-dessus)
- Les éléments du ticket sont rappelés dans le bandeau latéral droit, et les moyens de paiement dans le bandeau gauche.

<details id="bkmrk-facture-client-si-le"><summary>Facture client</summary>

### <span style="color: rgb(48, 49, 49);">Si le client a besoin d'une facture, c'est aussi à cette étape qu'il faut la lui sortir :</span>

<span style="color: rgb(48, 49, 49);">Si le ou la client.e a besoin d'une facture, il faut cliquer sur "facture" (à droite) AVANT d'avoir validé le paiement. Pour rappel, on ne peut pas faire de facture anonyme, il faut donc au préalable sélectionner le ou la client.e : </span>

<span style="color: rgb(236, 240, 241);">[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/RZUimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-05/RZUimage.png)</span>

<span style="color: rgb(48, 49, 49);">Enfin, après validation du paiement, il est ensuite possible d'imprimer le ticket de caisse et/ou de l'envoyer par e-mail :</span>

<span style="color: rgb(236, 240, 241);">[![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-05/scaled-1680-/BHPimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-05/BHPimage.png)</span>

</details><details id="bkmrk-titres-restaurant-ti"><summary>Titres restaurant</summary>

<p class="callout info"><span style="color: rgb(48, 49, 49);">Ton ou ta gestionnaire Odoo doit activer l'option</span></p>

<span style="color: rgb(48, 49, 49);">L'éligibilité au titre restaurant est matérialisée par le pictogramme ![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603375681173.png)</span>

<span style="color: rgb(48, 49, 49);">![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376136586.png)</span>

<p class="callout info"><span style="color: rgb(48, 49, 49);">Lui-même vient de la coche "titre restaurant" de la fiche article, qui est héritée de la catégorie d'article :![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603375608749.png)Bien que le paramétrage de cette coche ne passe pas par vous (vous ne créez pas les catégories d'article), vous avez la main pour éventuellement la forcer.</span></p>

<s><span style="color: rgb(149, 165, 166);">Lors du paiement, un tableau récapitulatif permet de consulter rapidement le montant éligible aux titres restaurant, le montant maximum autorisé par la loi, et le montant saisi (ou bipé, si vous scannez le code barre du ticket restaurant). Si le montant éligible ou le montant maximum, ou les deux sont dépassés, une alerte se déclenche :</span></s>

<s><span style="color: rgb(149, 165, 166);">![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376172385.png) ![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376457117.png) ![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376490454.png)</span></s>

<p class="callout info"><s><span style="color: rgb(149, 165, 166);">Ces alertes n'empêchent pas le paiement : on peut tout de même valider.</span></s></p>

</details>### Validation des paiements

Cliquer sur Valider,

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/XwLimage.png)](https://librairie.grap.coop/uploads/images/gallery/2026-04/XwLimage.png)

puis imprimer le ticket ou l'envoyer par mail si le client le demande et passer à la commande suivante !

![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/QoTimage.png)

### Suivi de la marge dans le point de vente

La marge réalisée sur chaque article et la marge globale calculée sur le ticket (en tenant compte de la liste de prix appliquée) s'affichent directement dans le point de vente.

<p class="callout info">Cela permet surtout de repérer en temps réel les éventuelles erreurs de paramétrage (voir ci-dessous le chou vert) dans les fiches articles pour faire les correctifs et éviter de fausser la marge dans Odoo durablement.</p>

![image-1627989746800.png](https://librairie.grap.coop/uploads/images/gallery/2021-08/scaled-1680-/image-1627989746800.png)

<p class="callout success">Si cet affichage vous dérange vis-à-vis des clients qui visualisent votre écran de caisse par exemple, sachez qu'il est possible de le désactiver.</p>

##   


## <s><span style="color: rgb(149, 165, 166);">Éditer un "Z"</span></s>

<s><span style="color: rgb(149, 165, 166);">Le bouton ![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376935539.png) permet de sortir sur l'imprimante ticket de caisse un récapitulatif des ventes de la session, article par article (ne figurent que les articles passés en caisse), en ordre alpha, avec la quantité vendue pour chacun.</span></s>

<p class="callout warning"><s><span style="color: rgb(149, 165, 166);">Éviter d'imprimer le "Z" en fin de journée quand on est une grosse épiceries avec plein d'articles : on peut rapidement être au bout du rouleau (de l'imprimante !).</span></s></p>

##   


## Fonctionnement sans internet

Le point de vente continue à fonctionner si vous avez des coupures d'internet pendant la journée. Dans ce cas, les ventes vont être gardé sur votre navigateur, et seront envoyées quand vous aurez de nouveau une connexion. Un indicateur en haut à droite mentionne le nombre de tickets non transmis au serveur.

![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376791420.png)

<p class="callout danger">Avant de fermer votre caisse en fin de journée, assurez vous que tous les tickets ont été transmis au serveur.  
Dans le cas contraire, merci de ne pas fermer votre caisse, et de contacter le service informatique.</p>

<p class="callout info">Pour accélérer la synchronisation, vous pouvez cliquer sur l'icône ![](https://librairie.grap.coop/uploads/images/gallery/2020-10/scaled-1680-/image-1603376814670.png).</p>

Quand vous récupérez une connexion :

- cliquer sur le nombre de ticket non transmis
- Attendre que les ventes se transmettent (cela peut prendre plusieurs minutes, s'il y a beaucoup de tickets non transmis).
- une fois que l’icône est de nouveau verte, vous pouvez fermer votre caisse

![image.png](https://librairie.grap.coop/uploads/images/gallery/2026-04/scaled-1680-/Fdsimage.png)

<p class="callout success">Si vous aviez des tickets non validés (pas de paiement) et qu'une coupure survenait, sachez qu'au redémarrage, vous pourriez retrouver vos tickets en l'état.</p>