Documentation utilisateur · Dolibarr 23 · Instance Amosan

De l'achat au produit fini : la chaîne complète, prix et coûts sous contrôle

Ce guide déroule un cycle entier : créer le fournisseur, référencer le produit et son prix d'achat, passer la commande, la réceptionner, faire entrer la marchandise en stock, puis fabriquer un semi-fini et un produit fini. À chaque étape, il indique quoi vérifier pour que les prix d'achat et les coûts de production restent justes.

Instance : demo.crm-amosan.com Modules : Fournisseurs · Réceptions · Stocks · Nomenclatures · Ordres de fabrication Version : Dolibarr 23.0 Juillet 2026

Voir aussi

Guide de la GPAO : nomenclatures, ordres de fabrication et postes de travail — le détail des écrans de production évoqués aux chapitres 7 à 9 : cycles de vie des nomenclatures et des OF, onglets de la fiche OF, traçabilité par lot, besoins nets, statuts, droits et réglages.

Le suivi des commandes clients : sept statuts, de la saisie à la facturation — le circuit d'une commande après la vente : ordre de préparation, bon de livraison, expédition, livraison, facturation, et le statut posé à chaque étape.

1Vue d'ensemble de la chaîne

Douze étapes séparent le référencement d'un fournisseur de la sortie d'un produit fini valorisé. Elles se répartissent en deux blocs : l'approvisionnement, qui fait entrer la matière et fixe son coût, puis la production, qui transforme cette matière et propage le coût.

Deux principes gouvernent tout le reste :

  • Le stock ne bouge qu'à trois moments : la validation d'une réception, la déclaration de consommation d'un OF, la déclaration de production d'un OF. Ni la commande, ni la nomenclature, ni la validation d'un OF ne touchent au stock.
  • Le coût se propage vers l'aval, jamais vers l'amont. Le prix d'achat alimente le coût des matières, qui alimente le coût de fabrication du semi-fini, qui alimente celui du produit fini. Un prix d'achat faux en tête de chaîne fausse tout ce qui suit.

Le fil rouge de ce guide

Les exemples s'appuient sur les données réelles de votre instance de démonstration : l'additif diesel WU-SF_DD400 (semi-fini, 800 L par lot de fabrication) élaboré à partir du distillat T3 acheté chez NYNAS et de trois additifs, puis le bidon d'huile moteur PF-500 (produit fini) assemblé à partir d'huile de base, d'additif, d'un bidon et d'une étiquette.

Où trouver les écrans

ÉtapeMenu
FournisseurTiersNouveau tiers
Produit et prix d'achatProduits | ServicesNouveau produit puis onglet Prix d'achat
Commande fournisseurCommerceOrdres d'achat fournisseurs
RéceptionOnglet Réceptions de la commande, ou CommerceRéceptions
Stocks et mouvementsProduits | ServicesStocks
Nomenclatures et OFGPAO

2Créer le fournisseur

  1. Ouvrez TiersNouveau tiers.
  2. Cochez la nature « Fournisseur ». C'est cette case, et elle seule, qui fait apparaître l'onglet Prix d'achat sur les produits et rend le tiers sélectionnable dans une commande fournisseur. Un tiers peut être à la fois client et fournisseur.
  3. Renseignez le nom, le pays et, si vous l'avez, le numéro de TVA intracommunautaire.
  4. Laissez le code fournisseur se calculer. Il est attribué automatiquement selon le masque FOU{0000}FOU0007 pour NYNAS, FOU0009 pour Quimidroga.
  5. Enregistrez.

Ce qu'il vaut la peine de remplir tout de suite

  • Conditions et mode de règlement (onglet Fournisseur) — ils seront repris automatiquement sur chaque commande.
  • Devise, si le fournisseur ne facture pas en euros.

Un onglet Historique prix d'achat est présent sur la fiche de tout fournisseur. Vide au début, il se remplira à chaque évolution tarifaire : voir § 3.

3Le produit et son prix d'achat

3.1 — La fiche produit

Depuis Produits | ServicesNouveau produit, trois champs conditionnent toute la suite :

ChampPourquoi il compte
UnitéC'est l'unité dans laquelle se comptent toutes les quantités du produit : commandes, stock, lignes de nomenclature. T3 et HB-10 sont en litres, White_Spirit_D100 en kilos.
Poids netPoids d'une unité de mesure. Si l'unité est déjà le kilo, ce poids vaut 1 — voir l'avertissement ci-dessous.
Prix de revientCoût unitaire de référence. C'est la première valeur que la GPAO utilise pour valoriser le produit dans une nomenclature.

Le piège du poids sur un produit vendu au kilo

