⚙️ Parte 4

Descripción funcional — puntos críticos

Esta sección documenta el funcionamiento interno de los seis mecanismos clave de MakerStocks: lo que ocurre bajo el capó cuando ejecutas un run, cuando recepcionas una entrega o cuando se registra una venta en BigCommerce o Shopify.

⏱ Lectura ~12 min
·
6 mecanismos documentados
·
Para admins e integradores
Punto crítico 4.1

Ciclo de vida de un run de producción

Un run es la unidad atómica de producción en MakerStocks. Representa la ejecución de un número definido de batches de una receta dada. Comprender su ciclo de vida es esencial para dirigir la producción correctamente.

Los cuatro estados
Planificado
En cola, stock no deducido
En curso
Iniciado por un operario
Completado
Stock deducido, COGS calculado
Cancelado
Irreversible, sin restitución
📋
Planificado → en cola sin deducción de stock
Cuando se planifica un run (desde escritorio o móvil), queda registrado pero el stock aún no se toca. Si el stock es insuficiente en el momento de la planificación, MakerStocks lo señala pero deja pasar el run a la cola — se genera una alerta previsional. Un run planificado puede cancelarse sin ninguna consecuencia sobre el stock.
⚙️
Planificado → En curso: inicio por el operario
Un operario (desde el móvil, pestaña Fabricación) o un administrador (desde el escritorio) pulsa "Iniciar". El estado pasa a EN_COURS. En ese momento, MakerStocks vuelve a comprobar la disponibilidad del stock. El run es visible en tiempo real en el escritorio.
En curso → Completado: deducción, crédito de stock, COGS
Al finalizar, se disparan simultáneamente tres acciones atómicas: (1) las materias primas se deducen del stock según el método FIFO, lote por lote, con registro de la trazabilidad; (2) el stock de productos terminados se acredita con el número de unidades producidas; (3) el COGS real del run se calcula a partir de los costes unitarios de los lotes consumidos. Estas tres operaciones solo son reversibles mediante un ajuste manual posterior.
Trazabilidad de lotes — Pro+
⚠️
Run terminado con stock insuficiente
Si el stock de uno o varios materiales es insuficiente en el momento de la ejecución, MakerStocks lo indica en el detalle del run (pestaña "Faltantes") pero deja que el run se termine. El stock baja a cero para los materiales afectados — no se vuelve negativo. Se genera una alerta de rotura.
Alerte de rupture
🚫
Cancelación — irreversible, sin restitución automática
Un run en estado PLANIFIE o EN_COURS puede cancelarse. La cancelación es definitiva. Si el run estaba EN_COURS y ya se habían consumido físicamente materiales, el stock no se restituirá automáticamente — es necesaria una corrección manual mediante un ajuste de stock.
Irreversible
Desde escritorio
Planificar, lanzar directamente, ver el detalle, exportar el CSV de trazabilidad, cancelar.
Desde móvil
Planificar, iniciar un run planificado, finalizar un run en curso. Sin acceso al detalle financiero.
Exportación CSV de trazabilidad
Disponible tras la finalización: material, lote, cantidad consumida, fecha de caducidad, proveedor, coste. Formato compatible con contabilidad.
Lanzar sin planificar
Posible solo desde el escritorio. El run pasa directamente de "nuevo" a TERMINE si el stock es suficiente, sin paso intermedio.

Punto crítico 4.2

Gestión del stock de materiales — lotes, FIFO y movimientos

El stock de materias primas se gestiona lote por lote. Cada entrada de stock crea un lote distinto con su propio coste unitario, número de lote y fecha de caducidad. El consumo sigue la regla FIFO (primero en entrar, primero en salir).

