Documentation12 min de lecture

Lignes de commande : ce que le client lit, et ce qu'il ne doit pas voir

Douze modules OCA du dépôt `sale-workflow` reprennent le contrôle de la ligne de commande dans Odoo 18 Community : `sale_order_line_no_print` masque certaines lignes du PDF et du portail client **tout en les gardant visibles en interne**, et `sale_order_report_without_price` (version 18.0.1.0.0) produit une variante du devis **sans aucun prix**. Les dix autres, du numéro de ligne stable à la saisie directe en liste.

Équipe au travail sur plusieurs ordinateurs portables

Un devis est un document commercial avant d'être un enregistrement. Ce qu'il montre — le libellé d'une ligne, une note technique, un code produit interne, un prix — décide de la façon dont le client le lit, et parfois de la vente.

Odoo construit ces libellés à sa manière, et n'offre aucun moyen simple de masquer une ligne. Douze modules communautaires rendent ce contrôle à l'entreprise.

Résumé

Quatre modules agissent sur ce que le client voit : sale_order_line_description n'affiche que la description de vente du produit au lieu de la construction standard d'Odoo, sale_line_name_option retire le code interne du produit, sale_order_line_no_print masque des lignes entières du PDF et du portail, et sale_order_report_without_price produit un document sans aucun montant.

Trois ajoutent de l'information interne sans polluer le document : une note libre par ligne, un commentaire destiné au fournisseur, et les valeurs d'attributs réellement utilisées — y compris celles des attributs configurés sans variantes.

Deux donnent une référence stable : un numéro de ligne qui suit jusqu'à la facture et au portail, et une référence de commande client par ligne propagée jusqu'aux lignes de facture. Trois enfin changent la façon de travailler : un écran de saisie directe des lignes, un écran de consultation transversale, et des étiquettes pour classer les lignes par motif.

L'essentiel

  • Masquer une ligne du PDF et du portail en la gardant visible en interne — l'information stratégique reste interne.
  • Un devis sans prix en un clic, pour transmettre un document à qui ne doit pas voir les montants.
  • Le libellé maîtrisé : description de vente seule, ou suppression du code produit — deux modules, deux degrés.
  • Un numéro de ligne stable, propagé au PDF, au portail et aux lignes de facture.
  • Une référence client par ligne, propagée jusqu'à la facture — le cas d'une commande qui couvre plusieurs références client.
  • Deux écrans de lignes : l'un pour saisir vite (il crée l'en-tête tout seul), l'autre pour chercher et analyser.
  • Des étiquettes sur les lignes : promotion, échantillon, remplacement, urgence — l'analyse que les champs standards ne permettent pas.

Ce que ces modules ajoutent à l'instance

ModuleCe qu'il changeVersionLicence
sale_order_line_descriptionLe libellé = la description de vente seule18.0.1.0.0AGPL-3
sale_line_name_optionLe libellé sans le code produit18.0.1.0.1AGPL-3
sale_order_line_no_printMasque des lignes du PDF et du portail18.0AGPL-3
sale_order_report_without_priceUn rapport de devis sans montants18.0.1.0.0LGPL-3
sale_order_line_noteUne note libre par ligne18.0.1.0.0AGPL-3
sale_line_vendor_commentUn commentaire fournisseur sur la ligne18.0.1.0.0LGPL-3
sale_order_line_product_attribute_valuesLes valeurs d'attributs réellement utilisées18.0.1.0.1LGPL-3
sale_order_line_sequenceUn numéro de ligne stable, jusqu'à la facture18.0.1.3.0AGPL-3
sale_order_line_client_order_refUne référence client par ligne18.0.2.0.0AGPL-3
sale_order_line_inputUn écran de saisie directe des lignes18.0.1.0.1AGPL-3
sale_order_line_menuUn écran de consultation des lignes18.0.1.0.0AGPL-3
sale_order_line_tagDes étiquettes sur les lignes18.0.1.0.0AGPL-3

Tous viennent du dépôt OCA sale-workflow, branche 18.0 — le plus gros dépôt du catalogue avec 172 modules, dont la moitié porte sur la commande et ses lignes.

Où les trouver dans Odoo

MenuModuleCe qu'on y fait
Ventes ▸ Commandes ▸ Lignes de commandesale_order_line_menuChercher et analyser les lignes, sans en créer
Ventes ▸ Commandes ▸ Sales Orders Linessale_order_line_inputSaisir des lignes directement, en liste
Ventes ▸ Configuration ▸ Commandes clients ▸ Sales Order Line Tagssale_order_line_tagGérer les étiquettes de lignes
Ventes ▸ Configuration ▸ Commandes clients ▸ Terms and conditions Templatessale_order_note_templateLes modèles de conditions générales

Les huit autres n'ajoutent aucun menu : ils modifient le formulaire de commande, les rapports PDF ou la page du portail client.

Maîtriser ce que le client voit

Le libellé d'une ligne