Le poids total d'une ligne est calculé poids unitaire × quantité. Si l'unité de mesure est le kilogramme, une unité pèse un kilo : le poids doit valoir 1. Y saisir le poids d'un fût — 960 kg par exemple — revient à déclarer qu'un kilo de produit pèse 960 kg : une réception de 4 000 kg affichera alors 3 840 000 kg. Si vous devez tracer le poids d'un contenant, faites-le dans le conditionnement du prix d'achat ou dans un champ dédié, pas dans le poids unitaire.

Sur cette instance, si le champ Carburant (TICPE) vaut Essence ou Diesel, alors Quantité (TICPE) et Nomenclature douanière deviennent obligatoires : l'enregistrement est refusé tant qu'ils sont vides.

3.2 — Déclarer le prix d'achat

Ouvrez le produit, onglet Prix d'achat, puis Ajouter un prix.

  1. Fournisseur — la liste ne propose que les tiers cochés « Fournisseur ».
  2. Réf. fournisseur — la référence chez lui : T 3 chez NYNAS, CS-HB10 chez ChemSupply. Le champ propose en liste déroulante les réfs déjà utilisées pour ce produit, ainsi que sa propre référence ; vous pouvez toujours en saisir une nouvelle. Beaucoup de produits reprennent simplement leur réf interne, comme White_Spirit_D100 chez Quimidroga.
  3. Qté achat minimum et son unité — le seuil à partir duquel le prix s'applique.
  4. Prix — attention, c'est le prix pour la quantité minimum, pas le prix unitaire. Dolibarr en déduit le prix unitaire par division.
  5. Délai de livraison et son unité (jours, semaines ou mois).

Plusieurs paliers pour un même fournisseur

Rien n'empêche de saisir plusieurs prix pour le même couple produit / fournisseur, à des quantités minimum différentes : c'est le tarif dégressif. Sur la démo, White_Spirit_D100 chez Quimidroga a deux paliers : 1 000 kg à 1,00 € et 4 000 kg à 2,08 €. Une seule contrainte : à réf fournisseur identique, deux paliers ne peuvent pas avoir la même quantité minimum.

3.3 — Contrôler le prix d'achat

Sur la ligne enregistrée, vérifiez systématiquement :

  • Le prix unitaire, colonne P.U. HT — c'est lui, et non le prix pour la qté minimum, qui servira partout ailleurs. 1,65 € pour T3, 6,26 € pour DET_1000.04.
  • L'unité de la qté minimum — un tarif « à partir de 15 000 » n'a pas le même sens en litres qu'en kilos.
  • L'historique — le chevron à côté du prix unitaire déplie toutes les valeurs successives de ce tarif, avec leur date et leur auteur. La fiche du fournisseur offre la même chose pour l'ensemble de ses produits, avec la variation en % d'un prix au suivant.

4La commande fournisseur

  1. Créez la commande depuis CommerceOrdres d'achat fournisseurs, ou depuis l'onglet Ordres d'achat de la fiche fournisseur. Choisissez le fournisseur : conditions et mode de règlement se pré-remplissent.
  2. Ajoutez les lignes avec l'option Produit/service prédéfini. Un clic sur la liste affiche immédiatement les produits, sans rien taper.
  3. Vérifiez la quantité et le prix unitaire pré-remplis, corrigez si le fournisseur a annoncé un autre tarif.
  4. Validez la commande, puis approuvez-la. Elle passe alors Approuvée, puis Commandée une fois la commande passée au fournisseur.

Seuls les produits déjà tarifés chez ce fournisseur sont proposés

La liste des produits d'une commande fournisseur est volontairement restreinte aux articles ayant un prix d'achat chez ce fournisseur précis. Un produit absent de la liste n'a pas de tarif chez lui : retournez sur sa fiche, onglet Prix d'achat, et créez la ligne (§ 3.2). C'est aussi pourquoi la saisie d'un fournisseur à la création d'un produit crée d'emblée une ligne de prix, même à zéro.

On ne peut pas commander moins que la quantité minimum

Le tarif T3 chez NYNAS démarre à 15 000 L. Une ligne de 5 000 L est refusée avec le message « Quantité insuffisante pour ce fournisseur ». Soit vous commandez au moins la quantité minimum, soit vous créez un palier inférieur dans les prix d'achat.

4.1 — Le prix saisi met à jour le prix d'achat

Dès qu'une ligne est ajoutée ou son prix corrigé, le prix d'achat du produit chez ce fournisseur est mis à jour avec la valeur saisie. Vous n'avez pas à retourner sur la fiche produit après une renégociation.

