Reserva de Stock en el Lote de Producción
La mayoría de las fábricas opera con lotes superpuestos. El Lote A necesita 500 metros de denim índigo; el Lote B necesita 300 del mismo. Si solo hay 600 metros disponibles, tienes un problema — y quieres saberlo antes de que ambos lotes intenten arrancar, no después de que uno falle a mitad del corte.
Para eso están las Stock Reservation Entries. El mecanismo estándar de reserva de ERPNext te permite comprometer stock contra una demanda específica. GarmentFlow lo extiende para que las reservas puedan hacerse directamente contra un Lote de Producción, con cantidades reservadas/entregadas/transferidas/consumidas fluyendo de vuelta a la tabla de materiales del Lote en tiempo real.
Qué se sobreescribe, y por qué
La Stock Reservation Entry estándar de ERPNext acepta comprobantes como Sales Order. No conoce nativamente los Lotes de Producción. GarmentFlow registra un override CustomStockReservationEntry (vía override_doctype_class en hooks.py) que agrega Production Batch como tipo de comprobante válido.
Lo que esto habilita:
- Una SRE puede tener
voucher_type = "Production Batch"yvoucher_no = <nombre del lote>. - El
voucher_detail_noapunta a una fila específica de la tabla de materiales del Lote. - Cuando el estado de la SRE cambia (ocurre una transferencia, se consume un ítem, se libera la reserva), el override sincroniza reserved_qty de vuelta a la fila
Production Batch Materialcorrespondiente.
El cálculo:
reserved_qty (visible on batch) =
sum across all active SREs for that batch+item:
reserved_qty - delivered_qty - transferred_qty - consumed_qty
La sección de materiales del Lote muestra por lo tanto siempre la cantidad reservada neta — descontando lo que ya se transfirió, se consumió o se entregó. Este es el número en el que confías al decidir si hay suficiente material reservado para el resto de la corrida del lote.
Cuándo ocurren las reservas
Tres flujos pueden crear una SRE contra un Lote:
- Reserva manual — un planificador reserva explícitamente stock contra el Lote desde el formulario de Stock Reservation Entry.
- Al asignar materiales del Lote — cuando se asignan materiales en un Lote y el inventario lo permite, GarmentFlow puede configurarse para crear SREs automáticamente.
- Al enviar la MR — cuando la Solicitud de Material auto-creada se envía, el stock correspondiente puede reservarse contra el Lote.
La configuración correcta para tu fábrica depende de cuán ajustado esté tu inventario. Inventario ajustado (sin holgura, múltiples lotes compitiendo) → reserva agresivamente. Inventario holgado → reserva solo lo que importa.
Qué protegen las reservas
Una cantidad reservada no se quita del depósito. Sigue físicamente ahí, sigue visible en el Stock Balance. Pero está prometida a un Lote de Producción específico.
Lo que eso te compra:
- Visibilidad. Un planificador puede preguntar "¿cuánto de esta tela está sin comprometer?" restando lo reservado de lo disponible. La respuesta es significativa en vez de un mejor-adivinar.
- Disciplina de asignación. Si un segundo Lote intenta arrancar y consumiría stock reservado, GarmentFlow lo marca.
- Rastro de auditoría. Las SREs quedan fechadas, firmadas y trazables. Si estalla una pelea sobre qué Lote tenía prioridad, la línea de tiempo de las SREs la responde.
Qué no hacen las reservas
Las reservas no bloquean físicamente el stock. Un usuario de depósito todavía puede registrar una Entrada de Stock que mueva materiales reservados a otro lado. La SRE hace visible el conflicto (y el override recalcula la cantidad reservada del Lote), pero ERPNext no te impide romper tu propia reserva.
En la práctica, esto significa que las reservas son un contrato entre los equipos de planificación y de depósito — respaldado por ERPNext, pero en última instancia sostenido por el proceso.
Leer la sección de materiales del Lote
Abre un Lote de Producción. La sección de Materiales muestra, por fila:
- Required Qty — lo que el Lote necesita.
- Allocated Qty — lo que se asignó contra el Lote.
- Reserved Qty — lo que está activamente reservado (el número que mantiene el override).
- Transferred Qty — lo que realmente se movió a un depósito de WIP vía Entradas de Stock de Material Transfer.
- Consumed Qty — lo que se consumió vía consumo por OLE.
Leer de izquierda a derecha te cuenta el ciclo de vida de cada material del Lote.
Imagen: La sección de Materiales de un Lote de Producción mostrando las columnas Required, Allocated, Reserved, Transferred y Consumed a lo largo de varias filas.
Qué hacer después
Con esto se cierra la pieza conceptual central. El resto de la sección es el lado práctico: Abastecimiento para la entrada, App de Logística para las operaciones diarias.