Funcionamiento del FIFO ilustrado
Ejemplo — Harina de trigo · 3 lotes en stock · Run de producción que consume 8 kg
Antes del run
LOT-A · 12/03/2025
Cad. 31/08/2025 · 1,20 €/kg
3 kg
LOT-B · 28/03/2025
Cad. 28/02/2026 · 1,15 €/kg
7 kg
LOT-C · 10/04/2025
Cad. 30/06/2026 · 1,18 €/kg
10 kg
Después del run
(8 kg deducidos)
LOT-A · agotado
3 kg consumidos en su totalidad
0 kg
LOT-B · parcial
5 kg consumidos de 7
2 kg
LOT-C · intacto
Sin tocar
10 kg
COGS material = (3 kg × 1,20 €) + (5 kg × 1,15 €) = 3,60 € + 5,75 € = 9,35 €
📥
Entrada en stock — creación de un lote
Cada entrada de stock (manual, recepción de proveedor o importación) crea un nuevo lote con marca de tiempo que incluye: cantidad, coste unitario en el momento de la entrada (snapshot), número de lote opcional, fecha de caducidad opcional. Si el material está configurado con "fecha de caducidad obligatoria", esta se requiere en cada entrada.
Ajuste de stock — sin creación de lote
Un ajuste (+ o −) modifica directamente el lote seleccionado o el lote más antiguo (FIFO). El ajuste requiere un motivo obligatorio (inventario físico, pérdida, rotura, corrección…). El movimiento queda registrado en el historial con el tipo AJUSTEMENT.
⚠️
Rebaja de lote — retirada específica
Desde la vista de los lotes de un material, es posible "rebajar" un lote específico (pérdida, rotura, control de calidad) indicando la cantidad y un motivo. La rebaja apunta precisamente a ese lote, con independencia del orden FIFO. Esta operación es irreversible.
Irreversible
🔁
Transferencia entre almacenes
Disponible solo desde el escritorio (plan Business). Un lote puede transferirse de un almacén de origen a un almacén de destino. El lote conserva su número, su fecha de caducidad y su coste unitario original. El stock del almacén de origen disminuye, el del destino aumenta.
Business
📊
Valoración del stock
El valor total del stock de un material se calcula en tiempo real: suma de (cantidad restante × coste unitario) de cada lote activo. Este valor es visible en la columna "Valor stock" de la tabla de materiales y se usa en el informe financiero.
⚠️
El coste unitario de un material ≠ el coste de un lote El campo "coste unitario" en la ficha de una materia prima es el coste de referencia por defecto. Cada lote tiene su propio coste unitario, registrado en el momento de la entrada en stock (snapshot). Es el coste del lote — no el coste de referencia — el que se usa en el cálculo del COGS durante un run.

Punto crítico 4.3

Ciclo de aprovisionamiento de proveedor

Las órdenes de compra a proveedores permiten trazar el ciclo completo de un pedido de materiales: desde la creación en oficina hasta la recepción física en el taller. Este módulo está disponible a partir del plan Pro.

Los cinco estados de un pedido de compra
Borrador
Creado, no enviado
Enviado
Transmitido al proveedor
Parc. recibido
Recepción parcial
Recibido
Todas las líneas recibidas
Cancelado
Desde Borrador o Enviado
📝
Creación de la orden (Borrador) — solo escritorio
El administrador crea una orden de compra seleccionando un proveedor, añadiendo líneas (material, cantidad, precio unitario) e indicando una fecha de entrega prevista. La orden en estado Borrador puede modificarse y eliminarse libremente.
Pro+
📤
Envío al proveedor — paso a estado Enviado
Al hacer clic en "Marcar como enviado", la orden pasa a ENVOYE. Ya no es modificable. Se vuelve visible en la pestaña "Aprovisionamientos" del móvil, para que los operarios puedan recepcionarla en la entrega. Aparece como retrasada si se supera la fecha de entrega prevista.
📦
Recepción — actualización del stock por línea
Desde el móvil (o el escritorio), el operario indica para cada línea: la cantidad realmente recibida, el número de lote del proveedor (opcional), la fecha de caducidad (obligatoria si el material lo exige) y el almacén de destino. La cantidad se acredita inmediatamente en el stock al validar. Si no todas las líneas se reciben por completo, la orden pasa a PARTIELLEMENT_RECU.
Trazabilidad de lotes — Pro+
🔄
Recepciones parciales sucesivas
Una orden puede recepcionarse en varias veces. En cada recepción parcial, el stock se acredita con la cantidad indicada. El progreso de la recepción es visible en porcentaje por línea. La orden pasa a RECU únicamente cuando todas las líneas han alcanzado su cantidad pedida.
💡
Recepción excedentaria posible Es posible recepcionar más cantidad de la pedida en una línea (entrega excedentaria). MakerStocks lo indica visualmente pero lo permite. El stock se acredita con la cantidad realmente indicada.