Odoo compose le libellé d'une ligne en combinant la référence interne, le nom du produit et sa description de vente. C'est pratique en interne, et discutable sur un devis envoyé à un client — qui n'a rien à faire de votre codification.

  • sale_order_line_description affiche uniquement la description de vente de la fiche produit, pour les utilisateurs autorisés. C'est le contrôle le plus fin : le texte visible par le client est celui qu'on a écrit pour lui.
  • sale_line_name_option est plus simple : une option de configuration qui retire le code produit de la description, en gardant le reste.

Les deux ne se cumulent pas utilement : on choisit selon le degré de contrôle voulu, et selon qui doit en décider — un réglage global, ou un droit donné à certains utilisateurs.

Masquer une ligne, ou tous les prix

sale_order_line_no_print masque certaines lignes dans les documents PDF — devis, commande, facture — et dans la vue portail, tout en les gardant visibles dans l'interface de gestion. Le besoin, énoncé par le module lui-même : garder internes des informations utiles à l'entreprise mais stratégiques ou non pertinentes pour le client.

L'usage le plus fréquent est la ligne de détail technique ou de composant, visible par la production et inutile au client. Le second est la ligne à montant nul qui alourdit le document.

sale_order_report_without_price répond à un besoin voisin : une variante du rapport sans prix unitaire, remise, taxes, sous-total ni total. On transmet alors une confirmation de commande ou un bon de préparation à quelqu'un qui n'a pas à connaître les montants — un transporteur, un chantier, un service technique — sans retoucher le document à la main.

C'est le pendant, côté document, de ce que les types de commande font côté circuit.

Ajouter de l'information sans polluer le document

ModuleChamp ajoutéÀ quoi il sert
sale_order_line_noteUne note libre, texte longConsigner une information de ligne sans toucher à la description commerciale
sale_line_vendor_commentUn commentaire fournisseurTransmettre une précision à l'achat lié à la ligne
sale_order_line_product_attribute_valuesLes valeurs d'attributs utiliséesTracer et filtrer les ventes par valeur d'attribut

Le troisième résout un angle mort réel. Quand un attribut produit est configuré en mode « ne jamais créer de variantes », sa valeur n'existe nulle part de façon exploitable après la vente : elle a servi à configurer, puis elle s'évapore. Le module l'enregistre sur la ligne.

Concrètement : on peut enfin répondre à « combien avons-nous vendu en finition chêne l'an dernier ? » sans relire les devis un par un.

Le premier module, la note de ligne, mérite une recommandation d'usage : il faut décider une fois pour toutes si l'information technique va dans la note ou dans la description, sinon elle se retrouve à moitié dans l'une et à moitié dans l'autre — et le document envoyé au client devient imprévisible.

Des références qui tiennent du devis à la facture

Le numéro de ligne

sale_order_line_sequence affiche un numéro de ligne visible et stable, et le propage au rapport PDF, à la page du portail client et aux lignes de facture générées depuis la commande.

L'intérêt apparaît au premier échange un peu technique avec un client : « la ligne 7 », ça se dit au téléphone. Sans numéro stable, on désigne les lignes par leur position dans l'ordre d'affichage, qui change dès qu'on en ajoute une.

La référence client, par ligne

Odoo porte une référence de commande client au niveau de l'en-tête. sale_order_line_client_order_ref l'ajoute au niveau de la ligne, la propage jusqu'aux lignes de facture, et peut l'afficher dans les PDF de devis et de facture selon un paramètre par société.

Le cas d'usage est précis : un client passe une seule commande qui couvre plusieurs de ses références internes — plusieurs chantiers, plusieurs services, plusieurs bons de commande. Sans référence par ligne, il ne peut pas rapprocher votre facture de ses engagements, et il la met de côté.

Pour une entreprise qui vend à des grands comptes ou au secteur public, ce module fait gagner des jours de délai de règlement. C'est rarement ainsi qu'on le présente, et c'est pourtant son effet.

Deux écrans de lignes, deux usages

sale_order_line_inputsale_order_line_menu
IntentionSaisir viteChercher et analyser
Création de lignesOui, directement dans la listeNon
Création d'en-têteAutomatique dès qu'un client est renseigné—
ContenuToutes les lignes de la base, modifiables en ligneProduit, quantités, statuts, factures liées
Dépend desale_managementsale

La différence la plus importante est la deuxième ligne du tableau, et elle décide du choix. Le premier module s'adresse à une prise de commande répétitive — un négoce qui saisit des dizaines de lignes par téléphone — où passer par le formulaire complet coûte des secondes à chaque fois.

Le second s'adresse à une question transversale : quelles lignes de quel produit, dans quel état, facturées ou non. C'est un écran d'analyse, pas de saisie.

Installer les deux est possible et crée deux menus voisins, donc une confusion. Nous conseillons de choisir celui qui correspond au métier dominant, et d'assumer ce choix.

Dernier module du lot, sale_order_line_tag ajoute des étiquettes libres sur les lignes — promotion, échantillon, remplacement, urgence. Elles se gèrent dans un menu de configuration dédié, et donnent la maille d'analyse que les champs standards ne permettent pas : combien d'échantillons offerts ce trimestre, quelle part de remplacements sous garantie.