SituationEffet
Le prix saisi est identique au tarif enregistréAucune écriture, aucune entrée d'historique
Le prix saisi diffèreLe tarif est mis à jour ; l'ancien prix reste consultable dans l'historique
La quantité minimum du tarifInchangée : on ne crée pas un palier par commande
Le produit n'a aucun tarif chez ce fournisseurUn tarif est créé, quantité minimum 1

Contrôle à cette étape

Après avoir saisi les lignes, ouvrez la fiche du produit, onglet Prix d'achat : le nouveau prix doit y figurer, et le chevron d'historique doit montrer l'ancien juste en dessous. Si ce n'est pas le cas, c'est que le prix saisi était identique au précédent — ce qui est aussi une information.

5Réceptionner la commande

Depuis la commande Commandée, ouvrez l'onglet Réceptions. L'écran de ventilation liste chaque ligne commandée avec son reste à ventiler.

  1. Saisissez la quantité réellement reçue pour chaque ligne. La flèche en début de ligne recopie le reste à ventiler en un clic.
  2. Choisissez l'entrepôt de destination. Seuls les entrepôts ouverts sont proposés — sur la démo : Production, Logistique et USINE.
  3. Contrôlez le prix d'entrée. Il est pré-rempli avec le prix unitaire de la ligne de commande et reste modifiable ligne par ligne. C'est cette valeur, et aucune autre, qui servira à recalculer le prix moyen pondéré.
  4. Renseignez le lot si le produit est géré par lot ou par numéro de série.
  5. Cliquez sur Créer la réception. Une réception est créée, à l'état Brouillonle stock n'a pas encore bougé.

« Classer réceptionné » n'enregistre aucune réception

Le bouton Classer réceptionné de la commande se contente de changer son statut. Il ne crée ni réception, ni mouvement de stock. Une commande ainsi classée laisse la matière absente du stock ; la production la consommera quand même et le stock deviendra négatif. Une confirmation vous alerte si vous cliquez dessus alors que tout n'a pas été réceptionné : passez toujours par Créer une réception.

6Valider l'entrée en stock

Ouvrez la réception Brouillon et cliquez sur Valider. C'est ce clic, et lui seul, qui fait entrer la marchandise en stock. Il déclenche d'un coup :

  • un mouvement de stock en entrée par ligne, daté et signé ;
  • la mise à jour du stock physique de l'entrepôt de destination ;
  • le recalcul du prix moyen pondéré du produit ;
  • l'avancement du statut de la commande d'origine, en Reçue partiellement ou Reçue.

6.1 — Comment le PMP est recalculé

Le prix moyen pondéré est la moyenne des prix d'entrée successifs, pondérée par les quantités :