Punto crítico 4.4

Sistema de alertas — tipos y desencadenantes

El panel de Alertas es la página de inicio de MakerStocks. Muestra en tiempo real las situaciones que requieren atención, agrupadas por nivel de urgencia. Las alertas se actualizan automáticamente cada 30 segundos.

🔴
Stock bajo — materia prima
El stock total de una materia prima ha bajado por debajo del umbral de alerta configurado en la ficha del material.
Desencadenante: stock total < umbral de alerta
🟡
Alerta previsional — run en riesgo
Un run planificado no podrá ejecutarse por falta de stock suficiente en el momento previsto. Se muestra en la banda "Previsionales".
Desencadenante: stock insuficiente para un run planificado
🔵
Stock bajo — producto terminado
El stock total de un producto terminado ha bajado por debajo del umbral de alerta configurado en la ficha del producto.
Desencadenante: stock del producto < umbral de alerta
Rotura de producto / Cancelación
Rotura total (stock = 0) o cancelación de una orden de compra que afecta a un aprovisionamiento esperado.
Desencadenante: stock = 0 o cancelación de la orden
🔔
Confirmación de una alerta
Cualquier alerta puede confirmarse manualmente desde el escritorio (botón "Confirmar"). La alerta confirmada se archiva y desaparece de las alertas activas. Sigue siendo visible en el historial de los últimos 30 días. Una alerta confirmada puede reaparecer si la condición que la desencadenó sigue sin resolverse (por ejemplo, el stock sigue bajo).
📊
Banda de alerta en la parte superior del móvil
La interfaz móvil muestra una banda roja persistente en la parte superior de cada pantalla cuando existe al menos una alerta de stock bajo sin confirmar. Esta banda es visible desde todas las pestañas, no solo desde el panel. Desaparece en cuanto todas las alertas urgentes se resuelven o se confirman.
🔄
Actualización automática — 30 segundos
El panel de Alertas se actualiza automáticamente cada 30 segundos sin recargar la página. El panel móvil se actualiza cada 60 segundos. Un botón "Actualizar" permite una actualización manual inmediata desde el escritorio.

Punto crítico 4.5

Cálculo del COGS — método y componentes

El COGS (Cost of Goods Sold — coste de los bienes vendidos) se calcula automáticamente en cada run terminado. Su precisión depende del plan contratado: el plan Starter solo cubre las materias primas, el plan Pro añade la mano de obra y los gastos, el plan Business permite el informe P&L completo.