Limites connues

  • Masquer une ligne reste une décision commerciale : une ligne masquée sur le PDF existe toujours dans les totaux. Il faut vérifier que le document reste cohérent.
  • Deux modules de libellé qui se chevauchent : choisir entre la description seule et la suppression du code produit, pas les empiler.
  • Deux écrans de lignes aux noms voisins : installer les deux déroute les utilisateurs.
  • La note de ligne n'a d'intérêt qu'avec une règle d'usage écrite : sans elle, l'information se disperse entre note et description.
  • sale_order_line_input crée l'en-tête de commande automatiquement : pratique en saisie rapide, surprenant si on ne l'attend pas.
  • Les étiquettes ne servent que si elles sont peu nombreuses : une liste de trente étiquettes n'analyse plus rien.

Identité technique

Les douze modules viennent du dépôt OCA sale-workflow, branche 18.0, sous licence AGPL-3 ou LGPL-3 selon le module (voir le tableau en tête de fiche). Ils dépendent tous de sale, trois d'entre eux de sale_management, et aucun n'exige de module tiers.

Ce dépôt est le plus vaste du catalogue OCA : 172 modules pour la seule gestion des ventes. Les autres familles sont traitées dans les fiches voisines — types de commande et workflows pour le circuit, et achats pour le symétrique côté fournisseur.

Questions fréquentes

Peut-on masquer une ligne de commande au client ?

Oui, avec sale_order_line_no_print : la ligne disparaît des PDF — devis, commande, facture — et de la vue portail, tout en restant visible dans l'interface de gestion. L'usage courant est la ligne de détail technique, utile en interne et sans intérêt pour le client. Attention à la cohérence du document : la ligne masquée compte toujours dans les totaux.

Comment envoyer une confirmation de commande sans les prix ?

sale_order_report_without_price ajoute une variante du rapport PDF qui masque prix unitaire, remise, taxes, sous-total et total. On la transmet à un transporteur, un chantier ou un service technique sans retoucher le document à la main.

Comment enlever le code produit des libellés du devis ?

Deux modules, deux degrés. sale_line_name_option est une option de configuration qui retire le code interne de la description. sale_order_line_description va plus loin : il affiche uniquement la description de vente de la fiche produit, pour les utilisateurs autorisés. On choisit l'un ou l'autre, pas les deux.

À quoi sert une référence client sur chaque ligne ?

À permettre au client de rapprocher votre facture de ses engagements quand une seule commande couvre plusieurs de ses références — plusieurs chantiers, services ou bons de commande. sale_order_line_client_order_ref la propage jusqu'aux lignes de facture et peut l'imprimer sur les PDF. C'est souvent du délai de règlement gagné.

Quelle différence entre les deux écrans de lignes de commande ?

sale_order_line_input sert à saisir : il permet de créer des lignes directement en liste, et crée même l'en-tête de commande automatiquement dès qu'un client est renseigné. sale_order_line_menu sert à consulter : vue transversale pour chercher et analyser, sans création possible. Installer les deux crée deux menus voisins et déroute les utilisateurs.

Se faire accompagner

Ces douze modules paraissent anecdotiques et touchent pourtant au document le plus lu de l'entreprise. Le piège habituel est de les empiler : deux modules de libellé, deux écrans de lignes, une note dont personne ne connaît la règle d'usage — et un devis dont plus personne ne prévoit le rendu.

Nous partons donc du document : nous imprimons un vrai devis, nous listons ce qui doit changer, et nous n'installons que ce qui sert cette liste. Le reste attend d'avoir une raison. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Le devis est le document le plus lu de l'entreprise : ces douze modules décident de ce qu'il montre. Masquer une ligne, retirer un code produit, numéroter les lignes, porter une référence client par ligne, saisir en liste. À installer en partant d'un vrai devis imprimé, pas d'une liste de modules. Parlons de vos documents commerciaux.

Documentation OCAVentesDevis

Partager

Fiches connexes

Écran de configuration des accès et des permissions
Treize modules OCA complètent le dépôt `sale-workflow` pour Odoo 18 Community : `sale_tier_validation` (version 18.0.1.1.0) soumet la confirmation d'une commande à une **approbation à plusieurs niveaux**, et `sale_validity_auto_cancel` **annule automatiquement les devis périmés** depuis un nombre de jours configurable. Les onze autres, de la visibilité limitée à son équipe commerciale à la liste de souhaits d'un client.
Lire la suite
Documentation OCA, Ventes
Utilisation d'un logiciel de gestion sur tablette et ordinateur
Vingt-quatre modules OCA du dépôt `sale-workflow` traitent le client et l'organisation commerciale dans Odoo 18 Community : `portal_sale_personal_data_only` corrige un défaut de confidentialité : par défaut, un utilisateur du portail voit **toutes les commandes dont un membre de son organisation est suiveur**. Les vingt-trois autres, de l'adresse de livraison restreinte au calendrier des visites commerciales.
Lire la suite
Documentation OCA, Ventes