Les produits et les prix
Index d'articles
- Introduction
- Créer une base de données
- Configuration de base
- L'interface
- Importer des données
- Les partenaires
- Utilisateurs et permissions
- Les produits et les prix
- La comptabilité analytique
- Les achats
- La gestion de la relation client
- Les ventes
- La gestion des stocks
- GPAO
- Les ressources humaines
- La gestion de projet
- La gestion documentaire
- Les workflows
Caractéristiques des produits
Les produits peuvent être de 3 types différents;
- Produits stockables
- Services
- Consommables
Les consommables sont des produits qui sont traités comme les produits stockables, sauf qu'ils ne sont pas pris en compte dans la gestion de stock. OpenERP 5 considère donc qu'il y en a toujours suffisamment. Vous pouvez utiliser ce genre de produit pour représenter l'eau ou l'électricité consommée. En cas de nomenclature, le prix d'un consommable est inclus dans le prix final du produit mais il n'y a jamais besoin de lancer une commande, ou une production, pour ce produit.
| Type de produit | Liste de colisage | Commande par le scheduleur |
| Produit stockable | Oui | Oui |
| Services | Non | Oui (sous la forme d'une tâche) |
| Consommables | Oui | Non |
Les produits stockables et les services peuvent être gérés de 2 manières;
- Livraison sur stock
- Fabrication à la commande
Dans le premier cas, livraison sur stock, il est obligatoire de définir une règle de stock minimum pour chaque produit stockable. C'est cette règle de stock qui va être utilisée pour générer les commandes ou les ordres de fabrication. Un service en livraison sur stock n'est pas pris en compte par OpenERP 5 (car ont ne stocke pas des services). Les services doivent donc être exclusivement défini comme 'Fabrication à la commande'.
Les produits stockables et les services peuvent être approvisionné de 2 manières;
- Produire
- Acheter

Prix d'achat, prix de vente
OpenERP est construit autours de 3 prix:
- Le prix standard est le seul champ obligatoire. Il représente les prix d'achat et le prix de valorisation du stock. Il peut également servir de base de calcul du prix client. Le prix standard peut être:
- Fixe
- Calculé sur la base de la moyenne pondérée des prix d'achat
- Calculé sur la base de la somme des prix standard des composants d'une nomenclature,
- Le prix de vente est un champ non obligatoire destiné à servir de base pour le calcul du prix de vente
- Le prix client est un champ calculé qui correspond au prix de vente pour un client donné.
Il existe également, en installant le module 'customer_price', un quatrième prix qui est alors le prix conseillé de revente au client final.
Intégration des services et des tâches de projets
Un service n'est pas stockable, il est soit produit en interne, soit acheté à un partenaire.
Si il est acheté, une commande est générée envers le fournisseur.
Si il est produit en interne, il doit exister une nomenclature contenant une gamme qui défini le processus de fabrication. A partir de là, ce sont une, ou plusieurs tâches, qui sont générées. Ces tâches peuvent alors être assignées, ou sélectionnées, par les utilisateurs de OpenERP. Lorsqu'une tâche est clôturée, elle génère une entrée dans la timesheet de l'employé à qui elle était assignée. Comme la timesheet est liée à un compte analytque, et si la commande était liée au même compte, nous avons alors des écritures balancées sur ce compte.
Si cette tâche doit être assignée à un projet, ou à une personne spécifique, c'est par la définition d'une gamme que le produit, de type service, et le projet vont être lié.
Les délais et méthodes d'approvisionnement
Lors d'une vente, le calcul de la date de disponibilité pour livraison prend en compte le champ 'Délai de livraison au client:' du second onglet de la fiche produit.
Lors d'un achat, le calcul de la date de livraison prend en compte le champ 'Délais de livraison' du fournisseur associé au produit. Si ce champ est vide, alors la date de livraison est fixée au lendemain de la date de commande.
Si des règles de stocks minimaux ont été définies, alors la génération des commandes prends en compte ces règles et les délais de livraison des fournisseurs.
Le fournisseur sélectionné est le fournisseur ayant le numéro de séquence le plus bas.
Les listes de prix
Les listes de prix dans OpenERP permettent d'encoder les prix de vente et d'achat d'un produit selon différentes conditions comme la période, la quantité commandée, le type de produit, le partenaire, etc.
De base, OpenERP fonctionne avec 2 types de prix, le prix standard et le prix de vente. C'est le prix standard qui est utilisé pour les achats et la valorisation des stocks.
Il est possible de rajouter un type prix en utilisant le menu 'Produits > Configuration > Calcul des prix > Types de prix'. Par exemple un prix basé sur le volume du produit.

Ce nouveau type de prix sera disponible dans l'écran de saisie des règles d'une version d'une liste de prix.

Pour chaque type de tarif, OpenERP permet la création d'une ou de plusieurs liste de prix. Une liste de prix se décline elle-même en version comprenant différentes règles.
| Type de liste de prix | Permet de définir le champ d'utilisation, achat ou vente |
| Liste de prix | Permet de définir la devise et de la relier un partenaire |
| Version de liste | Permet de définir une période (date de début - date de fin) |
| Règles | Permet de définir la méthode de calcul du prix sur la base de règles priorisées. |
Une version de liste de prix est constituée d'un ensemble de règles qui s'appliquent sur les prix des produits durant une période donnée pour un ou plusieurs partenaires.
Lors d'une commande OpenERP évalue alors les règles par priorité afin de sélectionner laquelle il doit appliquer pour le calcul du prix demandé. Si plusieurs règles sont applicables, seule la première est calculée.
L'ordre d'application des règles est donné par le champ 'Priorité', de la priorité la plus faible à la plus élevée. Dans chaque liste de prix, il doit exister une règle par défaut, qui va donner le prix au cas ou aucune règle n'est satisfaite.
Créer une nouvelle liste de prix
- La priorité est de 4, cela indique que cette règle sera prise en compte avant la règle par défaut (priorité 5)
- La méthode d'arrondi vous permet de spécifier des prix arrondis à 5 centimes (0.05)
- Le 'Prix de base' indique une ristourne. Par exemple 0.20 pour une ristourne de 20% par rapport au prix de base. Si votre prix est basé sur le coût standard vous pouvez indiquer -0.15 pour faire 15% de bénéfice sur le prix de vente par rapport au coût standard.
- Le calcul de l'arrondi se fait au nombre le plus proche. Par exemple, si vous indiquez 0.05 dans cette case, un prix de 45.66 sera arrondi à 45.65.
- Les marges minimum et maximum permettent de garantir une marge donnée par rapport au prix de base. Ainsi, une marge de 10.- permet de vérifier que la ristourne ne descend pas en dessous de 10.- de marge.
Le prix d'achat selon le fournisseur
Par défaut, le prix d'achat est égal au prix standard. Si vous voulez utiliser des listes de prix par fournisseurs et par quantités vous devez utiliser les champs du pop up 'Information sur le fournisseur' dans lesquels vous allez mentionner le prix unitaire pour chaque tranche de quantité.

Ce produit sera livré aux conditions suivantes par ce fournisseur:
- Délais de livraison 2 jours
- Quatité minimale d'achat 10 unités (utilisé par la GPAO)
- Prix pour quantité inférieure à 10: 4.-
- Prix pour une quantité entre 10 et 99: 3.-
- Prix pour une quantité égale ou supérieure à 100: 2,50
Il faut maintenant modifier la liste des prix d'achat pour prendre en compte ces conditions.
Dans le menu 'Produit > Listes de prix > Version de la liste de prix', choisissez 'Default Purchase Pricelist Version' pour l'éditer.
Ouvrez le pop up de la ligne 'Default Purchase Pricelist Line' et changer le paramètre sur lequel se base le calcul.

Avec cette configuration, dans le pop up de sélection des produits d'un ordre d'achat, le prix standard correspond au champ 'Prix standard' du produit et le champ 'Prix client' est calculé dynamiquement à partir des rabais de quantité donné par le fournisseur.
Attention, il faut toujours conserver une règle par défaut (ramasse miettes) car si un produit n'a pas de fournisseur attitré, possédant sa liste de prix, alors la valeur du prix de ce produit sera nulle.
L'analyse des marges
OpenERP dispose de 2 modules 'sale_margin' et 'product_margin' pour faciliter l'analyse des marges.
Le premier module ajoute un calcul automatique de la marge totale sur une commande de vente (en bas de page) et des menus d'analyse par produits, catégories de produits et partenaires dans le module 'Finance & Comptabilité > Reporting > Invoice'.
Le second module ajoute un menu d'analyse dans le module produit, qui permet de visualiser, par produit et par période, les marges avec les paramètres suivants:
- Ecart des ventes: La différence entre le chiffre d'affaire attendu de vente et le chiffre d'affaire réel
- Marge totale: La différence entre le chiffre d'affaire réel des ventes et le montant total des achats
Attention, il n'est pas tenu compte des rabais accordés sur la vente d'un produit. L'écart des ventes ne tiens compte que des modifications de prix apportées directement sur la valeur de l'objet, pas la remise éventuelle.
Dans le cas d'un besoin d'analyse des marges sur des projets, il faut utiliser le module 'account_analytic_analysis' qui va fournir le même genre d'information par compte analytique.
Les niveaux de stock et les méthodes d'approvisionnement
L'état de stock de chaque produit est représenté par 2 valeurs:
- Quantité disponible (ce qui est physiquement dans l'entreprise – valorisé en compta)
- Stock virtuel (ce qui est dans l'entreprise + ce qui est en commande – ce qui est vendu mais en attente de livraison)
La méthode de gestion et d'approvisionnement du produit est représentée par 2 champs;
- Le premier indique QUANT il faut réapprovisionner (MTO ou MTS).
- Le second indique COMMENT il faut réapprovisionner (Produce / Buy). C'est ce champ qui indique au système si il doit générer un ordre de fabrication ou d'approvisionnement.
- Si le produit est en mode MTO (sur commande), la proposition d'achat est générée par une confirmation de vente.
- Si le produit est en mode MTS (sur stock), la proposition d'achat est générée par les règles de stock minimum.
Les unités de mesures
OpenERP permet la gestion de produits avec plusieurs unités de mesure. Des unités de mesures appartenant à la même catégorie peuvent être converties entre elles.
Aller dans le menu 'Produits > Configuration > Unités de mesure > Catégories des unités de mesure' et ajouter une nouvelle catégorie d'unité, le temps.
Aller dans le menu 'Produits > Configuration > Unités de mesure > Unités de mesure' et ajouter 2 nouvelles unités.
- La journée
- L'heure
L'unité de base, dans laquelle le stock est tenu à un facteur de 1. Si l'unité de base est la journée, alors l'heure à un facteur de 8 (il y a 8 heure dans une journée de travail). Si l'unité de base est le Kilo, alors le gramme à un facteur de 1'000 (il y a 1'000 grammes dans un kilo) et la tonne un facteur de 0,001 (il y a 0.001 tonne dans un kilo).
La gestion du packaging
OpenERP permet de gérer le packaging en unité logistique comme des palettes ou des caisses de bières.
Dans la fiche produit, l'onglet 'Unité logistique' permet de spécifier les packagings disponibles.
Il ne faut pas confondre avec les unités de stocks, le packaging disponibles sont simplement là pour générer une alerte dans le cas ou un vendeur tente de créer une commande de vente avec une quantité qui ne correspond pas aux packaging.
Si le packaging doit influencer sur le stock, et le tracking (par exemple pour des caisses consignées) il faut alors créer une nomenclature qui va contenir la caisse consignée et les produits contenus, le tout prend alors la forme d'un nouveau produit qui va automatiquement générer les mouvements de stocks correspondants.
Multi devises
Chaque liste de prix est exprimée dans une seule devise. Si votre entreprise vend ses produits dans plusieurs devises, il faut créer autant de listes de prix que de devises concernées. Seulement, les tarifs d'une liste de prix peuvent dépendre d'une autre liste, ce qui évite de redéfinir toutes les conditions de chaque produit. Ainsi la liste de prix en EUR peut être basée sur la liste de prix en CHF. Ainsi, toute modification de la liste de prix en CHF sera répercuté sur la liste en EUR, cette dernière ne fait que la conversion selon le cours indiqué.
Si notre société de négoce désire lancer un catalogue produits dans une nouvelle devise, plusieurs solutions s'offrent alors:
- Encoder les prix dans une nouvelle liste de prix indépendante et tenir à jour les listes dans deux devises séparément.
- Créer un champ sur la fiche produit pour cette nouvelle devise et faire dépendre la nouvelle liste sur ce champ. Les prix sont alors maintenus séparément mais au niveau de la fiche produit.
- Créer une nouvelle liste de prix pour la seconde devise et faire dépendre cette liste sur une autre liste de prix ou un prix produit. La conversion des devises se fait alors automatiquement au dernier taux en vigueur.
Les frais de transport
Installer le module 'Delivery' qui va permettre d'ajouter une position 'Frais de transport' dans vos devis et factures.
Dans le menu 'Produits > Produits, créer un produit, de type service, dont l'unité est le Km.
Dans le menu 'Gestion des stocks > Configuration > Livraison > Méthode de livraison', créer une méthode en spécifiant le partenaire fournisseur et le produit. Cela sera utilisé ensuite par OpenERP pour générer une commande de ce service à ce fournisseur.
Dans le menu 'Gestion des stocks > Configuration > Livraison > Liste de Prix Livraison',créer une liste de prix de transport. Vous devez spécifier des règles de manière à ne pas laisser de cas non spécifier. Par exemple,
- Commande de moins de 10 CHF - > Transport = 2 CHF
- Commande de 10 à 100 CHF - > Transport = 10 cts par Kg (utilise le poids brut du produit)
- Commande de plus de 100 CHF -> Transport = 10 CHF

L'onglet 'Destination' permet de définir une zone géographique de validité pour une liste de prix, par exemple dans un pays, une zone géographique ou un range de NPA.
Lors de la saisie d'une commande d'un client, c'est le bouton 'Delivery Costs' de la zone droite de l'écran de saisie d'un devis qui permet d'ajouter des lignes de frais de livraisons. Il est possible d'avoir plusieurs lignes de frais de port en définissant plusieurs transporteur.
La gestion des emplacements de stock
OpenERP utilise une méthode de gestion des stocks analogue au système de double entrée comptable. Un stock se déplace toujours d'un lieu A vers un lieu B:
- De fournisseur à stock
- De stock à sous-traitant
- De sous-traitant à stock
- De stock à client
- De client à réparation
- ....
Cette méthode facilite la traçabilité des produits lors de la gestion de stock en consignation ou de retour de marchandise.
Un entrepôt se compose de 3 emplacements;
- Input
- Stock (détermine le nombre de produit effectivement disponible)
- Output (ne doit pas – contrairement à Input – se situer sous l'emplacement 'Stock' pour éviter la prise en compte de ces produits dans l'inventaire de l'entreprise et la valorisation du stock.
Pour mettre en place un contrôle de qualité à la réception des produits, il faut placer 'Input' au même niveau que 'Stock'. Ainsi les produits de l'emplacement 'Input' ne pourront pas être assignés à des livraisons avant d'être déplacés manuellement dans l'emplacement 'Stock'
