Skip to content

Registro Manual de Movimiento de Stock

Modulo: Stock Tipo: Process Estado: Planificado Fecha: 2026-03-20


Descripcion

Problema de negocio

El sistema permite registrar movimientos de stock de forma automatica a traves de operaciones de ventas (facturas, notas de credito) y compras. Sin embargo, existen situaciones donde es necesario registrar movimientos manualmente, como ajustes de inventario, transferencias entre depositos o correcciones.

Actualmente el registro manual de movimientos se realiza a traves de un mecanismo que no sigue los estandares del sistema y no verifica correctamente si el modulo de control de stock esta habilitado para la empresa.

Necesidad del negocio

Estandarizar el proceso de registro manual de movimientos de stock para que:

  1. Respete la configuracion de la empresa (modulo de control de stock habilitado/deshabilitado)
  2. Valide que los productos involucrados tengan control de stock activo
  3. Asigne correctamente la marca de origen segun el caracter de la operacion
  4. Mantenga consistencia con los movimientos generados automaticamente por otros modulos

Valor para el negocio

  • Control de acceso al registro manual basado en la configuracion de la empresa
  • Validacion de datos antes de registrar movimientos, previniendo errores de inventario
  • Consistencia en la clasificacion de movimientos manuales con la marca de origen correspondiente

Frontend (Perspectiva de Usuario)

Vistas

  • Formulario de registro de movimiento manual de stock

Interacciones del Usuario

  • Registrar un movimiento manual indicando fecha, comprobante, numero de comprobante y productos con cantidades
  • El sistema valida los datos y registra el movimiento

Estados de UI

  • Indicador de carga mientras se procesa el registro
  • Mensaje de exito al registrar el movimiento
  • Mensaje de error si el modulo de stock esta deshabilitado para la empresa
  • Mensaje de error si un producto no tiene control de stock habilitado
  • Mensaje de error si faltan datos obligatorios

Backend (Perspectiva de Datos de Negocio)

Entidades de Negocio

  • Movimiento de Stock: Registro de ingreso o egreso de productos en el inventario
  • Producto: Articulo que puede tener control de stock habilitado o deshabilitado

Datos Necesarios

CampoDescripcionObligatorio
FechaFecha del movimientoSi
ComprobanteTipo de comprobante de stock utilizadoSi
Numero de comprobanteNumero identificatorio del comprobanteSi
ProductosLista de productos con sus cantidadesSi (al menos uno)

Relaciones de Negocio

  • Un movimiento manual se clasifica con un tipo de comprobante de stock
  • Un movimiento afecta el stock de uno o mas productos
  • La marca de origen indica el caracter de la operacion (Oficial o Prueba)

Validaciones de Negocio

  • El modulo de control de stock debe estar habilitado para la empresa
  • Todos los campos obligatorios deben estar presentes
  • Los productos involucrados deben tener el control de stock habilitado
  • La marca de origen se asigna como 'O' (Oficial) para movimientos manuales registrados en entorno oficial

Reglas de Negocio

RN-001: Verificacion de modulo habilitado

  • Condicion: Al intentar registrar un movimiento manual de stock
  • Accion: El sistema verifica que la empresa tenga habilitado el modulo de control de stock. Si no esta habilitado, rechaza la operacion

RN-002: Producto con control de stock

  • Condicion: Al incluir un producto en el movimiento
  • Accion: El sistema verifica que el producto tenga habilitado el control de stock. Si no lo tiene, rechaza la operacion con mensaje descriptivo

RN-003: Marca de origen obligatoria

RN-004: Actualizacion de costo del producto

  • Condicion: Cuando el numero de comprobante es cero
  • Accion: El sistema actualiza el costo del producto asociado usando importe / cantidad como precio unitario

RN-005: Contrato del campo importe

  • mov_sto.importe almacena el total de la linea (cantidad × precio unitario)
  • En movimientos manuales: el controller calcula costo × cantidad antes de persistir
  • Caso especial — Ultimo Costo (cantidad = 0): importe = costo (unitario directo, sin multiplicacion)
  • Para obtener el precio unitario en consultas o informes: importe / COALESCE(NULLIF(cantidad, 0), 1)

Casos de Uso

Caso de Uso 1: Registrar movimiento manual de stock

Actor: Usuario con acceso al modulo de Stock

Precondiciones:

  • El modulo de control de stock esta habilitado para la empresa
  • Los productos a incluir tienen control de stock activo

Flujo principal:

  1. Usuario accede al registro de movimiento manual de stock
  2. Sistema muestra formulario con campos: fecha, comprobante, numero de comprobante, productos
  3. Usuario selecciona el tipo de comprobante de stock
  4. Usuario indica fecha y numero de comprobante
  5. Usuario agrega productos con sus cantidades
  6. Usuario confirma el registro
  7. Sistema valida los datos y verifica que los productos tengan control de stock
  8. Sistema registra el movimiento con marca de origen correspondiente
  9. Sistema muestra confirmacion

Flujos alternativos:

  • 1a. Modulo de stock deshabilitado: Sistema muestra error indicando que el modulo no esta activo para la empresa
  • 7a. Producto sin control de stock: Sistema muestra error indicando que el producto no maneja stock
  • 7b. Faltan datos obligatorios: Sistema muestra errores de validacion

Postcondiciones:

  • Movimiento de stock registrado
  • Stock de los productos afectados actualizado

Caso de Uso 2: Intento de registro con modulo deshabilitado

Actor: Usuario

Precondiciones:

  • El modulo de control de stock NO esta habilitado para la empresa

Flujo principal:

  1. Usuario intenta registrar un movimiento manual de stock
  2. Sistema verifica la configuracion de la empresa
  3. Sistema rechaza la operacion indicando que el modulo de control de stock no esta habilitado

Postcondiciones:

  • No se registra ningun movimiento

Consideraciones

Seguridad

  • Solo usuarios autenticados con acceso al modulo de Stock pueden registrar movimientos manuales
  • La operacion requiere que el modulo de control de stock este habilitado a nivel de empresa

Coexistencia temporal

  • Durante un periodo de transicion, el sistema mantendra disponibles tanto el mecanismo actual como el nuevo para registrar movimientos manuales, hasta que se complete la migracion

Dependencias

Modulos internos

  • Tipo de Comprobante de Stock: Se usa para clasificar el movimiento (ver recurso)
  • Productos (Ventas): Se valida que los productos tengan control de stock habilitado
  • Marca de Origen: Se aplica la clasificacion de marca segun el caracter de la operacion (ver recurso)

Criterios de Aceptacion

  • [ ] El sistema verifica que el modulo de control de stock este habilitado antes de procesar el registro
  • [ ] El sistema rechaza el registro si el modulo de stock esta deshabilitado, con mensaje descriptivo
  • [ ] El sistema valida que todos los campos obligatorios esten presentes (fecha, comprobante, numero de comprobante, productos)
  • [ ] El sistema rechaza el registro si un producto no tiene control de stock habilitado
  • [ ] El sistema asigna la marca de origen correspondiente al movimiento manual
  • [ ] El movimiento queda registrado correctamente y el stock de los productos se actualiza
  • [ ] Cuando el numero de comprobante es cero, el sistema actualiza el costo del producto

Notas Adicionales

  • Este proceso documenta exclusivamente el registro manual de movimientos. Los movimientos generados automaticamente por ventas y compras se documentan en sus respectivos recursos: Movimiento Stock Ventas y Movimiento Stock Compras
  • El campo de referencia a compras (trazabilidad con comprobantes de compra) se reserva para uso futuro sin funcionalidad activa en esta version