Consommation interne
Base path: /api/internal-consumption
La consommation interne enregistre les produits utilisés au sein du salon (ex. teinture lors d'un soin). Les coûts sont toujours calculés sur la base du purchase_price, jamais du prix de vente.
Cette fonctionnalité peut être désactivée via Paramètres > Fonctionnalités (internal_consumption_enabled). Nécessite purchase_orders_enabled actif.
GET /internal-consumption/orders
Lister toutes les commandes de consommation interne avec le nom de l'employé et le nombre d'articles.
Auth: Connecté
Query parameters: page, limit, from, to
POST /internal-consumption/orders
Créer une nouvelle commande de consommation interne et déduire le stock immédiatement.
Auth: Connecté
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
staff_id | integer | Oui | Employé ayant consommé les produits |
items | array | Oui | Tableau d'articles consommés (min 1) |
notes | string | Non | Motif / notes |
Objet article
{
"product_id": 5,
"qty": 2,
"unit_price": 3.50
}
Le numéro de commande est généré automatiquement via la séquence EIGEN (ex. EIGEN2601).
Response (201): Commande créée avec order_number, total, staff_name et tableau items complet.
GET /internal-consumption/orders/:id
Obtenir une commande avec tous ses articles.
Auth: Connecté
DELETE /internal-consumption/orders/:id
Supprimer une commande de consommation interne et restaurer le stock.
Auth: Admin
La suppression est entièrement réversible : le quantity_on_hand de chaque produit est incrémenté et des lignes inverses sont créées dans inventory_transactions.
Response: { "ok": true }
Numérotation automatique
Les commandes de consommation interne utilisent le préfixe de séquence EIGEN avec réinitialisation annuelle.
Format : EIGEN{AA}{NN} (ex. EIGEN2601, EIGEN2602).