Sistema de Gestión
de Bodega UniM
Manual completo de usuario para operarios de bodega, agentes de ventas y administradores del sistema.
📥 Ingreso
📦 Picking
📊 Inventario
📅 Eventos
🛒 Ventas
🛡️ Ajustes
🛠️ Mantenimientos
Versión 1.1 · Agosto 2026 · UniM Costa Rica
👤 Roles del Sistema
El sistema cuenta con varios tipos de usuario, cada uno con acceso a módulos específicos según su función en la empresa.
🏭 Operario de Bodega
Personal físico de la bodega. Ejecuta los procesos de recepción, picking, toma física, envío a eventos y retorno de artículos.
💼 Agente de Ventas
Gestiona eventos, crea y configura los artículos planificados para cada evento. Accede al módulo de eventos con su email corporativo.
🛡️ Supervisor de Bodega
Responsable del control de inventario. Es el único rol autorizado para registrar ajustes manuales y dar de baja unidades físicas serializadas.
🔑 Administrador
Mantiene actualizado el catálogo de productos: publicación, precios, identificación, descripciones y fotos.
| Módulo | Operario | Agente | Supervisor | Admin. |
Ingreso de Mercadería /ingreso/ | ✅ Completo | — | — | — |
Picking / Alistamiento /pickingdev/ | ✅ Completo | — | — | — |
Toma Física /tomafisica/ | ✅ Completo | — | — | — |
Eventos — Gestión /eventos/ | Escaneo / Alistar / Envío / Retorno | ✅ Crear / Gestionar | — | — |
Consulta /consulta/ | ✅ Lectura | ✅ Lectura | ✅ Lectura | ✅ Lectura |
Ajustes de Inventario /ajustes/ | — | — | ✅ Completo | — |
Mantenimientos /mantenimiento/ | — | — | Solo Ubicaciones | ✅ Completo |
Credenciales de Acceso
| Rol | Usuario / Email | Contraseña | Módulos |
| Operario Carlos Vega | cvega | Bodega2025 | Ingreso, Picking, Toma Física, Eventos |
| Operario Diana Cruz | dcruz | Bodega2025 | Ingreso, Picking, Toma Física, Eventos |
| Operario Marcos Solís | msolis | Bodega2025 | Ingreso, Picking, Toma Física, Eventos |
| Agente José Martínez | nextcoventas1@gmail.com | next | Eventos (gestión) |
| Agente Ana López | nextcoventas3@gmail.com | next | Eventos (gestión) |
| Supervisor María González | mgonzalez | Sup2025 | Ajustes de Inventario, Consulta |
| Supervisor Luis Herrera | lherrera | Sup2025 | Ajustes de Inventario, Consulta |
→ Flujo General de Procesos
Los artículos recorren el siguiente ciclo dentro del sistema, desde que llegan de un proveedor hasta que son vendidos o despachados a un evento:
→
2
Almacenamiento en Bodega
→
→
→
/
ℹ️
Procesos 5 y 6 son paralelosLos artículos en inventario pueden ir a una venta (picking → despacho) o a un evento externo. Ambos caminos son independientes y están registrados en el sistema.
1 Recepción de Mercadería
👷 Operario de Bodega
Proceso de ingreso físico de productos enviados por un proveedor, verificando cantidades contra la orden de compra registrada en el sistema.
📋
Requisito previoEl agente o administrador debe haber creado previamente la Orden de Compra en el sistema con la lista de artículos y cantidades esperadas. El operario recibe físicamente la mercadería contra esa orden.
Acceso al Módulo
Desde cualquier navegador (preferiblemente móvil) acceder a:
http://[servidor]/woocommerce-app UniM/ingreso/
Paso a Paso
📥
Ingreso a Bodega
Operario de recepción
Usuario: cvega
Contraseña: ••••••
Ingresar
📋 Órdenes de Compra
Carlos Vega
En Progreso
Almacenes León y Cía.
36/76 unidades
Pendientes
AutoParts Distribuidora S.A.
3 artículos · 64 unidades
Pantalla 1: Login con usuario de operario.
Pantalla 2: Lista de órdenes de compra activas. El operario selecciona la orden correspondiente al proveedor que llega.
1
Ingresar al sistema
Abrir /ingreso/ en el navegador del dispositivo. Ingresar el nombre de usuario y contraseña de operario (ej: cvega / Bodega2025).
2
Seleccionar la Orden de Compra
La pantalla muestra las órdenes en progreso (prioridad) y las pendientes. Tocar la orden que corresponde al proveedor que está haciendo la entrega (ej: OC-2025-003).
3
Revisar el detalle de la orden
El sistema muestra la lista de artículos esperados con sus cantidades. Tocar "Iniciar recepción" para comenzar.
💡 Verificar con el proveedor que los artículos físicos coincidan con los de la lista antes de iniciar el escaneo.
4
Escanear código de ubicación
El sistema solicita primero la ubicación de bodega donde se almacenarán los artículos. Escanear el código QR/barras de la estantería (ej: 1-1A1). También se puede escribir manualmente.
5
Escanear artículos uno a uno
Una vez confirmada la ubicación, escanear el código de barras de cada artículo o caja. El sistema suma automáticamente las unidades.
📦 Código individual = +1 unidad Código de caja = +N unidades según factor (ej: caja de 12 suma 12 de golpe)
6
Cambiar de ubicación si aplica
Si los artículos de la orden van a distintas estanterías, usar el botón "Cambiar ubicación" y escanear el siguiente código de estantería.
7
Finalizar la recepción
Al terminar de escanear, tocar "Finalizar recepción". El sistema genera automáticamente el reporte de diferencias.
Reporte de Diferencias
Al finalizar, el sistema compara lo recibido contra lo esperado y muestra el reporte:
| Artículo | Esperado | Recibido | Diferencia |
| Aceite Motor 5W-30 1L | 24 | 24 | ✓ Sin diferencia |
| Filtro de Aceite Toyota | 12 | 10 | −2 (faltante) |
| Bujía NGK Premium | 8 | 8 | ✓ Sin diferencia |
⚠️
Faltantes frecuentes Si el proveedor entrega menos de lo indicado en la orden, el faltante queda registrado. Contactar al proveedor para coordinar la entrega pendiente o la nota de crédito correspondiente.
2 Almacenamiento y Ubicación
👷 Operario de Bodega
El almacenamiento es parte integral del proceso de recepción. El sistema registra en qué ubicación física se colocó cada artículo.
Estructura de Códigos de Ubicación
Los códigos de ubicación siguen el formato Edificio – Piso – Estante – Nivel:
6-9A1
Edificio 6
Piso 9
Estante A
Nivel 1
| Código | Descripción | Zona |
| 1-1A1 | Edificio 1, Piso 1, Estante A, Nivel 1 | Lubricantes |
| 1-1A3 | Edificio 1, Piso 1, Estante A, Nivel 3 | Filtros |
| 1-1A5 | Edificio 1, Piso 1, Estante A, Nivel 5 | Encendido |
| 1-1B1 | Edificio 1, Piso 1, Estante B, Nivel 1 | Enfriamiento |
| 1-1B4 | Edificio 1, Piso 1, Estante B, Nivel 4 | Frenos |
| 1-1C1 | Edificio 1, Piso 1, Estante C, Nivel 1 | Eléctrico |
🏷️
Etiquetas de ubicación Cada estantería física debe tener su código QR o código de barras impreso. Si una ubicación no tiene código físico, se puede escribir manualmente en el campo de texto durante el proceso de recepción.
Unidades de Almacenaje vs. Unidades de Distribución
El sistema maneja dos tipos de códigos para el mismo artículo:
| Tipo | Código | Acción al escanear | Ejemplo |
| Unidad individual | ACE-5W30-1L | +1 litro | Un litro de aceite suelto |
| Caja / Paquete | ACE-5W30-1L-BOX | +12 litros | Caja con 12 litros |
✅
El operario simplemente escanea lo que tiene en la mano — unidad suelta o caja completa — y el sistema convierte automáticamente a la unidad base. No se permiten cajas parciales: si quedan unidades sueltas de una caja abierta, se escanean una a una.
3 Gestión de Inventario — Toma Física
👷 Operario de Bodega
Proceso de conteo físico de todos los artículos en bodega para detectar diferencias entre el inventario real y el registrado en el sistema. Se recomienda realizarla mensualmente o cuando se sospeche de pérdidas.
⚠️
Impacto en el sistema Al completar la toma física, el sistema ajusta automáticamente el stock a las cantidades contadas. Este proceso es irreversible — asegurarse de que el conteo sea correcto antes de confirmar.
Acceso al Módulo
http://[servidor]/woocommerce-app UniM/tomafisica/
Paso a Paso
1
Iniciar sesión de toma física
Ingresar con usuario de operario. Tocar "Nueva toma física" para iniciar una sesión. Se genera un ID de sesión que identifica este conteo.
2
Ir a la primera ubicación
Moverse físicamente al primer estante. Escanear o escribir el código de ubicación (ej: 1-1A1).
3
Escanear todos los artículos en esa ubicación
Escanear cada artículo o caja presente en ese estante. El sistema acumula el total. Al terminar esa ubicación, pasar a la siguiente.
💡 Escanear todos los artículos visibles — el sistema se encarga de identificar si son parte del inventario esperado o si hay artículos no registrados.
4
Recorrer todas las ubicaciones
Repetir el proceso por cada estante de la bodega. No es necesario seguir un orden específico, pero se recomienda ir sistemáticamente de A1 hacia C.
5
Finalizar y revisar el reporte
Al tocar "Finalizar toma física", el sistema compara el conteo contra el stock registrado y muestra el reporte de diferencias. Revisar cuidadosamente antes de confirmar.
6
Confirmar ajuste de inventario
Al confirmar, el stock del sistema se actualiza a los valores contados. Los ajustes quedan registrados en el historial de movimientos.
4 Picking — Alistamiento de Pedidos
👷 Operario de Bodega
Proceso de recolección de artículos desde la bodega para preparar un pedido de cliente. El operario recibe una lista de artículos con ubicaciones y cantidades.
Acceso al Módulo
http://[servidor]/woocommerce-app UniM/pickingdev/
📦 Picking Bodega
Carlos Vega
Aceite Motor 5W-30 1L
SKU: ACE-5W30-1L
📍 1-1A1
Escanear artículo
📷
Código individual o caja
Pantalla 1: Lista de pedidos asignados al operario. Los pedidos en progreso aparecen primero.
Pantalla 2: Escaneo de artículos. Se ve cuántas unidades se han tomado del total requerido.
Paso a Paso
1
Ingresar al módulo de Picking
Abrir /pickingdev/ e ingresar con usuario de operario. Se muestra la lista de pedidos asignados con estado: pendiente o en progreso.
2
Seleccionar un pedido
Tocar el pedido para ver el detalle: lista de artículos, cantidades requeridas y las ubicaciones donde están en bodega. Continuar con el primer artículo.
3
Ir a la ubicación indicada
Moverse físicamente al estante indicado. Escanear el código de la ubicación para confirmar que es el lugar correcto. Existe un botón "Saltar" si la ubicación no tiene código físico.
📍 Si la ubicación escaneada no coincide con la indicada, el sistema muestra una advertencia pero permite continuar.
4
Escanear el artículo
Escanear el código del artículo o de la caja. El sistema muestra el conteo actualizado. Repetir hasta completar la cantidad requerida.
⛔ El sistema bloquea automáticamente si se intenta escanear más unidades de las requeridas (sobrepicking). Esto es intencional y no se puede omitir.
5
Línea completada → siguiente artículo
Al completar la cantidad de un artículo, el sistema pasa automáticamente al siguiente. Si quedan líneas pendientes, repetir los pasos 3 y 4.
6
Pedido completado
Cuando todas las líneas están completas, el pedido se marca como Completado y queda bloqueado. El sistema vuelve automáticamente a la lista de pedidos.
🚫
Pedido bloqueado Un pedido marcado como completado no puede modificarse. Si se cometió un error, contactar al administrador del sistema para hacer el ajuste correspondiente.
5 Despacho y Venta
👤 Agente + Sistema
Una vez que el picking de un pedido está completado, el artículo está listo para ser entregado al cliente. Este proceso conecta la bodega con la tienda online.
✅ Pedido Picking Completado
El operario marcó todas las líneas del pedido como completadas. Los artículos están físicamente separados y listos para despacho.
🚚 Despacho al Cliente
El agente o encargado de despacho entrega los artículos al cliente o los envía con el transportista. El pedido se marca como entregado en el sistema de ventas.
Estados de un Pedido
| Estado de Picking | Significado | Acción Siguiente |
| Pendiente | No se ha iniciado el alistamiento | Asignar a un operario |
| En progreso | El operario está alistando el pedido | Esperar a que finalice |
| Completado | Todos los artículos están listos | Despachar al cliente |
🛒
Flujo con la Tienda Online Los pedidos se generan desde la tienda web (/). Al procesarse el pago, el pedido aparece automáticamente en el módulo de picking para que el operario lo aliste. No es necesario ingresar el pedido manualmente.
6 Ciclo de Eventos
💼 Agente + 👷 Operario
Los artículos pueden salir de la bodega hacia eventos externos (ferias, exposiciones), moverse entre eventos sin regresar a bodega, y finalmente retornar. Cada movimiento actualiza el stock y queda registrado en el historial. Entre la planificación (6A) y la salida física (6C) hay una etapa obligatoria de Alistar (6B) — el picking del evento — que debe completarse antes de poder despachar.
Los 3 Flujos del Ciclo
📅
Evento A
Artículos activos
📅
Evento B
Artículos activos
Impacto en Stock por Flujo
| Flujo | Stock en bodega | Estado unidad física | Registro creado |
6C — Salida Bodega → Evento |
−N unidades Se descuenta del stock disponible |
dispatched |
event_movement tipo salida |
6D — Transferencia Evento A → Evento B |
Sin cambio El artículo ya salió de bodega en 6C |
dispatched (sin cambio) |
event_movement tipo transfer_out en origen + transfer_in en destino |
6E — Retorno Evento → Bodega |
+N unidades Se suma de vuelta al stock |
in_warehouse (nueva ubicación) |
event_movement tipo retorno + stock_movement tipo ingreso |
ℹ️
Artículo exclusivo por evento Un artículo solo puede estar activo en un evento a la vez. Para moverlo a otro evento se usa la transferencia directa (6D) — no hace falta retornarlo a bodega primero.
Acceso al Módulo
http://[servidor]/woocommerce-app UniM/eventos/
6A. Crear y Configurar un Evento (Agente)
💼 Agente de Ventas
Nombre: Feria Automotriz 2025
Lugar: Palacio de los Deportes
Dirección: Calle 26, Ave 8-10
Tel: +506 2222-5678
Guardar Evento
Escanear código del artículo...
En el evento
Aceite 5W-30 1L
ACE-5W30-1L · Plan: 15 unidades
Bujía NGK Premium
BUJ-NGK-001 · Plan: 20 unidades
Activar Evento
Pantalla 1: Formulario de creación del evento con todos los datos de contacto y fechas.
Pantalla 2: Lista de artículos planificados con cantidades. El agente activa el evento cuando está listo.
1
Iniciar sesión como Agente
Ingresar a /eventos/ con el email y contraseña de agente (ej: nextcoventas1@gmail.com / next).
2
Crear el evento (botón +)
Tocar el botón "+" en la lista de eventos. Completar: nombre, lugar, dirección, fecha/hora de inicio y fin, teléfono de contacto.
3
Agregar artículos planificados
Desde la tarjeta "Planificar" del detalle del evento, tocar "+Artículos". Escanear (con lector o cámara 📷) o escribir el código de cada artículo y definir la cantidad planificada a llevar.
💡 Reparto por fecha: si varios eventos se cruzan en fechas y piden el mismo artículo, el sistema reparte el disponible (stock menos lo reservado) empezando por el evento que inicia primero. Lo que no alcance queda como faltante, se marca en naranja (⚠ "Faltan N") en la lista de eventos y en el detalle, y se completa solo cuando entra mercadería o se libera de otro evento.
💡 Calendario (📅): el ícono junto a cada artículo muestra, día por día, cuántas unidades están comprometidas en cada evento.
💡 Cambiar la cantidad: en la lista de artículos del evento, tocar el lápiz ✏️ y escribir la cantidad pedida. Si se reduce, lo que sobra se libera automáticamente (incluida la reserva del alisto) y pasa a los eventos que tenían faltantes. No puede quedar por debajo de lo ya enviado.
4
Activar el evento
Al estar lista la lista de artículos, tocar "Activar" (dentro de la tarjeta Planificar del detalle del evento). A partir de ese momento el operario puede iniciar el proceso de alistamiento.
6B. Alistar — Picking del Evento
👷 Operario de Bodega
Antes de poder despachar el evento, el sistema exige que los artículos planificados sean alistados físicamente — el mismo proceso de picking descrito en la sección 4, pero generado automáticamente para el evento. Esta etapa aparece como la tarjeta "Alistar", entre Planificar y Enviar, en el detalle del evento.
📦
Pedido de picking automático El sistema crea un pedido de picking vinculado al evento la primera vez que se toca la tarjeta "Alistar". Si el stock disponible es menor al planificado para algún artículo, la cantidad del pedido se reduce automáticamente y se muestra un aviso con el detalle.
1
Abrir la tarjeta "Alistar" del evento
Desde el detalle del evento activo, tocar la tarjeta "Alistar" y luego "Recojer productos".
2
El sistema abre el módulo de Picking
Se abre automáticamente /pickingdev/ con el pedido de picking del evento ya seleccionado, listo para escanear.
3
Recorrer ubicaciones y escanear cada artículo
Igual que un picking normal (ver sección 4): ir a la ubicación indicada, escanear el artículo, repetir hasta completar todas las líneas planificadas del evento.
4
Picking completado → se habilita Enviar
Al completar todas las líneas, la tarjeta "Alistar" queda marcada con un check verde y la tarjeta "Enviar" se habilita en el detalle del evento.
🚫
Enviar bloqueado sin alistamiento No se puede iniciar el despacho (6C — Salida) de un evento sin haber completado primero su alistamiento. Los eventos que ya estaban en curso antes de esta validación conservan acceso directo a Enviar como excepción, para no interrumpir procesos ya iniciados.
6C. Salida — Bodega → Evento
👷 Operario de Bodega
📉 Qué cambia en stock
El stock disponible del artículo disminuye en la cantidad enviada. El artículo queda marcado como en evento — no disponible para picking ni para otro evento.
📦 Unidades serializadas
Si el artículo tiene trazabilidad, el estado de cada unidad física cambia a dispatched. Su código de barras único queda vinculado al evento.
1
Ingresar como operario al módulo de Eventos
En /eventos/, ingresar con usuario de operario (ej: cvega). Ver la lista de eventos activos asignados.
2
Seleccionar el evento y tocar "Enviar"
Abrir el evento activo y tocar el botón "Enviar". Se muestra la lista de artículos planificados con la cantidad a enviar y el progreso actual.
3
Escanear cada artículo al cargarlo al vehículo
Escanear el código de barras de cada unidad física a medida que se carga, con lector USB o tocando el ícono 📷 junto al campo para usar la cámara del dispositivo. El sistema lleva el conteo en tiempo real y actualiza el progreso por línea. Si se escaneó algo por error, se puede quitar la última unidad desde el resumen de despacho (ícono de basurero).
⛔ No se puede enviar más unidades de las planificadas. Si se necesitan más, el agente debe actualizar la cantidad planificada primero.
4
Confirmar el envío
Al terminar de cargar, tocar "Envío Completado". El sistema descuenta las unidades del stock de bodega y registra el movimiento de salida en el historial del evento.
✅
Después del envío Los artículos enviados aparecen en el módulo de Consulta como "En evento: [nombre del evento]". El stock de bodega ya no los contabiliza.
6D. Transferencia — Evento A → Evento B
👷 Operario de Bodega
Cuando un artículo necesita moverse de un evento a otro sin regresar a bodega. Útil cuando el artículo está en una feria que cierra y se manda directo a la siguiente.
📊 Qué cambia en stock
Nada en bodega. El artículo ya fue descontado al salir en 6C. Solo cambia en qué evento está registrado: sale del Evento A y entra al Evento B.
📋 Registros creados
Dos entradas en event_movements: transfer_out en el evento origen y transfer_in en el evento destino. La unidad física sigue con estado dispatched.
⚠️
Requisito del evento destino El evento destino debe estar en estado Activo para poder recibir artículos. Si todavía está en Borrador, el agente debe activarlo primero.
Paso 1 — Artículo
Aceite 5W-30 1L ✓
Disponibles en Evento A: 12 uds
Paso 2 — Evento destino
Feria Verde Heredia 2025 ▾
Paso 3 — Cantidad
Unidades a transferir: 5
Paso 4 — Confirmar
Escanear código del artículo...
Confirmar Transferencia
La transferencia requiere 4 pasos: seleccionar el artículo del evento origen, elegir el evento destino, indicar la cantidad y escanear el artículo físico para confirmar.
📋
Trazabilidad Después de confirmar, el Evento A muestra el artículo con "X unidades transferidas" y el Evento B lo recibe como "X unidades recibidas por transferencia".
1
Abrir el evento origen y tocar "Transferir"
Desde el detalle del Evento A (el que tiene el artículo actualmente), tocar el botón "Transferir". Solo se muestra si el evento está activo.
2
Seleccionar el artículo a transferir
Tocar el artículo en la lista. Solo aparecen artículos con unidades disponibles — las que ya fueron enviadas y aún no retornaron.
3
Elegir el evento destino y la cantidad
Seleccionar el Evento B del desplegable (solo muestra eventos activos). Ingresar cuántas unidades se transfieren — no puede ser mayor a las disponibles en el evento origen.
4
Escanear el artículo para confirmar
Escanear el código de barras del artículo físico. El sistema valida que coincida con el artículo seleccionado y ejecuta la transferencia entre eventos.
✅ Tras confirmar: el Evento A descuenta las unidades y el Evento B las suma. El stock de bodega no cambia.
6E. Retorno — Evento → Bodega
👷 Operario de Bodega
Cuando el evento finaliza, los artículos que no se vendieron regresan a la bodega. El proceso es similar a una recepción de proveedor: se escanea cada artículo, se asigna la ubicación de destino y el sistema incrementa el stock.
📈 Qué cambia en stock
El stock disponible en bodega aumenta por cada unidad retornada. Si retornan 10 unidades, el stock sube 10. Las unidades no retornadas (vendidas/extraviadas) quedan como diferencia a justificar.
📍 Ubicación actualizada
Cada artículo retornado puede guardarse en una ubicación diferente a la original. El operario escanea la estantería de destino y el sistema actualiza la ubicación del producto.
Feria Automotriz San José 2025
Escanear artículo que regresa
📷 Escanear artículo que regresa…
✓ Anticongelante Verde — 22/24 retornados
Ubic anterior: 1-1B1 · Restan: 2
Escanear ubicación de destino
📷 Código de estantería…
Puede ser diferente a la ubicación original
El retorno sigue el mismo flujo que la recepción de proveedor:
- Escanear el artículo físico
- Escanear la estantería de destino
- El sistema suma el stock y actualiza la ubicación
- Repetir hasta procesar todos los que regresan
💡
Si varios artículos van a la misma estantería, el sistema la recuerda para el siguiente escaneo — no es necesario escanearla cada vez.
1
Abrir el evento y tocar "Retorno"
Desde el detalle del evento activo, tocar "Retorno". Se muestra la lista de artículos enviados con el progreso: cuántos ya volvieron y cuántos están pendientes.
2
Escanear el artículo que regresa
Escanear el código de barras del artículo físico, con lector USB o tocando el ícono 📷 para usar la cámara. El sistema lo identifica, confirma que pertenece a este evento, y solicita la ubicación de bodega donde se almacenará.
3
Escanear la estantería de destino
Escanear el código de la estantería donde se guardará (ej: 1-1B1), con lector, cámara o escribiéndolo manualmente. El sistema actualiza la ubicación del artículo y suma las unidades al stock de bodega.
📍 La ubicación puede ser diferente a la original — el sistema actualiza el campo location del producto con la nueva estantería.
4
Repetir por cada artículo que regresa
Procesar todos los artículos que vuelven del evento. Cuando ya no haya más para procesar, tocar "Finalizar — Ver Diferencias".
💡 Los artículos que NO regresan (vendidos, extraviados, dañados) quedan automáticamente como diferencias en el reporte de cierre (sección 6F).
✅
Después del retorno Cada unidad retornada vuelve a aparecer en el módulo de Consulta como disponible en bodega, con la nueva ubicación. El stock del producto aumenta por la cantidad retornada.
6F. Reporte de Diferencias y Cierre del Evento
💼 Agente + 👷 Operario
Al finalizar el retorno, el sistema compara lo enviado contra lo retornado. Las diferencias deben ser justificadas antes de cerrar el evento.
| Artículo | Enviado | Retornado | Diferencia | Justificación |
| Anticongelante Verde 1L | 24 | 22 | −2 | Vendido en evento |
| Pastillas de Freno Del. | 6 | 4 | −2 | Vendido en evento |
| Cinta Vulcanizante | 12 | 12 | ✓ | — |
Justificaciones Disponibles
| Código | Justificación | Descripción |
VENDIDO | Vendido en evento | El artículo fue vendido durante el evento |
DANIADO | Artículo dañado | El artículo sufrió daños y no puede regresar |
EXTRAVIADO | Artículo extraviado | El artículo no fue localizado al cierre del evento |
DEVUELTO | Devuelto a proveedor | El artículo fue devuelto directamente al proveedor |
SOBRANTE | Sobrante de evento | Se recibieron más unidades de las enviadas |
OTRO | Otro motivo | Ver campo de notas |
⚠️
Justificación obligatoria Toda diferencia (faltante o sobrante) debe tener una justificación seleccionada antes de poder cerrar el evento. El sistema no permite cerrar sin justificar todas las diferencias.
🔧
Gestión de justificaciones Las justificaciones disponibles las puede editar el agente desde la pantalla de configuración del módulo (icono ⚖️ en el header). Se pueden activar/desactivar y agregar nuevas según las necesidades de la empresa.
🔍 Módulo de Consulta
👤 Cualquier usuario
Permite buscar artículos por código de barras para consultar stock, ubicación y si el artículo está actualmente en un evento.
http://[servidor]/woocommerce-app UniM/consulta/
Información disponible por artículo
📊 Stock actual
Cantidad disponible en bodega según el sistema.
📍 Ubicación en bodega
Código de estante donde se encuentra el artículo.
📅 En evento
Si está activo en un evento, muestra el nombre del evento y cuántas unidades están fuera.
📋 Historial de movimientos
Últimos ingresos, salidas y ajustes de inventario del artículo.
🛡️ Ajustes de Inventario
🛡️ Solo Supervisores
Permite registrar correcciones manuales al inventario de unidades físicas serializadas. Cada ajuste queda registrado en la bitácora de la unidad con fecha, hora, supervisor responsable y motivo.
🔒
Acceso restringido Este módulo requiere credenciales de supervisor. Los operarios de bodega y agentes de ventas no tienen acceso. El login de supervisores es independiente del resto del sistema.
Acceso al Módulo
http://[servidor]/woocommerce-app UniM/ajustes/
¿Qué es la bitácora?
Cada unidad física serializada tiene un código de barras único (formato XXXXXX.YYYYYY) que permite rastrear su ciclo de vida completo:
| Tipo de movimiento | Color | Cuándo ocurre |
| Ingreso | ● Verde | Cuando se recibe la unidad en bodega (proceso de recepción) |
| Cambio de ubicación | ● Azul | Cuando se mueve físicamente a otra estantería |
| Despacho | ● Amarillo | Cuando la unidad sale por una venta o picking |
| Partición (split) | ● Morado | Cuando se divide una caja o paquete en unidades menores |
| Ajuste manual | ● Naranja | Corrección registrada por un supervisor |
Tipos de Ajuste Disponibles
🚫 Dar de baja
Retira la unidad del inventario activo. El estado cambia a Dado de baja (invalidado). No puede revertirse — si fue un error, contactar al administrador.
📍 Cambiar ubicación
Actualiza el código de estantería registrado en el sistema para reflejar el movimiento físico de la unidad.
🔄 Corrección de estado
Cambia el estado registrado de la unidad cuando el sistema no refleja la realidad (ej: aparece como despachada pero está en bodega).
💬 Solo observación
Registra una nota en la bitácora sin modificar ningún dato. Útil para documentar incidencias o hallazgos durante inspección.
Paso a Paso
1
Ingresar al módulo de Ajustes
Abrir /ajustes/ e ingresar con credenciales de supervisor (ej: mgonzalez). El sistema muestra el chip de supervisor en el encabezado.
2
Buscar la unidad
Escanear el código de barras único de la unidad física con la cámara, o escribirlo manualmente (formato XXXXXX.YYYYYY). El código está en la etiqueta pegada a la unidad.
💡 Si no se conoce el código, buscarlo en el módulo de Consulta filtrando por SKU o nombre del producto.
3
Revisar la ficha y bitácora
El sistema muestra el estado actual de la unidad (producto, ubicación, estado) y su historial completo en orden cronológico. Verificar que sea la unidad correcta antes de continuar.
4
Tocar "Registrar ajuste"
El botón solo está disponible si la unidad no ha sido dada de baja previamente. Las unidades ya invalidadas no pueden recibir más ajustes.
5
Seleccionar tipo y motivo
Elegir el tipo de ajuste (dar de baja, cambiar ubicación, corrección de estado, u observación) y luego el motivo específico. Ambos campos son obligatorios para los tipos que los requieren.
📋 Para "Dar de baja": Deterioro · Merma · Robo o Pérdida · Error de ingreso · Vencimiento
6
Confirmar el ajuste
El botón de confirmar se activa solo cuando todos los campos requeridos están completos. Al confirmar, el sistema actualiza la unidad y registra el movimiento en la bitácora de forma permanente.
⚠️
Los ajustes son permanentes No existe opción de "deshacer". Si se registró un ajuste por error, el supervisor debe crear un contra-ajuste con el motivo "Error de sistema" para documentar la corrección en la bitácora.
Mockup — Ficha de unidad y bitácora
📦
Válvula de presión 3/4"
AB1234.X7K9P2
En bodega
📍 1-1C4
Bitácora de movimientos
📥
Ingreso
2026-05-10 · Ernesto · OC-2026-042
📍
Cambio de ubicación
2026-05-14 · Carlos · 1-1C4
✏️ Registrar ajuste
Tipo de ajuste
🚫
Dar de baja
Retira del inventario activo
Motivo
Deterioro ✓
Merma
Robo
✅ Confirmar ajuste
Pantalla 1: Ficha de la unidad con su bitácora cronológica. El supervisor puede ver todo el historial antes de actuar.
Pantalla 2: Formulario de ajuste. El tipo y motivo son obligatorios; el botón de confirmar se activa solo cuando todo está completo.
🛠️ Mantenimientos
🔑 Administrador
🔑 Supervisor
Punto de entrada único a las tareas de mantenimiento del catálogo. Al ingresar se muestra un menú ("Mantenimientos") con tres opciones — Productos, Categorías y Ubicaciones — cada una habilitada según el permiso que tenga el usuario. Un Administrador ve las tres; un Supervisor sin el permiso "Mantenimiento" solo ve habilitada Ubicaciones (las otras dos aparecen atenuadas con "No tenés acceso con tu rol actual").
🔒
Acceso restringido Requiere el permiso de módulo "Mantenimiento" (Productos y Categorías) o "Ubicaciones" (habitualmente Administrador y Supervisor respectivamente). Operarios y agentes no ven esta tarjeta en el menú principal.
Acceso al Módulo
http://[servidor]/woocommerce-app UniM/mantenimiento/
📦 Productos
Permite mantener actualizado el catálogo: publicar/despublicar productos, editar precios, identificación (nombre, slug, SKU, código base), descripciones, ubicación y la foto del producto — además de crear artículos nuevos desde cero.
Campos Editables
| Grupo | Campos |
| Estado | Publicado / Borrador — controla si el producto es visible en la tienda online |
| Identificación | Nombre, Slug (URL), SKU, Código base |
| Descripción | Descripción corta y descripción larga |
| Precios y costo | Precio regular, precio de oferta, costo de compra (interno, no visible al cliente) |
| Imagen | Foto principal del producto — se puede reemplazar subiendo un archivo nuevo |
Paso a Paso — Editar un Producto
1
Ingresar al módulo
Abrir /mantenimiento/, ingresar con un usuario que tenga el permiso "Mantenimiento" habilitado, y tocar la opción Productos en el menú de Mantenimientos.
2
Buscar el producto
Escribir en el buscador el nombre, SKU o código base del producto (ej: Esquinero o TRS-0001) y seleccionarlo de los resultados.
3
Editar los campos necesarios
Modificar estado, identificación, descripciones o precios. Los campos marcados con * son obligatorios.
4
Cambiar la foto (opcional)
Tocar sobre la imagen del producto y subir un archivo nuevo desde el dispositivo. La imagen anterior se reemplaza.
5
Guardar los cambios
Los cambios se reflejan de inmediato en la tienda online y en el resto de los módulos que muestran información del producto.
⚠️
Despublicar oculta el producto Un producto en estado "Borrador" no aparece en la tienda online ni se puede vender, pero conserva su stock y ubicación en bodega — sigue disponible para los demás procesos internos (ingreso, picking, eventos, etc.).
Crear un Artículo Nuevo
Desde la pantalla de Productos, el botón "+ Nuevo artículo" abre un formulario con Categoría, Código, Artículo, Descripción, Ubicación, Precio de venta y Precio de oferta. Al elegir la categoría, el Código se sugiere solo (ver "Autonumérico" en la subsección Categorías) — la sugerencia queda editable, no es obligatorio usarla.
💡
Este mismo formulario también se puede abrir sin salir de Ingreso de Mercadería: si se escribe un código que no existe en el catálogo, se abre automáticamente para crearlo al vuelo.
🏷️ Categorías
Permite crear, renombrar y eliminar categorías del catálogo, y fijar manualmente el prefijo de código que el autonumérico usa para esa categoría al crear artículos nuevos (en Mantenimiento o desde Ingreso).
Autonumérico — cómo se decide el prefijo
| Prioridad | Regla |
| 1️⃣ | Prefijo fijado a mano en esta pantalla (si existe, siempre gana) |
| 2️⃣ | El prefijo que la categoría ya viene usando en el catálogo (ej. 12 productos con JAR-000X → sugiere JAR) |
| 3️⃣ | Si la categoría es nueva y no tiene productos: las primeras 3 letras del nombre (sin tildes ni espacios) |
💡
El código sugerido siempre es editable — sirve como punto de partida, no se fuerza. Si se borra o se cambia a mano, elegir otra categoría después no lo vuelve a pisar.
Eliminar una categoría
🚫
No se puede eliminar una categoría que tenga productos asignados — hay que reasignar esos productos a otra categoría primero. El sistema avisa cuántos productos la están usando.
📍 Ubicaciones
Gestión de las ubicaciones físicas de bodega — mismo módulo de siempre (/ubicaciones/), ahora también accesible desde acá para quien tenga el permiso correspondiente. Permite:
| Acción | Detalle |
| Agregar | Una por una a mano, o importando varias de golpe desde un Excel (columnas Piso, Ubicación, Nivel) |
| Filtrar | Buscar una ubicación puntual dentro del listado completo |
| Imprimir etiquetas | Individual por ubicación, o todas de una — en tamaño Grande o Pequeña |
| Panel resumen | Total de ubicaciones, cuántas tienen productos y cuántas están vacías |
⚙️ Configuración del Sistema
Activar / Desactivar Módulo de Eventos
El módulo de eventos puede desactivarse para periodos donde no se realizan eventos externos. Solo los agentes y administradores pueden cambiar esta configuración.
Pasos: Ingresar a /eventos/ como agente → Tocar el ícono ⚖️ en el header → Al final de la pantalla de Justificaciones → Tocar el toggle "Módulo de Eventos: Activo/Inactivo".
⚠️
Al desactivar el módulo, los operarios y agentes no podrán acceder al módulo de eventos. Los datos existentes no se eliminan — se reactivarán cuando se vuelva a activar el módulo.
Datos de Configuración en Archivos
| Archivo | Contenido |
config/events_config.json | Activación del módulo de eventos |
config/users.json | Usuarios del sistema con roles (agente, admin, etc.) |
config/category_include.json | Categorías visibles en la tienda |
config/price_overrides.json | Sobrecostos de precio por categoría |
📋 Referencia Rápida
URLs del Sistema
| Módulo | URL | Usuario |
| ⊞ Menú Principal | /menu.html | Todos (punto de entrada) |
| Tienda Online | / | Clientes |
| Ingreso de Mercadería | /ingreso/ | Operarios |
| Ubicaciones (también accesible desde Mantenimientos) | /ubicaciones/ | Solo Supervisores |
| Impresión de Etiquetas | /etiquetas/ | Operarios + Supervisores |
| Picking / Alistamiento | /pickingdev/ | Operarios |
| Toma Física | /tomafisica/ | Operarios |
| Consulta de Artículos | /consulta/ | Todos |
| Módulo de Eventos | /eventos/ | Operarios + Agentes |
| Ajustes de Inventario | /ajustes/ | Solo Supervisores |
| Mantenimientos | /mantenimiento/ | Administradores (Productos + Categorías) y Supervisores (Ubicaciones) |
| Manual de Usuario | /manual/ | Todos |
Estados de los Procesos
| Proceso | Estado | Significado |
| Orden de Compra | Pendiente | Creada, aún no se ha recibido nada |
| En Progreso | Recepción iniciada, aún faltan artículos |
| Completada | Todos los artículos recibidos y ubicados |
| Evento | Borrador | En planificación, sin artículos enviados |
| Activo | Evento en curso, artículos pueden salir/retornar |
| Completado | Evento cerrado con reporte de diferencias |
| Pedido Picking | Pendiente | Esperando operario para alistar |
| En Progreso | Operario alistando artículos |
| Completado | Listo para despacho, bloqueado |
Reglas de Negocio Importantes
🚫No se permiten cajas parciales durante ingreso o picking. Si quedan unidades sueltas de una caja abierta, se escanean individualmente.
🚫Sobrepicking bloqueado: No se puede alistar más unidades de las solicitadas en el pedido.
🚫Pedido completado = bloqueado: No se puede modificar un pedido marcado como completado.
⚠️Artículo exclusivo en evento: Un mismo artículo no puede estar activo en dos eventos simultáneos. Transferirlo usando el proceso de transferencia.
⚠️Diferencias deben justificarse: No es posible cerrar un evento con diferencias sin asignarles una justificación.
✅Todos los movimientos quedan registrados en el historial de stock_movements con fecha, hora, operario y tipo de movimiento.
📷Escaneo con cámara disponible: además del lector de código de barras USB, todos los campos de escaneo del sistema (Ingreso, Alistar/Picking, Planificar, Enviar y Retornar) tienen el ícono 📷 para escanear con la cámara del celular o tablet.
🌓Tema oscuro/claro compartido: la preferencia de tema (☀️/🌙) es la misma en todos los módulos del sistema de bodega — se guarda una sola vez y aplica automáticamente al entrar a cualquier módulo.
Contacto y Soporte
📞
Para problemas técnicos o dudas sobre el sistema, contactar al administrador del sistema o al equipo de TI de UniM.
Manual de Usuario — Sistema DECA Bodega v1.1
Agosto 2026 · Confidencial — Uso interno