Un catalogue de négoce reçoit chaque année des tarifs fournisseurs sous forme de fichiers Excel — parfois des dizaines de milliers de lignes. Les saisir est impossible, les importer est le seul chemin praticable.
Treize modules communautaires traitent ce segment : l'import, les révisions, l'archivage, et quelques champs qui manquent à la ligne de tarif.
Résumé
Six modules portent la ligne de tarif fournisseur : import Excel avec des modèles d'import réutilisables, extension de cet import pour appliquer une marge de vente en une fois, révision datée par pourcentage, archivage d'une ligne au lieu de sa suppression, commentaire libre par tarif, et association d'un type d'opération à un tarif — pour qu'un même produit ait des prix différents selon le circuit de réception.
Trois concernent le fournisseur du produit : le fournisseur principal calculé comme le moins cher de la liste, une variante calculée à partir de l'ordre des fournisseurs, et une séquence de numérotation de lots par produit.
Quatre portent sur la configuration du produit : la route sur commande signalée par un indicateur sur la fiche, activable variante par variante, deux champs de description commerciale (courte et longue), une équipe commerciale par défaut sur le produit, et la possibilité de modifier l'unité de mesure d'un produit déjà utilisé dans des mouvements.
L'essentiel
- L'import Excel des tarifs fournisseurs, avec des modèles d'import réutilisables.
- Une marge de vente appliquée à l'import, pour calculer les prix de vente en une passe.
- Des révisions datées de tarif : nouvelle période, prix augmenté d'un pourcentage.
- L'archivage d'une ligne de tarif plutôt que sa suppression — l'historique est conservé.
- Un type d'opération par tarif : un prix différent selon le circuit de réception.
- Le fournisseur principal calculé comme le moins cher, ou selon l'ordre défini.
- La route sur commande activable par variante, et non seulement par modèle.
- L'unité de mesure modifiable même après des mouvements de stock, sous conditions.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Tarif fournisseur | product_supplierinfo_import, product_supplierinfo_import_margin, product_supplierinfo_revision, product_supplierinfo_archive, product_supplierinfo_comment, product_supplierinfo_stock_picking_type | 6 |
| Fournisseur et lots | product_main_supplierinfo, product_lot_sequence | 2 |
| Configuration produit | product_route_mto, product_variant_route_mto, product_sale_description, product_sale_team, product_uom_updatable | 5 |
Les menus ajoutés sont dans Achats ▸ Configuration : l'assistant d'import des tarifs fournisseurs et ses modèles d'import.
Importer un tarif fournisseur sans le ressaisir
Un fournisseur envoie son tarif annuel : un fichier Excel de plusieurs milliers de lignes, avec ses propres colonnes et ses propres références. Le saisir est hors de question ; l'importer suppose de faire correspondre ses colonnes aux champs d'Odoo — à chaque fois.
product_supplierinfo_importimporte les tarifs depuis un fichier Excel, en rattachant chaque ligne à un produit existant par un champ de correspondance.- Des modèles d'import réutilisables mémorisent la structure du fichier de chaque fournisseur : on ne refait le mappage qu'une fois.
product_supplierinfo_import_marginajoute un champ marge de vente à l'assistant, pour appliquer en une passe la marge à tous les produits importés — et donc calculer les prix de vente.
Le modèle d'import est ce qui transforme l'opération en routine : chaque fournisseur a son format, et ce format ne change pas d'une année à l'autre. Sans modèle, l'import annuel redevient un chantier.
L'extension de marge suppose le module qui construit un prix de vente depuis le tarif fournisseur, décrit dans les listes de prix.
Faire vivre une ligne de tarif
| Module | Ce qu'il permet |
|---|---|
product_supplierinfo_revision | Créer une nouvelle période de validité d'un tarif en appliquant un pourcentage de hausse ou de baisse, l'ancienne étant conservée |
product_supplierinfo_archive | Archiver une ligne de tarif au lieu de la supprimer — l'historique des commandes reste lisible |
product_supplierinfo_comment | Un commentaire libre par ligne : conditions particulières, remarques de négociation |
product_supplierinfo_stock_picking_type | Associer un type d'opération à un tarif — un prix différent selon le circuit de réception |
Le premier est le symétrique exact de la révision des listes de prix de vente : on augmente de 3 %, on date, et l'ancien tarif reste consultable. C'est ce qui permet de répondre à « pourquoi payons-nous ce prix ? » un an plus tard.
Le dernier mérite une explication : un même produit peut arriver par deux circuits — livraison directe au chantier ou réception en entrepôt — avec deux prix négociés. Associer le tarif au type d'opération permet au système de choisir le bon.
L'archivage, enfin, résout un dilemme quotidien : supprimer une ligne de tarif obsolète casse la lisibilité de l'historique ; la laisser active fausse les propositions de prix. L'archiver règle les deux.
Qui fournit, et comment on numérote
product_main_supplierinfoaffiche sur la variante un fournisseur principal calculé : le moins cher de la liste des fournisseurs configurés.product_lot_sequencepermet de définir une séquence de numérotation des lots propre à chaque produit, proposée automatiquement à la création d'un lot.
Le premier répond à la question de l'acheteur pressé : chez qui acheter cet article maintenant. Sans lui, il faut ouvrir l'onglet des fournisseurs et comparer.
Le second est la brique dont dépend la création automatique de lots à la réception, déjà rencontrée côté entrepôt : sans séquence par produit, les lots générés portent une numérotation générique, illisible pour les opérateurs.
Voir réceptions et lots automatiques pour le mécanisme complet.
Quatre réglages de la fiche produit
| Module | Ce qu'il ajoute |
|---|---|
product_route_mto | Un indicateur sur le produit disant s'il est réapprovisionné sur commande, sans ouvrir le détail des routes |
product_variant_route_mto | L'activation de la route sur commande variante par variante, et non seulement au niveau du modèle |
product_sale_description | Deux champs de description commerciale — une courte, une longue au format riche |
product_sale_team | Une équipe commerciale par défaut sur le produit — brique technique pour d'autres modules |
product_uom_updatable | La modification de l'unité de mesure d'un produit déjà utilisé dans des mouvements, sous conditions |
Le deuxième répond à un besoin concret : sur un modèle à variantes, certaines sont tenues en stock et d'autres fabriquées à la commande. Odoo ne permet de choisir qu'au niveau du modèle.
Le dernier lève une restriction d'Odoo : une fois qu'un produit a bougé en stock, son unité de mesure est figée — pour de bonnes raisons de cohérence historique. Le module autorise le changement sous conditions. C'est un outil de reprise de données, à manier avec précaution et à tester sur une copie.
L'équipe commerciale sur le produit est la brique dont dépend l'affectation automatique d'équipe décrite dans clients, portail et organisation.
Limites connues
- L'import de tarifs suppose une correspondance fiable entre les références du fournisseur et les vôtres : c'est le vrai travail, pas le mappage des colonnes.
- La marge appliquée à l'import est uniforme : les exceptions se traitent après.
- Les révisions accumulent des lignes : prévoir l'archivage des périodes anciennes.
- Le fournisseur principal « le moins cher » ignore le délai et la qualité : c'est un indicateur, pas une décision.
product_uom_updatablelève une protection d'Odoo : à réserver à une reprise de données, sur copie d'abord.product_sale_teamest une brique technique : sans module consommateur, il n'a pas d'effet visible.
Identité technique
Les treize modules viennent du dépôt OCA product-attribute, branche 18.0, en licence AGPL-3 sauf product_supplierinfo_archive et product_sale_team (LGPL-3). Plusieurs dépendent de purchase, purchase_stock ou stock ; l'import de tarifs s'appuie sur le traitement de fichiers tableur.
Avec cette fiche, les 105 modules du dépôt product-attribute sont couverts. Les familles voisines : la fiche produit, emballages et unités, les listes de prix, catégories et attributs et étiquetage et classification ABC.
Questions fréquentes
Comment importer le tarif annuel d'un fournisseur ?
product_supplierinfo_import importe les tarifs depuis un fichier Excel et mémorise la structure de chaque fournisseur dans des modèles d'import réutilisables : le mappage des colonnes ne se refait pas chaque année. Son extension permet d'appliquer en une passe une marge de vente à tous les produits importés.
Comment augmenter un tarif fournisseur en gardant l'ancien ?
product_supplierinfo_revision crée une nouvelle période de validité en appliquant un pourcentage de hausse ou de baisse, l'ancienne période restant consultable. C'est ce qui permet de répondre, un an plus tard, à la question « pourquoi payons-nous ce prix ? ».
Peut-on avoir deux prix d'achat selon le circuit de livraison ?
Oui, avec product_supplierinfo_stock_picking_type, qui associe un type d'opération à chaque tarif fournisseur. Un même produit livré directement au chantier ou réceptionné en entrepôt peut ainsi porter deux prix négociés distincts.
Peut-on activer la route « sur commande » sur une seule variante ?
En standard, non : la route se configure au niveau du modèle de produit. product_variant_route_mto permet de l'activer variante par variante — utile quand certaines tailles ou coloris sont tenus en stock et d'autres fabriqués à la demande. product_route_mto ajoute l'indicateur qui le signale sur la fiche.
Peut-on changer l'unité de mesure d'un produit déjà utilisé ?
Odoo l'interdit une fois que le produit a bougé en stock, pour préserver la cohérence historique. product_uom_updatable lève cette restriction sous conditions. C'est un outil de reprise de données : à tester sur une copie avant toute utilisation en production.
Se faire accompagner
L'entretien des tarifs fournisseurs est le travail de catalogue le plus ingrat et le plus rentable : il décide de vos prix de revient, donc de vos marges, donc des décisions commerciales prises toute l'année.
Nous industrialisons donc l'import — un modèle par fournisseur, une correspondance de références stabilisée — avant de parler de marges ou de révisions. Une fois l'import fiable, la mise à jour annuelle devient une demi-journée au lieu d'un trimestre. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- Tarifs fournisseurs : prix, codes et recommandation
- Listes de prix : marge, révisions et impression
- Fiche produit : codification et cycle de vie
En résumé
Le tarif fournisseur importé depuis l'Excel du fournisseur avec un modèle réutilisable, révisé par pourcentage en conservant l'historique, archivé plutôt que supprimé, et différencié par circuit de réception. Plus quatre réglages produit, dont l'unité de mesure enfin modifiable en reprise. Parlons de vos prix de revient.