Consumo interno
Base path: /api/internal-consumption
El consumo interno registra productos utilizados dentro del salón (p. ej., tinte durante un tratamiento). Los costes se calculan siempre usando el purchase_price, nunca el precio de venta.
Esta función puede desactivarse en Configuración > Funciones (internal_consumption_enabled). Requiere purchase_orders_enabled activo.
GET /internal-consumption/orders
Listar todos los pedidos de consumo interno con nombre del empleado y conteo de artículos.
Auth: Autenticado
Query parameters: page, limit, from, to
POST /internal-consumption/orders
Crear nuevo pedido de consumo interno y descontar stock inmediatamente.
Auth: Autenticado
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
staff_id | integer | Sí | Empleado que consumió los productos |
items | array | Sí | Array de artículos consumidos (mín. 1) |
notes | string | No | Motivo / notas |
Objeto artículo
{
"product_id": 5,
"qty": 2,
"unit_price": 3.50
}
El número de pedido se genera automáticamente con la secuencia EIGEN (p. ej., EIGEN2601).
Response (201): Pedido creado con order_number, total, staff_name y array completo items.
GET /internal-consumption/orders/:id
Obtener un pedido con todos sus artículos.
Auth: Autenticado
DELETE /internal-consumption/orders/:id
Eliminar pedido de consumo interno y restaurar stock.
Auth: Admin
La eliminación es completamente reversible: se incrementa el quantity_on_hand de cada producto y se crean filas reversas en inventory_transactions.
Response: { "ok": true }
Numeración automática
Los pedidos de consumo interno usan el prefijo de secuencia EIGEN con reinicio anual.
Formato: EIGEN{AA}{NN} (p. ej., EIGEN2601, EIGEN2602).