Documentation8 min de lecture

La caisse : codes-barres, lots, péremption et recherche produit

Le module OCA `pos_lot_barcode` (dépôt `pos`, version 18.0.1.0.1, licence AGPL-3) permet de **scanner un numéro de lot ou de série à la douchette** dans l'interface caisse, au lieu de le saisir au clavier — et `pos_product_expiry` y ajoute l'**évaluation de la péremption** du lot. Dix autres modules traitent les codes-barres multiples, la recherche par fournisseur et l'affichage du ticket.

Lecture d'un code-barres sur un produit en magasin

Dans un commerce, la vitesse d'encaissement se joue sur trois gestes : trouver l'article, scanner son code, saisir son lot. Odoo fait le premier par le nom, le deuxième par un code unique, et le troisième au clavier.

Douze modules communautaires accélèrent ces trois gestes — et terminent le dépôt pos.

Résumé

Trois modules traitent les lots et la péremption : le lot scanné à la douchette, l'évaluation de la péremption du lot vendu, et les codes-barres multiples d'un produit rendus utilisables en caisse.

Deux modules traitent la recherche : la recherche d'un article par les informations fournisseur — nom du fournisseur, code produit chez lui, code-barres fournisseur —, et la référence interne affichée devant le nom du produit dans l'interface et sur le ticket.

Un module traite les prix encodés : une règle de code-barres « produit à prix fixe avec taux de change », pour les codes qui encodent un prix.

Six modules enfin traitent l'affichage et le client : un logo par point de vente sur les tickets, le numéro de commande et la quantité totale affichés dans le résumé, le numéro de TVA du client dans la liste de sélection, sa date de naissance affichée et recherchable, et l'impression anticipée d'une note.

L'essentiel

  • Le lot ou le numéro de série scanné à la douchette.
  • La péremption du lot évaluée à la vente.
  • Les codes-barres multiples d'un produit utilisables en caisse.
  • La recherche d'un article par son fournisseur et son code chez lui.
  • La référence interne affichée devant le nom du produit.
  • Un code-barres qui encode un prix, avec taux de change.
  • Un logo par point de vente sur les tickets.
  • Le numéro de TVA du client dans la liste de sélection.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Lots et codes-barrespos_lot_barcode, pos_product_expiry, pos_product_multi_barcode, pos_barcode_rule_priced_with_change_rate4
Recherche et affichage produitpos_supplierinfo_search, pos_product_display_default_code2
Résumé de commandepos_display_order_number, pos_display_total_quantity2
Client et ticketpos_customer_tree_view_vat, pos_partner_birthdate, pos_config_logo, pos_early_receipt_printing4

Les lots, la péremption, les codes-barres

Saisir un numéro de lot au clavier dans une file d'attente est le genre de contrainte qui fait abandonner la traçabilité : au bout de trois clients, le caissier tape n'importe quoi ou désactive l'option. La douchette règle le problème en un geste.

pos_lot_barcode permet de scanner un numéro de lot ou de série à la douchette dans l'interface caisse. pos_product_expiry y ajoute l'évaluation de la péremption du lot, en s'appuyant sur le module de péremption produit.

Les deux ensemble couvrent l'obligation réelle d'un commerce alimentaire ou pharmaceutique : savoir quel lot est parti chez qui, et ne pas vendre un lot périmé.

  • pos_product_multi_barcode rend utilisables en caisse les codes-barres multiples d'un produit — un article qui existe en plusieurs conditionnements ou dont le code a changé de fournisseur.
  • pos_barcode_rule_priced_with_change_rate ajoute une règle de code-barres « produit à prix fixe avec taux de change », pour les codes qui encodent un prix — ceux des balances de pesée, notamment.

Le dernier répond à un besoin de commerce de détail alimentaire : une balance imprime une étiquette dont le code-barres contient le prix calculé au poids, et la caisse doit le lire tel quel.

Trouver l'article

pos_supplierinfo_search (LGPL-3) étend la recherche de produits de l'interface caisse pour retrouver un article par ses informations fournisseur : nom du fournisseur, code produit chez le fournisseur, code-barres fournisseur.

C'est la recherche que font spontanément les vendeurs d'un négoce : le client arrive avec une référence de catalogue fournisseur, pas avec le nom que l'entreprise a donné à l'article dans son propre catalogue.

pos_product_display_default_code ajoute une option affichant la référence interne devant le nom du produit, dans l'interface de vente et sur le ticket.

Utile quand les vendeurs connaissent les articles par leur référence — ce qui est le cas dans la quincaillerie, la pièce détachée et le négoce technique.

Le résumé de commande et le client

pos_display_order_number et pos_display_total_quantity ajoutent au résumé de commande le numéro de la commande et le nombre total d'articles. Les deux dépendent du conteneur technique du résumé de commande.

