Inventario
Inventario gobierna las existencias: cuánto hay, cuándo entra, cuándo se ajusta y qué está por debajo del mínimo. Su clave es inventory. Es la bodega, no la vitrina: lo que se muestra en una ficha de producto es otra cosa.
Qué hace
Sección titulada «Qué hace»- El saldo es la suma de un libro de movimientos, no una columna que se actualiza. Cada lectura suma entradas, salidas y ajustes.
- Existencias con saldo vivo, mínimo y código principal; el detalle del producto trae su historial con qué entró o salió y por qué.
- Ajuste manual que fija el saldo escribiendo la diferencia, con un bloqueo para que dos ajustes seguidos no lean el mismo saldo viejo.
- Recepción contra proveedor. Mientras está abierta solo guarda líneas; al confirmar ingresa al libro con su coste unitario. Confirmarla dos veces no duplica el ingreso.
- Conteo. Al cerrar fija cada producto contado al número contado. Abierto no mueve nada.
- Proveedores, mínimos por producto y códigos de barras: el de fábrica y uno interno con dígito verificador.
- Aviso de “bajo mínimo” en la lista de atención del panel.
De qué depende
Sección titulada «De qué depende»- El módulo
inventoryy el catálogo: solo lo que es producto lleva existencias. - El libro vive en el núcleo y lo escriben también el POS y los pedidos. Por eso el módulo no es su dueño: un módulo no puede importar a otro.
- La recepción alimenta el último coste que lee Cóndor para calcular el margen.
Qué pasa cuando se apaga
Sección titulada «Qué pasa cuando se apaga»- Las listas responden 200 con lista vacía, nunca 403: el panel pinta la compuerta sin un error de red.
- El detalle del producto y todas las escrituras sí dan 403.
- El libro no se borra. Al encenderlo vuelve el saldo, porque nunca fue una columna.
- Entregar un pedido deja de descontar existencias.
- El aviso de bajo mínimo desaparece de la lista de atención.
Límites y trampas
Sección titulada «Límites y trampas»stockesnullcuando no hay ni un movimiento, no0. “No se ha tocado” y “se contó y dio cero” son estados distintos, y confundirlos pinta faltantes donde no los hay.- Un servicio no lleva existencias: ajustarlo da 422 y no crea movimiento; ponerle mínimo se ignora en silencio.
- “Sin mínimo” y “mínimo cero” no son lo mismo: guardar vacío borra la fila, guardar cero la deja.
- El bloqueo es sobre el sitio, no por producto: serializa también ajustes de otros productos del mismo sitio.
- No hay orden de compra. El mínimo se pone a mano: el plazo de entrega del proveedor existe en el modelo y no alimenta ningún cálculo.
- Un código de barras de otro producto da 422; el mismo código sobre el mismo producto es una actualización silenciosa.
- Un producto de otro sitio se descarta en las líneas de recepción y de conteo en lugar de rechazar el lote; un código ajeno sí da 422.
- El aviso de bajo mínimo no tiene prueba propia: es la única pieza del módulo sin red de seguridad.