nouveau PMP = (stock avant × PMP avant + quantité entrée × prix d'entrée) ÷ (stock avant + quantité entrée)

RègleDétail
Seules les entrées recalculent le PMPUne sortie de stock ne le modifie jamais
Si le PMP était à zéroPas de moyenne : il prend directement le prix d'entrée
Si le prix d'entrée est à zéroLe PMP reste inchangé
Le PMP est global au produitIl n'est pas ventilé par entrepôt
Un stock négatifEst ramené à zéro dans le calcul

Contrôle à cette étape

  • Sur la fiche produit, onglet Stock : la quantité a augmenté du bon nombre, dans le bon entrepôt.
  • Le PMP a évolué dans le sens attendu. S'il est resté à zéro, c'est que le prix d'entrée de la réception était vide.
  • Onglet Mouvements de stock : un mouvement d'entrée existe, avec le bon prix.

Un stock alimenté sans prix ne vaut rien

Une entrée en stock réalisée par correction manuelle sans prix, ou par import, laisse le PMP à zéro. Le produit apparaît alors en stock mais sans valeur, et toute nomenclature qui l'utilise affichera un coût de fabrication nul. C'est la cause la plus fréquente d'un coût de production à zéro.

7Le semi-fini : fiche et nomenclature

7.1 — La fiche du semi-fini

Un semi-fini est un produit ordinaire. Ce qui le distingue : il est à la fois fabriqué (il a une nomenclature) et consommé (il apparaîtra dans la nomenclature d'un produit fini).

  • Type Produit, En vente décochée si vous ne le vendez pas tel quel, En achat décochée s'il n'est jamais acheté.
  • Une unité de mesure cohérente avec la quantité produite : WU-SF_DD400 est en litres.
  • Laissez le prix de revient vide. Il sera renseigné par la production, via le PMP.

7.2 — La nomenclature

Depuis GPAONouveau BOM :

  1. Produit : le semi-fini. Quantité : celle d'un lot de fabrication — 800 L pour BOM2607-0001. Décrire la recette pour la taille réelle d'un lot évite les arrondis.
  2. Ajoutez les composants (onglet Nomenclature), avec pour chacun la quantité nécessaire pour la quantité produite déclarée.
  3. Ajoutez la main-d'œuvre sous forme de lignes de service, avec une durée et un poste de travail.
  4. Validez la nomenclature : elle passe Actif.

7.3 — Contrôler le coût de fabrication

Le coût affiché sur la nomenclature est la somme des coûts de ses composants. Pour chaque composant produit, la valeur retenue est, dans cet ordre :

Prix de revient→ si vide → PMP→ si nul → Prix d'achat minimum→ si aucun → 0

Pour une ligne de service avec poste de travail, le coût est : durée × (THM opérateur × nombre d'opérateurs + THM machine). Le poste Formulation a un THM opérateur de 25 €, deux opérateurs requis et un THM machine de 5 €, soit 55 € de l'heure.

Sur la démo, BOM2607-0001 se décompose ainsi :

ComposantQuantitéCoût unitaireTotal ligne
CET_1000.04802,61 €208,80 €
DET_1000.04406,26 €250,40 €
LUB_2000.04245,46 €131,04 €
T3655,961,65 €1 082,33 €
MO-COND (service, poste Formulation)1 h55,00 €55,00 €
Total pour 800 L1 727,57 €
Coût unitaire2,16 €/L

Un coût de fabrication à zéro : où regarder

Le coût d'une nomenclature ne dépend que de ses composants. Renseigner un prix sur le produit fabriqué ne change rien : cette valeur n'est jamais lue. Si le total est à zéro, ouvrez chaque composant et vérifiez qu'il a un prix de revient, un PMP ou un prix d'achat. Un composant qui a du stock mais aucune entrée valorisée aura un PMP à zéro (§ 6).

8L'OF du semi-fini et sa consommation

8.1 — Créer l'ordre de fabrication

Le plus simple est de partir de la nomenclature validée : bouton Créer un Ordre de fabrication. Sinon, GPAONouvel Ordre de fabrication, puis choisir le produit, la nomenclature et la quantité à produire.

L'Entrepôt pour la production désigne l'entrepôt d'entrée du produit fabriqué. Seuls les entrepôts ouverts sont proposés.

Validez : l'OF prend sa référence définitive et passe Validé. Le stock n'a toujours pas bougé.

BrouillonValider Validé→ conso / prod → En cours→ tout produit → Fabriqué

8.2 — Déclarer la consommation

Onglet Production de l'OF.

  1. Vérifiez les quantités à consommer, calculées depuis la nomenclature au prorata de la quantité à produire.
  2. Choisissez l'entrepôt de prélèvement. Il est pré-sélectionné sur l'entrepôt de fabrication de l'OF. La liste « Forcer à » en tête de colonne applique le même entrepôt à toutes les lignes.
  3. Renseignez le lot pour les composants gérés par lot — obligatoire.
  4. Surveillez les alertes de stock insuffisant. Elles n'empêchent pas la validation : le stock passera simplement en négatif.
  5. Cliquez sur Confirmer. Les sorties de stock sont créées.

8.3 — Déclarer la production

Dans la même page, bloc Produits à fabriquer : la quantité réellement produite, l'entrepôt d'entrée, le lot à créer le cas échéant, et surtout le prix d'entrée, pré-rempli avec le coût de fabrication calculé. C'est lui qui alimentera le PMP du semi-fini.

Contrôle à cette étape

  • Le stock des composants a diminué des quantités consommées, dans le bon entrepôt.
  • Le stock du semi-fini a augmenté de la quantité produite.
  • Le PMP du semi-fini est proche du coût unitaire de la nomenclature — 2,16 €/L pour WU-SF_DD400. Un écart signale soit un prix d'entrée forcé, soit un stock antérieur valorisé différemment.
  • Aucun composant n'est passé en stock négatif. Si c'est le cas, une entrée manque en amont : le plus souvent une commande « classée réceptionnée » sans réception réelle (§ 5).

9Le produit fini : du SF au PF

9.1 — La fiche du produit fini

Même démarche qu'au § 7.1, avec En vente cochée cette fois. PF-500 — « Bidon huile moteur 5W-30 – 5 L » — est vendu à l'unité.

9.2 — La nomenclature du produit fini

Elle se construit comme celle du semi-fini, à une différence près : le semi-fini y figure comme un composant ordinaire. Ajoutez-le en ligne produit, avec la quantité nécessaire pour la quantité produite.

Deux façons de chaîner semi-fini et produit fini

  • Par le stock — le semi-fini est une ligne comme une autre ; son coût vient de son PMP, alimenté par l'OF du semi-fini. C'est la méthode la plus simple et la plus lisible : le SF doit être en stock avant de lancer l'OF du produit fini.
  • Par nomenclature liée — la ligne pointe vers la nomenclature du semi-fini. Son coût est alors le coût unitaire calculé de cette nomenclature, et non le PMP. Utile quand le semi-fini n'est jamais stocké.

Sur la démo, BOM-PF500-V1 décrit un bidon pour 9,34 € :

ComposantQuantitéCoût unitaireTotal ligne
HB-10 — huile de base4,8 L1,20 €5,76 €
AD-20 — additif0,2 L8,50 €1,70 €
BID-5L — bidon vide10,45 €0,45 €
ETQ-5L — étiquette10,03 €0,03 €
MO-COND — main-d'œuvre0,05 h28,00 €1,40 €
Coût pour 1 bidon9,34 €

Main-d'œuvre : avec ou sans poste de travail, le coût n'est pas le même

Comparez les deux nomenclatures. Dans BOM2607-0001, la ligne MO-COND est rattachée au poste Formulation : elle est valorisée à 55 €/h, le taux du poste. Dans BOM-PF500-V1, la même ligne sans poste retombe sur le prix de revient du service, 28 €/h. Rattacher un poste de travail à chaque ligne de main-d'œuvre est ce qui garantit une valorisation cohérente avec les taux de l'atelier.

9.3 — L'OF du produit fini et sa consommation

Identique au § 8 : créer l'OF depuis la nomenclature, valider, puis déclarer consommations et production dans l'onglet Production.

La seule nouveauté : parmi les composants à consommer figure désormais le semi-fini, prélevé sur le stock que l'OF précédent a créé. La chaîne est bouclée.

9.4 — Valider les consommations

Le bouton Confirmer écrit les mouvements. Un OF dont toutes les quantités sont consommées et produites passe Fabriqué — automatiquement si la case de fermeture automatique est restée cochée.

Contrôle final

  1. Onglet Mouvements de stock de l'OF : autant de sorties que de composants, une entrée pour le produit fini.
  2. Stock du semi-fini : diminué de la quantité consommée.
  3. Stock et PMP du produit fini : le PMP doit être proche du coût de la nomenclature, 9,34 € pour PF-500.
  4. Aucun stock négatif sur la chaîne.

10Récapitulatif des contrôles

À chaque étape, une seule question : le prix ou le coût que je vois est-il celui que j'attends ?

ÉtapeÀ vérifier
Fournisseur crééNature « Fournisseur » cochée, code attribuéFiche tiers
Prix d'achat saisiPrix unitaire, qté minimum et son unité, délaiProduit → Prix d'achat
Commande saisieLe prix de la ligne a bien mis à jour le tarif ; l'historique montre l'ancienProduit → Prix d'achat, chevron
Réception crééePrix d'entrée par ligne, entrepôt de destinationÉcran de ventilation
Réception validéeStock augmenté, PMP recalculé, mouvement présentProduit → Stock et Mouvements
Nomenclature SFCoût total et coût unitaire non nuls, chaque ligne valoriséeFiche BOM
OF SF consomméSorties composants, entrée SF, PMP du SF ≈ coût unitaire BOMOF → Mouvements
Nomenclature PFLe SF est valorisé ; les lignes de main-d'œuvre ont un posteFiche BOM
OF PF consomméPMP du PF ≈ coût de la nomenclature, aucun stock négatifOF → Mouvements

10.1 — Les cinq causes d'un coût faux

Le coût de fabrication est à zéro.
Un composant au moins n'a ni prix de revient, ni PMP, ni prix d'achat. Le prix du produit fabriqué n'entre jamais dans le calcul : seuls comptent les composants.
Le PMP reste à zéro alors qu'il y a du stock.
Le stock est entré sans prix : correction manuelle, import, ou commande « classée réceptionnée » sans réception réelle. Seule une entrée valorisée alimente le PMP.
La main-d'œuvre est sous-évaluée.
La ligne de service n'a pas de poste de travail rattaché : elle retombe sur le prix de revient du service au lieu du taux horaire du poste, opérateurs compris.
Le prix d'achat ne correspond pas à ce qui a été négocié.
Le prix saisi est celui pour la quantité minimum, pas le prix unitaire. Vérifiez la colonne P.U. HT, c'est elle qui est utilisée partout ailleurs.
Le stock devient négatif en production.
Une entrée manque en amont. Remontez la chaîne : la commande a-t-elle une réception validée, ou a-t-elle seulement été classée réceptionnée ?