Stock — Vue d'ensemble¶
Le module Stock est le cœur de DIP. Il gère les produits, les quantités, les emplacements, les lots et la traçabilité complète des mouvements.

Modèle de quantités¶
Chaque produit possède plusieurs compteurs de quantité :
| Champ | Description |
|---|---|
| qty_all | Quantité totale en stock (physique) |
| qty_disp | Quantité disponible à la vente |
| qty_held | Quantité réservée (en cours de préparation) |
| qty_arriving | Quantité en commande chez les fournisseurs |
| qty_lock | Quantité en quarantaine |
| qty_nosell | Quantité dans des emplacements non-vente |
Relations entre les quantités¶
qty_all = qty_disp + qty_held + qty_lock + qty_nosell
Cycle de vie des quantités¶
| Événement | qty_disp | qty_held | qty_all | qty_arriving |
|---|---|---|---|---|
| BC fournisseur validé | — | — | — | +↑ |
| Réception validée | +↑ | — | +↑ | -↓ |
| BC client validé | -↓ | +↑ | — | — |
| BL validé | — | -↓ | -↓ | — |
| Retour client validé | +↑ | — | +↑ | — |
PMP (Prix Moyen Pondéré)¶
Le PMP est le coût moyen d'acquisition d'un produit, recalculé à chaque réception :
Nouveau PMP = (Qté en stock × PMP actuel + Qté reçue × Prix achat) / (Qté en stock + Qté reçue)
Premier approvisionnement
Si le produit n'a jamais eu de mouvement d'entrée, le PMP est égal au prix d'achat du fournisseur principal.
Multi-entrepôt¶
DIP supporte plusieurs entrepôts. Un entrepôt est marqué comme principal (wh_main). La structure est :
Entrepôt → Sections → Allées → Colonnes → Niveaux
Mouvements de stock¶
Chaque opération de stock est tracée dans la table des mouvements (mvmt) :
| Code raison | Description |
|---|---|
| 1 | Réception (entrée fournisseur) |
| 2 | Livraison (sortie client - BL) |
| 4 | Retour fournisseur |
| 6 | Sortie manuelle / Destruction |
| 7 | Péremption |
| 11 | Entrée manuelle |
| ≥13 | Mouvements spéciaux (non comptés dans les sommes) |
Valorisation du stock¶
La valorisation est calculée sur la base des mouvements historiques :
Valeur = Σ (Quantité × PMP) pour chaque produit/lot
Un export CSV est disponible pour une date donnée.