PMP null sur produits manufacturés dans MRP (GPAO)

Bonjour

Je suis nouveau comme utilisateur de dolibarr et j’ai une question concernant le PMP (prix moyen pondéré) pour les produits manufacturés, le PMP reste toujours null quand j’accède au detail du produit, parcontre dans la fiche de produit (BOM) mon produit est composé de différentes matières premières, le prix de revient est calculé le plus normalement possible et s’affiche

Mais quand j’essaye de faire une proposition ou une facture, le PMP est null, je dois toujours le réécrire manuellement

Y’a t’il une solution à ça ?

Merci

Version dolibbar 12.0.4 sous windows 10

le PMP de dolibarr se calcul sur la reception de commande fournisseur pour le moment. Il n’est pas liée au module OF ou BOM pour le moment.

Merci pour votre réponse,

Pour mon cas le PMP est bien calculé sur mon BOM mais pas dans le produits manufacturés sur le stock

J’ai essayé de revoir le code php mais je sais pas ou chercher au juste, si quelqu’un à une idée

Bonjour
J’ai fait quelques essais cet apm avec des OF et il me semble que c’est mis à jour sauf erreur de lecture car j’étais sur base client.
C’est une 12.0.4 de github
A vérifier…
@+

Suite à quelques tests ce matin je confirme que les PMP ne sont pas recalculés. Dans la table llx_stock_mouvement, les mouvements générés en plus et moins ne sont pas valorisés, il est donc impossible de recalculer les PMP de production. Le dommage c’est que le prix de production est bien précisé dans la BOM.


@+

Est il possible de toucher au code pour recalculer le pmp ded produits manufacturés ?

Ou peut t’on trouver les lignes de code du pmp (dans quel fichier)!

Salut,

j’ai jeté un oeil,

pour les conso :
ligne 222 de mrp/mo_production.php

$idstockmove = $stockmove->livraison($user, $line->fk_product, GETPOST('idwarehouse-'.$line->id.'-'.$i), $qtytoprocess, 0, $labelmovement, dol_now(), '', '', GETPOST('batch-'.$line->id.'-'.$i), $id_product_batch, $codemovement);

pour les prod :
ligne 289 de mrp/mo_production.php

$idstockmove = $stockmove->reception($user, $line->fk_product, GETPOST('idwarehousetoproduce-'.$line->id.'-'.$i), $qtytoprocess, 0, $labelmovement, '', '', GETPOST('batchtoproduce-'.$line->id.'-'.$i), dol_now(), $id_product_batch, $codemovement);

C’est un appel à la classe et aux fonctions définies dans product/stock/class/mouvementstock.class.php:

public function _create($user, $fk_product, $entrepot_id, $qty, $type, $price = 0, $label = '', $inventorycode = '', $datem = '', $eatby = '', $sellby = '', $batch = '', $skip_batch = false, $id_product_batch = 0)

dans un cas comme dans l’autre: il faut remplacer le 0 (qui suit la quantité) par la valorisation.

Et là: vont commencer les débats :smiley:

  • le produit fabriqué est valorisé au cout standard de la nomenclature ? au cout réel en fonction des conso ? on ne tient pas compte d’une valorisation main d’oeuvre ? pas de réglages ?
  • la règle de conso des composants à quel valo ? (pmp ? prix d’achat fifo ? prix d’achat lifo ? etc…)

(et je ne sais pas quand est recalculé un pmp : au moment des mouvements ?)

Salut Arnaud
Oui j’avais trouvé aussi. Donc pour valorisé les entrées en stock il suffit de renseigné la qté ligne 289 et le pmp est recalculé automatiquement. Je vais tenté d’utilisé un extrafield pour valorisé la chose, on aura au moins une valorisation dans les stocks.

Il suffit d’ajouter un service dans la BOM

Le choix est arbitraire dans l’ordre : prix de revient si défini, sinon pmp, sinon meilleur PA !

Au moment des mouvements

