Documento de uso interno. Detalla, por tarea, la descripción funcional, el enfoque técnico de implementación y el valor acordado a pagar al desarrollador. Valores en pesos colombianos (COP).
Ajuste manual de inventario y disponibilidad de ítems
Descripción
Ajustar manualmente las cantidades de inventario desde la tabla con comentario que justifique el cambio, y poder "apagar" un ítem para volverlo no disponible aunque tenga stock. Líneas editables en la tabla para cantidad (con comentario) y para habilitar/deshabilitar.
Idea de solución
Estado de disponibilidad a nivel de inventario y edición en línea por fila; cada ajuste de cantidad genera un registro en el historial con su comentario.
Notas técnicas
Agregar campo de disponibilidad en el modelo Inventory (+ migración). Endpoint de ajuste que crea un InventoryItemHistory con observación; endpoint/flag para alternar disponibilidad. Front: tabla editable (HeroUI) + modal de comentario + switch por fila.
Subida de inventario mediante Agente de IA
Descripción
Subir imagen/foto de factura; un agente de IA la interpreta, hace match contra el catálogo y muestra tabla editable de revisión. Campos de proveedor, número de factura y fecha. Botón de atajo para crear ítem nuevo.
Idea de solución
LLM de visión que devuelve proveedor + factura + líneas en JSON; servicio de matching contra catálogo con nivel de confianza; pantalla de revisión/edición y confirmación reutilizando el flujo de transacciones.
Notas técnicas
LLM recomendado: GPT-4o-mini (visión) de OpenAI — ya existe placeholder OPENAI_API_KEY. Reutiliza FileManager/S3 para la imagen. Almacenar proveedor + datos de factura (+ migración). El costo por uso del LLM lo asume el cliente (operativo, no parte de este pago).
Reportes descargables en Excel
Descripción
Reporte de transacciones de subida de inventario y reporte de inventario actual, descargables en Excel.
Idea de solución
Endpoints de exportación con filtros + botones de descarga en el front.
Notas técnicas
Reutilizar la librería exceljs (ya instalada) y los enums/DTO de exportación existentes. Dos workbooks.
Ítems agotados visibles y bloqueados al ordenar
Descripción
Los ítems sin stock aparecen al ordenar desde la tienda, pero bloqueados/en gris (no seleccionables).
Idea de solución
Incluir ítems con existencia 0 con bandera de "no disponible"; el front los renderiza deshabilitados.
Notas técnicas
Modificar getAvailableItemsByEventAndPointOfSale para no filtrar stock 0 y marcarlos; deshabilitar en UI.
Corrección: tiendas compartidas entre hubs
Descripción
Al habilitar en un hub una tienda que ya pertenece a otro, se arrastran las órdenes/transacciones del hub anterior. Corregir para que cada hub muestre solo lo suyo.
Idea de solución
Asociar las órdenes al hub, no solo a la tienda, y filtrar por hub + tienda en el módulo de órdenes.
Notas técnicas
Agregar eventId a Order (+ migración y backfill de datos existentes). Ajustar create y todas las consultas de orders.service (resúmenes y listados) que hoy filtran solo por pointOfSaleId. Validar regresiones.
Renombrar Evento→Hub/Centro y Point of Sale→Store/Tienda
Descripción
Cambiar "Event" por "Hub" (Centro) y "Point of Sale" por "Store" (Tienda) en toda la interfaz.
Idea de solución
Actualizar textos visibles y archivos de i18n (es/en).
Notas técnicas
Alcance: solo texto visible + i18n (es.json/en.json) y labels de componentes. NO incluye renombrar rutas, modelos Prisma, tablas ni identificadores de código. Ambas tareas se hacen juntas para aprovechar archivos compartidos.
Cajas divididas en unidades al crear el ítem
Descripción
Al crear el ítem, definir cuántas unidades contiene una caja (factor de conversión caja↔unidad).
Idea de solución
Campo de unidades por caja en el ítem, reflejado en el formulario de creación y en los cálculos.
Notas técnicas
Agregar campo (p. ej. unitsPerCase) al modelo Item (+ migración) y al CreateItemDto; ajustar formulario de creación y la lógica de inventario que use cajas/unidades.
Condiciones
- Valores acordados por tarea; el pago puede liquidarse por entregables.
- Buffer de integración (~10–15%) ya considerado dentro de cada valor.
- El costo de uso del LLM (tarea 2) no forma parte de este pago; corre por cuenta de la operación.
- Cambios de alcance se cotizan aparte.