Fórmula según el plan
COGS — Starter (solo materias primas)
COGS = Σ ( cantidad_lote × costo_unit_lote ) por lote FIFO consumido
COGS completo — Pro+ (materiales + MO + gastos variables)
COGS = Σ ( cantidad_lote × costo_unit_lote ) materias primas FIFO + ( tarifa_horaria × num_operarios × duracion_receta ) coste MO por batch + costo_variable_lote energía, embalaje (indicado en la receta)
COGS + gastos fijos imputados — Business (informe P&L)
Coste completo / unidad = COGS Pro / unités_produites + Σ ( charge_fixe_mensuelle / volume_cible_mensuel ) alquiler, amortización…
💡
Precio de venta recomendado — cálculo automático (Pro+)
A partir del COGS completo, MakerStocks puede calcular un precio de venta sugerido. Este cálculo incorpora el margen objetivo definido en la receta. El precio recomendado es visible en la ficha de la receta y en la ficha del producto. No se sincroniza automáticamente con BigCommerce o Shopify — es solo orientativo.
Pro+
📤
Exportación contable XLSX (Pro+)
Disponible desde Control → Informes. Exporta en el período elegido: movimientos de stock, valoración FIFO, COGS detallado por run y por producto, resumen de gastos. Formato estructurado, compatible con los programas de contabilidad habituales. Método de costes completos, valoración FIFO, mención legal incluida.
Pro+
📊
Informe P&L por producto (Business)
Genera un documento completo: resumen ejecutivo (facturación, COGS, margen bruto), detalle de costes por producto, estructura de gastos fijos, cálculo del umbral de rentabilidad (punto de equilibrio) y proyección de facturación/margen a 12 meses. Requiere como mínimo un run terminado, una tarifa horaria y gastos fijos configurados.
Business

Punto crítico 4.6

Sincronización con BigCommerce y Shopify

La relación entre MakerStocks y tu tienda BigCommerce o Shopify es el corazón del sistema. No es bidireccional en todos los datos — es importante entender qué circula en qué sentido, y qué permanece independiente.

BigCommerce / Shopify
Catálogo de productos (nombre, SKU, precio)
Pedidos de clientes
Stock de la tienda (gestionado por la plataforma)
Identidad del comercio (auth)
hacia MS
desde MS
MakerStocks
Stock interno (gestionado por MS)
Recetas y COGS vinculados a los SKU
Materias primas consumidas
Trazabilidad de lotes y caducidad
🔄
Sincronización del catálogo de productos (tienda → MS)
MakerStocks importa el catálogo de productos desde tu tienda BigCommerce o Shopify: nombre, SKU, ID de producto, ID de variante, precio de venta. Esta sincronización puede activarse manualmente desde la página Productos y stock. Los productos creados en tu tienda después de la instalación deben sincronizarse para aparecer en MakerStocks.
Deducción automática en la venta (tienda → MS)
Cuando se registra una venta en tu tienda BigCommerce o Shopify para un producto vinculado a una receta principal en MakerStocks, la deducción de materias primas se dispara automáticamente. MakerStocks calcula el número de batches consumidos (cantidad vendida × batches por unidad) y luego deduce los materiales en FIFO. Este mecanismo solo funciona si la receta está marcada como "principal" en el producto.
🧮
Dos stocks independientes — stock de la tienda ≠ stock MS
MakerStocks mantiene su propio stock de productos terminados, independiente del stock de tu tienda BigCommerce o Shopify. El stock de la tienda es el stock disponible para la venta visible en la tienda. El stock MS es el stock físico en el taller, procedente de los runs de producción. Estos dos stocks no se sincronizan automáticamente — es una separación intencionada que permite gestionar reservas, lotes reservados o retrasos en la puesta a la venta.
Importante
🔗
Ratio de batches por unidad vendida — clave del vínculo
Al vincular receta y producto, el administrador indica el ratio "batches por unidad vendida". Ejemplo: si 1 batch produce 12 velas, y una vela se vende por unidad, el ratio es 1/12 = 0,0833 batch por unidad. Este ratio se usa para calcular el consumo de materiales en cada venta. Un ratio mal configurado provoca una deducción incorrecta.
Configurar con cuidado
🚨
El ratio batches/unidad es crítico Un error en este ratio provoca una deducción de stock incorrecta en cada venta. Revísalo con atención al hacer la vinculación y tras cualquier cambio en el tamaño del batch de una receta. Es modificable en cualquier momento desde la ficha del producto, pestaña "Recetas vinculadas".
📖
Fin de la documentación Has recorrido las cuatro partes de la documentación de MakerStocks. Para cualquier pregunta específica o caso de uso no cubierto aquí, contacta con soporte desde el admin de tu tienda BigCommerce o Shopify (plan Business: soporte prioritario).