la qté ?! elle est déjà renseignée non ? tu ne veux pas dire « prix » plutôt ?

c’est calculé où ça ? je ne vois pas ça dans le code de la création du mouvement.

Pourquoi ne pas récupérer directement la valeur de la valorisation dans la BOM du coup ?

  • oui le prix tu as raison !
  • le choix des prix pour le calcul est affiché dans la BOM sur le petit point d’interrogation. Je n’ai pas testé ni vérifié le code.
  • le prix
    de revient de la BOM est dynamique donc le prix change à tout moment. le récupérer au moment de la création de l’of serait mieux .
    @+

Bonjour

Pour moi, je dois tjours calculé mon produits manufacturés en fonction du PMP lors de sa vente, et aussi lors de la fabrication de mon produits le prix de revient est calculé sur l1 b1se des PMP des matières premières

Y’a t’il une possibilité pour extraire cette valeur est l’injecter directement dans le stock des produits manufacturés lors de leur fabrication ?

Merci

qu’est ce que je disais ? :wink:
Il y aura toujours des mécontents sur la manière de valoriser (ce qui est normal vu les différences d’activité et/ou de législation)

Je regarde si ça a évolué dans les futures version (pour ne pas coder des trucs qui l’auraient déjà été)

Mais dans tous les cas: il faudra offrir différentes options de valorisation dans la page de config du module.

@djamel_jimmy pour répondre à ta question: non pas pour l’instant en standard (12.0.4)

La Valorisation au PMP au moment de la production (lors du mouvement de stock) me parait la plus judicieuse.
Je cherche un petit ERP pour une nouvelle activité de Production, mes tests Dolibar sont concluant à part ce sujet de calcul de PMP, d’autant plus que le process de Fabrication se fait en plusieurs étapes, un produit résultant dans un BOM se retrouve être une matière première d’un autre BOM, et ce jusqu’à 4 niveaux, il me faut impérativement un calcul de Prix pour chaque étape.
Si quelqu’un a une solution je suis preneur ! (prochaine version, module payant dans le Dolistore, la modification du code n’est pour moi pas une solution pérenne)

On a juste repérer le code à corriger. Reste à pousser une correction acceptable pour tous. Quel module Dolistore ? Pourquoi ?
@+

Bonjour,
Je suis peut être hors sujet, mais pour ce que cela vaut: je pense que la production devrait être valorisée à prix standard de fabrication (PSF). Si les mouvements de stock de type livraison doivent bien être valorisés à PMP, les entrées de production ou de conditionnement(ECT) devraient l’être à PSF comme les entrées Tiers (ETS) le sont à Prix d’achat.

Ainsi le calcul du PMP serait du type:
PMP à date = ( Qte(ECT) à PSF + Qte(ETS) à Pacht + STOCK à PMP ) / Cumul des Qtes.

Cela permet accessoirement de conserver l’historique des prix à date sur les différents types de mouvements de stock.
Et je pense qu’il y a aussi une problématique du type « Equation de stock » qui veut que
Stock-début de mois valorisé à PMP(M-1) + Mvts de production valorisés à PSF + Mvts Fournisseurs valorisés à Prix d’achat + Mvts Clients ou autres valorisés à PMP = Stock fin de mois valorisé à PMP.

Cdlt

Pour votre info, j’ai ouvert une issue : https://github.com/Dolibarr/dolibarr/issues/16072
@+

C’était un besoin urgent donc j’ai financé
Merci @fappels pour sa rapidité :wink:
Tada !!!


@+

1 « J'aime »

Super ! Vraiment efficace ce forum !
Un grand merci.
Ce sera inclus dans la prochaine release ?

Je l’espère puisque je vais la proposer.
Le principe que j’ai retenu c’est le calcul du PMP au moment de la production de l’OF mais tous les PMPs sont modifiables à ce moment là.
@+

Bonjour @philazerty

j’ai une petite question svp, sur la photo que vous avez mise ou c’est encadre en rouge, comment avez vous afficher la valorisation du PMP ?