← Retour à la marketplace
📦

Gestion Stock

Inventaire produits, mouvements de stock, alertes de seuil et valorisation.

E-commerceMoyen~7 joursv1.1.0

Module de gestion des stocks avec catalogue produits, suivi des mouvements d'entrée/sortie, alertes de stock bas, valorisation FIFO/moyen pondéré et historique complet des opérations.

inventorystockproductswarehousemovements

Dépendances requises :

📋 Schéma Prisma

// === Module Stock ===

enum MovementType {
  IN
  OUT
  ADJUSTMENT
  TRANSFER
}

model Product {
  id           String   @id @default(cuid())
  sku          String   @unique
  name         String
  description  String?
  unit         String   @default("pcs")
  minStock     Int      @default(0)
  currentStock Int      @default(0)
  costPrice    Decimal?
  sellPrice    Decimal?
  isActive     Boolean  @default(true)
  createdAt    DateTime @default(now())
  updatedAt    DateTime @updatedAt
  movements    StockMovement[]

  @@map("products")
}

model StockMovement {
  id        String       @id @default(cuid())
  productId String
  product   Product      @relation(fields: [productId], references: [id])
  type      MovementType
  quantity  Int
  reason    String?
  reference String?
  createdAt DateTime     @default(now())

  @@map("stock_movements")
}

🔌 Endpoints API

## API Stock

GET  /api/products              # Catalogue (filtres: low-stock, active)
POST /api/products              # Créer produit
PUT  /api/products/:id          # Modifier
GET  /api/products/:id/movements # Historique mouvements
POST /api/stock/movement        # Créer un mouvement (IN/OUT/ADJUSTMENT)
GET  /api/stock/alerts          # Produits en dessous du seuil minimum
GET  /api/stock/valuation       # Valorisation du stock total

🛠️ Guide d'implémentation

## Implémentation Stock

### Étape 1 — Catalogue produits
CRUD produits avec validation SKU unique.

### Étape 2 — Moteur de mouvements
Créer src/lib/stock/movement.ts :
- Transaction Prisma pour créer le mouvement ET mettre à jour currentStock
- Validation : pas de stock négatif en sortie

### Étape 3 — Alertes seuil
Query périodique ou trigger pour détecter minStock > currentStock.

### Étape 4 — UI
- Catalogue avec indicateurs de stock (vert/jaune/rouge)
- Fiche produit avec historique des mouvements
- Formulaire de mouvement rapide

Prêt à installer ce module ?

Ajoutez-le à un projet existant depuis la page modules du projet.

Voir les projets →