Guía de inventario para tratamientos
¿Cómo controlar el inventario de insumos en una clínica estética?
Controla los insumos registrando unidad, saldo y mínimo, vinculando una receta al servicio y dejando que una cita completada descuente la cantidad exacta; la lista de compras calcula el faltante, pero el equipo decide la compra.
El inventario de una clínica estética es más que una lista de frascos. El equipo necesita saber qué material entra en cada servicio, cuánto queda antes de la próxima cita y qué debe reponerse. Bia separa los insumos de procedimiento de los productos vendidos en el punto de venta, guarda las cantidades como milésimos enteros y vincula una receta a cada servicio activo. Cuando se completa una cita confirmada, el servidor revisa la receta, evita un saldo negativo y registra lo consumido. Esta guía convierte ese flujo real en una rutina de revisión. No inventa proveedores, pedidos, pagos ni costes automáticos del tratamiento.
- Insumos de procedimientos separados del catálogo de productos
- Unidad, saldo actual y mínimo definidos por la clínica
- Receta del servicio con cantidad exacta por cita
- Descuento atómico al completar, sin saldo negativo ni parcial
- Lista de compras con el faltante hasta el mínimo
- Avisos de inventario bajo deduplicados y auditados
1. Separa el insumo del producto que vendes
Empieza por decidir qué va a controlar el equipo. Un producto del punto de venta tiene catálogo, precio, coste, código de barras e inventario propio porque puede venderse a una clienta. Un insumo es material usado al realizar un servicio: su receta indica cuánto se utiliza cuando termina la cita. Mezclarlos convierte la venta de un sérum en consumo del tratamiento y hace imposible explicar el saldo.
El módulo de insumos guarda nombre, unidad, saldo en milésimos, mínimo y estado activo. La clínica elige el registro correcto en lugar de pedir que la aplicación adivine la finalidad de un frasco. La zona de productos tiene otra ruta y permiso. Esta separación evita que una edición comercial del catálogo cambie sin aviso la receta de un procedimiento.
Haz el conteo inicial con el equipo y registra lo que realmente se usa en los servicios activos. Bia no cuenta el armario, no busca lotes en un proveedor ni decide que dos nombres parecidos sean equivalentes. Si cambia el envase, revisa unidad y receta antes de editar el saldo. El sistema organiza el dato introducido; la verificación física sigue siendo humana.
- Producto vendido e insumo consumido usan registros diferentes.
- El inventario está aislado por clínica.
- El conteo inicial y la equivalencia de materiales quedan con el equipo.
2. Registra unidad, saldo y mínimo
Cada insumo necesita una unidad repetible: ml, g, unidad u otra etiqueta de la clínica. El editor acepta hasta tres decimales y envía milésimos enteros. Así, 1,25 de la unidad elegida se convierte en 1.250 en el contrato y un redondeo de coma flotante no decide si el material alcanza para una cita.
El saldo actual es el que la clínica contó y el mínimo es el punto en el que quiere recibir un aviso. Un mínimo cero significa que no hay aviso automático. Se rechazan cantidades negativas, cero en una receta y valores fuera del entero seguro. La API repite estas comprobaciones en el servidor; el mensaje del navegador no es la única barrera.
Crear o editar exige la capacidad de insumos, conserva el tenant de la sesión y registra una auditoría con nombre, unidad, saldo, mínimo y estado. Un nombre duplicado no crea una segunda fila silenciosa. Un material puede desactivarse cuando ya no está vinculado a una receta, sin borrar su historial.
- Hasta tres decimales; cálculo entero en milésimos.
- Mínimo cero significa sin aviso de inventario bajo.
- Crear, editar y desactivar pasan por contrato y auditoría.
3. Construye una receta por cada servicio activo
Abre cada servicio activo y elige los insumos usados al completarlo. La receta guarda la relación entre servicio y material y la cantidad por cita. No es una nota en el nombre del procedimiento: la API devuelve la receta, reemplaza el conjunto completo y audita los valores anteriores y nuevos para que el equipo pueda explicar un cambio.
Un insumo no puede repetirse en la misma receta. El reemplazo confirma que el servicio y todos los materiales pertenecen a la clínica y acepta solo insumos activos. Si un material está inactivo, quítalo primero de la receta; ocultar una línea no debe dejar la próxima cita sin explicación de consumo.
Usa la unidad registrada al indicar la cantidad por servicio y revisa la receta cuando cambie el tratamiento. El editor acepta cantidades positivas, pero no convierte ml en g ni supone una concentración. Un servicio sin receta no tiene material que descontar. Es una configuración que falta, no permiso para estimar consumo.
- Una receta define una cantidad por servicio.
- Se rechazan elementos duplicados, inexistentes o inactivos.
- No hay conversión automática entre unidades.
4. Usa el mínimo para crear una lista de compras
La pestaña de compras reúne los insumos activos cuyo saldo está por debajo del mínimo. Para cada uno, la API calcula el faltante como mínimo menos saldo y muestra la unidad. La lista cambia cuando el equipo corrige un registro o una cita consume material; no es una previsión de demanda y no conoce la fecha de entrega del proveedor.
El aviso de inventario bajo usa una clave por insumo y no crea una alerta nueva en cada carga. Cuando el saldo deja de estar por debajo del mínimo, el servicio resuelve el aviso abierto o reconocido. La central puede mostrar una pendiente real sin contar el mismo frasco varias veces. El aviso es evidencia operativa, no prueba de una compra.
Lee la lista junto con un conteo físico. Un mínimo alto crea trabajo innecesario; uno bajo puede dejar al equipo sin material. Bia muestra el cálculo, pero no elige proveedor, crea pedido, negocia precio ni marca un pago. Una lista de reposición no es abastecimiento automático.
- Faltante igual a mínimo configurado menos saldo actual.
- Avisos deduplicados y resueltos cuando el saldo se recupera.
- Proveedor, pedido, plazo y pago quedan fuera.
5. Deja que la finalización consuma la receta una vez
El descuento no ocurre al reservar ni al abrir la pantalla. La cita debe estar confirmada y haber pasado su hora de inicio. Al finalizar, el servidor carga el servicio, bloquea la receta, lee el saldo actual y revisa todos los materiales antes de cambiar una fila. Si falta un insumo, la operación se detiene con un conflicto de inventario insuficiente.
La finalización de la cita consume los insumos configurados en la receta del servicio dentro de la misma operación.
El descuento, `completedAt`, el evento de cita completada y la auditoría forman una sola transacción. Un bloqueo por servicio y locks de filas protegen dos finalizaciones concurrentes. El saldo restante se calcula en milésimos y el aviso de inventario bajo se sincroniza. No hay descuento parcial que haga parecer completa la cita.
- Solo una cita confirmada e iniciada puede consumir.
- La receta completa se comprueba antes de la primera actualización.
- Evento, auditoría y saldo comparten una operación transaccional.
6. Separa falta, desactivación y repetición
El inventario insuficiente no es un aviso decorativo. La API devuelve `INSUFFICIENT_SUPPLY` con material, unidad, saldo disponible y cantidad necesaria, y la finalización no avanza. El equipo puede corregir el conteo, revisar la receta o decidir no realizar el servicio; no debe bajar el saldo para forzar el éxito. Un elemento inactivo devuelve `INACTIVE_SUPPLY` y pide corregirlo.
Un intento repetido después de completar devuelve la cita con `alreadyCompleted: true` y sin un segundo descuento. Esto protege el inventario si alguien actualiza o hace doble clic. El campo `status` de la cita conserva su contrato antiguo; `completedAt` es el marcador de finalización y no debe sustituirse por un estado inventado de inventario.
Desactivar un insumo vinculado a una receta se rechaza hasta quitar la relación. Así se conserva la explicación histórica y no falla un servicio porque se ocultó su registro. Los cambios de cantidad y receta quedan auditados. Lotes, vencimientos, sustituciones y reversiones son decisiones de producto, no promesas de esta página.
- La falta detiene sin descuento parcial.
- Repetir una finalización no consume dos veces.
- Un insumo en uso no puede desactivarse en silencio.
7. Repón manualmente después de revisar la lista
La lista de compras es el punto de partida de la decisión de la dueña. Revisa el armario, confirma la unidad y elige cómo registrar la compra fuera de Bia. Cuando llegue el material, actualiza el saldo contado; el aviso deja de estar pendiente al alcanzar el mínimo. No registres una entrada antes de que el material exista físicamente.
El módulo no guarda proveedores, lotes, vencimientos, facturas, coste de adquisición ni órdenes de compra. Tampoco calcula automáticamente el coste del tratamiento ni envía dinero. Los productos vendidos en el punto de venta usan su propio catálogo. Prometer integración de compras mezclaría dos intenciones y fallaría en el primer conteo.
Para la rutina semanal, elige un día para contar, revisar mínimos y leer avisos abiertos. Registra quién corrigió el saldo y compara el cambio con las citas completadas. La auditoría explica el cambio, pero no sustituye una factura ni un conteo. Una necesidad mayor debe registrarse como oportunidad de producto, no esconderse en el texto comercial.
- Actualiza el saldo solo después de contar físicamente.
- Proveedor, lote, vencimiento, pedido y pago quedan fuera.
- La lista orienta; no confirma que la compra ocurrió.
8. Cierra la semana con permisos, aislamiento y límites
Lee y cambia el inventario mediante el flujo autenticado de la clínica. La API aplica la capacidad y los permisos antes de leer o guardar; ocultar una pestaña no sería protección. Las consultas usan `tenantId` y la finalización registra al usuario responsable. Una clínica no puede descubrir la receta o el saldo de otra mediante una búsqueda cómoda.
En el cierre semanal, revisa insumos activos, recetas de los servicios realizados, avisos de mínimo, finalizaciones en conflicto y cambios auditados. Separa un error de configuración de una falta real: el primero pide revisar la receta; el segundo, reponer. No uses inventario para afirmar margen porque el módulo no calcula un coste financiero automático del procedimiento.
El resultado útil es una explicación que recepción pueda repetir: qué servicio consumió qué cantidad, por qué bajó del mínimo y quién decidió reponer. Bia ofrece registros, recetas, descuento transaccional, avisos y lista. No promete un conteo perfecto, compras automáticas, contabilidad, proveedores ni margen.
- Los permisos y el tenant se comprueban en el servidor.
- Auditoría y estados permiten revisar sin reescribir el pasado.
- Inventario de insumos no es contabilidad, compras ni margen automático.
Qué hace este control — y qué queda separado
Bia organiza insumos, recetas de servicios, consumo y reposición calculada. La página no promete proveedores, pedidos, lotes, vencimientos, contabilidad ni costes automáticos.
- Los insumos de servicios y los productos del punto de venta usan registros y saldos distintos.
- La receta vincula materiales activos al servicio y define la cantidad por cita.
- Una finalización válida bloquea la falta y nunca hace un descuento parcial.
- La lista muestra la diferencia hasta el mínimo; no crea pedidos ni pagos.
- Conteo físico, equivalencia de unidades, lotes, vencimientos y costes siguen siendo decisiones de la clínica.
Preguntas frecuentes
Dudas sobre controlar insumos en una clínica estética
¿Cuál es la diferencia entre producto e insumo?
El producto pertenece al catálogo del punto de venta. El insumo es material vinculado a una receta de servicio y consumido al completar una cita confirmada.
¿Cómo se calcula la cantidad?
El editor acepta hasta tres decimales y envía milésimos enteros. La unidad elegida por la clínica se usa para saldo, mínimo y consumo.
¿Qué ocurre si falta material?
La finalización devuelve un conflicto de inventario insuficiente antes de actualizar cualquier insumo. El equipo revisa saldo o receta; no hay descuento parcial.
¿La lista de compras hace el pedido?
No. Muestra el saldo bajo mínimo y el faltante calculado. Proveedor, pedido, plazo y pago quedan fuera del módulo.
¿Una finalización repetida descuenta dos veces?
No. La finalización usa un bloqueo y un marcador de completado. Un intento repetido devuelve la cita procesada sin consumir de nuevo.
Prueba el inventario con un procedimiento ficticio
Registra un insumo, crea la receta de un servicio y revisa la lista de reposición antes de usar la rutina real de la clínica.
Crear mi cuenta