Le nombre total d'articles n'est pas cosmétique : c'est le contrôle le plus rapide qu'un caissier peut faire avant de conclure — compter les articles sur le tapis et vérifier qu'ils sont tous passés.

  • pos_customer_tree_view_vat affiche le numéro de TVA du client dans la liste de sélection de l'interface caisse. Indispensable aux commerces qui vendent à des professionnels.
  • pos_partner_birthdate affiche la date de naissance du client dans l'écran de sélection et la rend utilisable en recherche rapide. Il dépend du module de date de naissance des contacts.
  • pos_config_logo permet un logo différent par point de vente sur les tickets — utile aux groupes exploitant plusieurs enseignes.
  • pos_early_receipt_printing permet de générer une note avant encaissement. Il dépend du module de restaurant.

La date de naissance en caisse sert à deux choses très différentes : identifier un client homonyme, et contrôler un âge légal de vente. La seconde justifie son affichage ; la première demande de vérifier qu'on a bien une base légale pour la conserver.

Le socle de la caisse et les modules de fidélité sont traités dans la caisse Odoo et ses modules OCA.

Limites connues

  • pos_product_expiry et pos_early_receipt_printing ont un README réduit à une ligne : leur comportement précis est à évaluer sur instance.
  • pos_product_multi_barcode dépend d'un module OCA d'un autre dépôt (product_multi_barcode), à installer d'abord.
  • La règle de code-barres à prix encodé doit correspondre au format de la balance : chaque fabricant a sa structure de code.
  • La recherche par informations fournisseur alourdit chaque frappe : elle traverse une table de plus.
  • L'affichage de la référence interne allonge les libellés : à vérifier sur un ticket imprimé, qui a une largeur fixe.
  • La date de naissance du client est une donnée personnelle : son affichage en caisse suppose une base légale et une durée de conservation.
  • pos_early_receipt_printing dépend du module restaurant : une application de plus pour un commerce qui n'en est pas un.
  • Deux modules dépendent du conteneur de résumé de commande : l'installer avec eux.

Identité technique

Les douze modules viennent du dépôt OCA pos, branche 18.0 — dont les 27 modules sont désormais tous documentés ici. Onze sont en AGPL-3, pos_supplierinfo_search est en LGPL-3. Les dépendances : point_of_sale pour la plupart, product_expiry pour la péremption, product_multi_barcode pour les codes multiples, partner_contact_birthdate pour la date de naissance, pos_restaurant pour l'impression anticipée, pos_divide_order_summary pour les deux modules d'affichage.

L'autre fiche du dépôt : la caisse Odoo au quotidien.

Questions fréquentes

Peut-on scanner un numéro de lot en caisse ?

Oui : pos_lot_barcode permet de scanner le lot ou le numéro de série à la douchette, au lieu de le saisir au clavier. Saisir un lot au clavier dans une file d'attente fait abandonner la traçabilité au bout de trois clients. pos_product_expiry ajoute l'évaluation de la péremption.

La caisse Odoo gère-t-elle les codes-barres de balance avec prix encodé ?

Avec pos_barcode_rule_priced_with_change_rate, oui : il ajoute une règle de code-barres « produit à prix fixe avec taux de change » pour les codes qui encodent un prix. Vérifiez que la structure correspond à celle de votre balance — chaque fabricant a la sienne.

Peut-on trouver un article en caisse par sa référence fournisseur ?

Oui, avec pos_supplierinfo_search : la recherche retrouve un article par le nom du fournisseur, son code produit chez lui ou son code-barres fournisseur. C'est la recherche que font spontanément les vendeurs d'un négoce, le client arrivant avec une référence de catalogue.

Peut-on avoir un logo différent par magasin sur les tickets ?

Oui : pos_config_logo permet de définir un logo par point de vente, au lieu de celui de la société. Utile aux groupes exploitant plusieurs enseignes depuis une même instance.

Peut-on afficher le numéro de TVA du client en caisse ?

Oui, avec pos_customer_tree_view_vat, qui l'affiche dans la liste de sélection des clients de l'interface caisse. Indispensable aux commerces qui vendent à des professionnels et doivent émettre des factures conformes.

Se faire accompagner

Dans un commerce, chaque seconde gagnée à l'encaissement se multiplie par le nombre de clients. Scanner un lot au lieu de le taper, trouver un article par sa référence fournisseur, voir le nombre d'articles avant de conclure : trois modules, et la file avance.

Nous regardons donc d'abord comment vos vendeurs cherchent les articles — par nom, par référence, par fournisseur — avant d'installer quoi que ce soit, et nous vérifions chaque réglage sur un ticket imprimé réel. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Dans un commerce, la vitesse d'encaissement se joue sur trois gestes : trouver l'article, scanner son code, saisir son lot. Douze modules les accélèrent — lot à la douchette, péremption évaluée, recherche par référence fournisseur. Parlons de votre encaissement.

Documentation OCAPoint de venteOdoo Community

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo