- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
415 lines
10 KiB
Markdown
415 lines
10 KiB
Markdown
# MiChangarrito - Requerimientos Funcionales
|
|
|
|
## RF-001: Punto de Venta (POS)
|
|
|
|
### RF-001.1: Registro de Ventas
|
|
- Agregar productos manualmente o por búsqueda
|
|
- Escanear código de barras (cámara del celular)
|
|
- Ajustar cantidad de productos
|
|
- Aplicar descuentos (porcentaje o monto fijo)
|
|
- Calcular total automáticamente
|
|
- Mostrar desglose de productos
|
|
|
|
### RF-001.2: Métodos de Cobro
|
|
- **Efectivo**: Ingresar monto recibido, calcular cambio
|
|
- **Tarjeta Mercado Pago**: Conexión Bluetooth con terminal
|
|
- **Tarjeta Clip**: Conexión Bluetooth con terminal
|
|
- **CoDi**: Generar QR de cobro, esperar confirmación
|
|
- **Transferencia SPEI**: Mostrar CLABE virtual, confirmar manual
|
|
- **Fiado/Crédito**: Registrar deuda a cliente
|
|
|
|
### RF-001.3: Tickets y Comprobantes
|
|
- Generar ticket digital (imagen/PDF)
|
|
- Enviar por WhatsApp al cliente
|
|
- Imprimir en impresora térmica Bluetooth (opcional)
|
|
- Historial de tickets
|
|
|
|
### RF-001.4: Corte de Caja
|
|
- Corte parcial (sin cerrar día)
|
|
- Corte de día completo
|
|
- Resumen por método de pago
|
|
- Diferencia efectivo esperado vs real
|
|
- Enviar resumen por WhatsApp
|
|
|
|
## RF-002: Catálogo de Productos
|
|
|
|
### RF-002.1: Gestión de Productos
|
|
- Crear producto (nombre, precio, código de barras)
|
|
- Editar producto
|
|
- Eliminar/desactivar producto
|
|
- Categorizar productos
|
|
- Foto del producto (opcional)
|
|
- Precio de compra (para calcular margen)
|
|
|
|
### RF-002.2: Importación de Productos
|
|
- Desde foto (OCR de lista de precios)
|
|
- Desde archivo Excel/CSV
|
|
- Desde templates predefinidos (Bimbo, Coca-Cola, etc.)
|
|
- Desde audio (transcripción y procesamiento IA)
|
|
- Copia de otro negocio similar (con permiso)
|
|
|
|
### RF-002.3: Templates de Proveedores
|
|
- Bimbo: Pan, galletas, pastelitos
|
|
- Coca-Cola/FEMSA: Refrescos, jugos, agua
|
|
- PepsiCo: Sabritas, Gamesa, bebidas
|
|
- Modelo/Corona: Cervezas (donde aplique)
|
|
- Ricolino: Dulces, chocolates
|
|
- Genéricos: Productos básicos de abarrotes
|
|
- Giros específicos: Taquería, fonda, nevería
|
|
|
|
### RF-002.4: Variantes y Presentaciones
|
|
- Mismo producto, diferentes tamaños
|
|
- Precios por presentación
|
|
- Código de barras por variante
|
|
|
|
## RF-003: Inventario
|
|
|
|
### RF-003.1: Control de Stock
|
|
- Stock actual por producto
|
|
- Stock mínimo configurable
|
|
- Alertas de stock bajo (WhatsApp y push)
|
|
- Historial de movimientos
|
|
|
|
### RF-003.2: Entradas de Inventario
|
|
- Registro de compras a proveedor
|
|
- Entrada desde foto de nota/factura (OCR)
|
|
- Ajustes manuales (merma, robo, etc.)
|
|
|
|
### RF-003.3: Predicción de Resurtido
|
|
- Análisis de ventas históricas
|
|
- Sugerencia de cuánto comprar
|
|
- Alertas proactivas: "En 3 días se te acaba la Coca"
|
|
|
|
## RF-004: Sistema de Fiados/Crédito
|
|
|
|
### RF-004.1: Registro de Fiados
|
|
- Fiar a cliente identificado
|
|
- Monto máximo de crédito por cliente
|
|
- Fecha límite de pago (opcional)
|
|
- Notas del fiado
|
|
|
|
### RF-004.2: Gestión de Cobros
|
|
- Lista de fiados pendientes por cliente
|
|
- Total de fiados del negocio
|
|
- Marcar como pagado (parcial o total)
|
|
- Recordatorios automáticos por WhatsApp al cliente
|
|
|
|
### RF-004.3: Historial
|
|
- Historial de fiados por cliente
|
|
- Clientes morosos
|
|
- Reporte de fiados
|
|
|
|
## RF-005: Clientes
|
|
|
|
### RF-005.1: Registro de Clientes
|
|
- Nombre, teléfono (WhatsApp)
|
|
- Dirección (para entregas)
|
|
- Notas
|
|
- Registro automático desde WhatsApp
|
|
|
|
### RF-005.2: Historial de Cliente
|
|
- Compras realizadas
|
|
- Fiados pendientes y pagados
|
|
- Productos frecuentes
|
|
- Total gastado
|
|
|
|
### RF-005.3: Comunicación
|
|
- Enviar mensaje por WhatsApp
|
|
- Notificaciones de promociones
|
|
- Recordatorios de fiado
|
|
|
|
## RF-006: Pedidos de Clientes
|
|
|
|
### RF-006.1: Recepción de Pedidos
|
|
- Cliente envía pedido por WhatsApp
|
|
- LLM interpreta y estructura el pedido
|
|
- Notificación push al dueño
|
|
- Vista de pedidos pendientes
|
|
|
|
### RF-006.2: Procesamiento
|
|
- Aceptar/rechazar pedido
|
|
- Modificar pedido
|
|
- Confirmar disponibilidad de productos
|
|
- Calcular total
|
|
|
|
### RF-006.3: Cobro de Pedido
|
|
- Link de pago (Stripe)
|
|
- Pago presencial con terminal
|
|
- Pago en efectivo al entregar
|
|
- CoDi
|
|
|
|
### RF-006.4: Entregas a Domicilio
|
|
- Marcar pedido como "para entrega"
|
|
- Dirección del cliente
|
|
- Costo de envío configurable
|
|
- Estado: preparando, en camino, entregado
|
|
|
|
## RF-007: Asistente IA (LLM)
|
|
|
|
### RF-007.1: Canales de Comunicación
|
|
- WhatsApp (principal)
|
|
- Chat in-app
|
|
- Comandos de voz (futuro)
|
|
|
|
### RF-007.2: Capacidades para Dueño del Negocio
|
|
- Consultar ventas: "¿Cuánto vendí hoy/esta semana/este mes?"
|
|
- Consultar ganancias: "¿Cuál es mi utilidad de hoy?"
|
|
- Consultar inventario: "¿Cuántas Coca-Colas tengo?"
|
|
- Alertas: "¿Qué me falta por resurtir?"
|
|
- Predicciones: "¿Cuándo debo comprar más pan?"
|
|
- Registrar venta por chat: "Vendí 2 refrescos y una torta"
|
|
- Agregar producto: "Agrega un producto nuevo: Doritos a $18"
|
|
- Generar reportes: "Mándame el reporte de la semana"
|
|
- Configurar: "Cambia el precio de la Coca a $22"
|
|
|
|
### RF-007.3: Capacidades para Clientes
|
|
- Identificación: Detectar que es cliente (no dueño)
|
|
- Consultar productos: "¿Tienen refrescos?"
|
|
- Hacer pedido: "Quiero 3 tacos y una Coca"
|
|
- Preguntar precios: "¿A cómo el kilo de tortilla?"
|
|
- Estado de pedido: "¿Ya está mi pedido?"
|
|
- Horarios: "¿A qué hora abren?"
|
|
|
|
### RF-007.4: MCP Server - Herramientas
|
|
```
|
|
TOOLS DISPONIBLES:
|
|
|
|
# Ventas
|
|
- registrar_venta(productos, metodo_pago, cliente?)
|
|
- obtener_ventas(periodo, filtros?)
|
|
- generar_corte_caja()
|
|
- calcular_ganancias(periodo)
|
|
|
|
# Productos
|
|
- buscar_producto(query)
|
|
- crear_producto(datos)
|
|
- actualizar_producto(id, datos)
|
|
- obtener_precio(producto)
|
|
|
|
# Inventario
|
|
- consultar_stock(producto?)
|
|
- registrar_entrada(productos)
|
|
- obtener_alertas_stock()
|
|
- predecir_resurtido(producto?)
|
|
|
|
# Clientes
|
|
- buscar_cliente(telefono)
|
|
- crear_cliente(datos)
|
|
- historial_cliente(cliente_id)
|
|
- enviar_mensaje_cliente(cliente_id, mensaje)
|
|
|
|
# Fiados
|
|
- registrar_fiado(cliente_id, monto, descripcion)
|
|
- obtener_fiados(cliente_id?)
|
|
- marcar_fiado_pagado(fiado_id, monto?)
|
|
|
|
# Pedidos
|
|
- crear_pedido(cliente_id, productos)
|
|
- obtener_pedidos(estado?)
|
|
- actualizar_pedido(pedido_id, estado)
|
|
- enviar_link_pago(pedido_id)
|
|
|
|
# Reportes
|
|
- generar_reporte(tipo, periodo, formato)
|
|
- enviar_reporte_whatsapp(reporte, destino)
|
|
- exportar_excel(datos)
|
|
|
|
# Configuración
|
|
- obtener_configuracion(clave?)
|
|
- actualizar_configuracion(clave, valor)
|
|
- obtener_horarios()
|
|
- actualizar_horarios(horarios)
|
|
```
|
|
|
|
## RF-008: WhatsApp Business
|
|
|
|
### RF-008.1: Configuración de Número
|
|
- **Opción A**: WhatsApp Business propio del negocio
|
|
- Conexión vía Meta Business API
|
|
- Verificación del número
|
|
|
|
- **Opción B**: Número compartido de la plataforma
|
|
- Un número para múltiples negocios
|
|
- Detección de negocio por contexto
|
|
- "Hola, busco [Nombre Negocio]"
|
|
|
|
### RF-008.2: Detección de Rol
|
|
- Identificar si es dueño o cliente
|
|
- Dueño: Acceso completo a gestión
|
|
- Cliente: Solo consultas y pedidos
|
|
|
|
### RF-008.3: Mensajes Automatizados
|
|
- Bienvenida
|
|
- Fuera de horario
|
|
- Confirmación de pedido
|
|
- Recordatorio de fiado
|
|
- Alertas de inventario
|
|
|
|
### RF-008.4: Multimedia
|
|
- Recibir y procesar fotos (OCR)
|
|
- Recibir y transcribir audios
|
|
- Enviar tickets/reportes como imagen
|
|
- Enviar documentos PDF
|
|
|
|
## RF-009: Pagos y Suscripciones
|
|
|
|
### RF-009.1: Suscripción del Negocio
|
|
- Plan Changarrito ($99/mes)
|
|
- Plan Tiendita ($199/mes)
|
|
- Cambio de plan
|
|
- Cancelación
|
|
|
|
### RF-009.2: Métodos de Pago de Suscripción
|
|
- Tarjeta (Stripe) - Recurrente
|
|
- OXXO (Stripe) - Referencia única
|
|
- Play Store In-App Purchase
|
|
- App Store In-App Purchase
|
|
|
|
### RF-009.3: Paquetes de Tokens IA
|
|
- Compra de paquetes
|
|
- Visualización de saldo
|
|
- Historial de consumo
|
|
- Alertas de saldo bajo
|
|
|
|
### RF-009.4: Facturación (Opcional)
|
|
- Solicitar factura
|
|
- Datos fiscales del negocio
|
|
- Descarga de facturas
|
|
|
|
## RF-010: Reportes y Analytics
|
|
|
|
### RF-010.1: Dashboard Web
|
|
- Ventas del día/semana/mes
|
|
- Gráficas de tendencia
|
|
- Productos más vendidos
|
|
- Comparativas de periodos
|
|
|
|
### RF-010.2: Reportes Generables
|
|
- Ventas por periodo
|
|
- Inventario actual
|
|
- Productos por agotarse
|
|
- Fiados pendientes
|
|
- Ganancias y márgenes
|
|
- Cortes de caja históricos
|
|
|
|
### RF-010.3: Formatos de Exportación
|
|
- PDF
|
|
- Excel
|
|
- Imagen (para WhatsApp)
|
|
|
|
## RF-011: Notificaciones
|
|
|
|
### RF-011.1: Push Notifications
|
|
- Nuevo pedido de cliente
|
|
- Fiado por vencer
|
|
- Stock bajo
|
|
- Pago recibido
|
|
|
|
### RF-011.2: WhatsApp
|
|
- Resumen diario de ventas
|
|
- Alertas de inventario
|
|
- Recordatorios configurables
|
|
|
|
### RF-011.3: Configuración
|
|
- Activar/desactivar por tipo
|
|
- Horarios de no molestar
|
|
- Frecuencia
|
|
|
|
## RF-012: Modo Offline
|
|
|
|
### RF-012.1: Funcionalidad Sin Internet
|
|
- Registrar ventas
|
|
- Consultar productos y precios
|
|
- Agregar productos al carrito
|
|
- Ver historial local
|
|
|
|
### RF-012.2: Sincronización
|
|
- Automática al recuperar conexión
|
|
- Manual forzada
|
|
- Resolución de conflictos
|
|
- Indicador de datos pendientes
|
|
|
|
## RF-013: Integraciones de Terminal
|
|
|
|
### RF-013.1: Mercado Pago
|
|
- Pareado Bluetooth con terminal
|
|
- Envío de monto a cobrar
|
|
- Recepción de confirmación
|
|
- Manejo de errores/rechazos
|
|
|
|
### RF-013.2: Clip
|
|
- Pareado Bluetooth con terminal
|
|
- Envío de monto a cobrar
|
|
- Recepción de confirmación
|
|
- Manejo de errores/rechazos
|
|
|
|
### RF-013.3: CoDi
|
|
- Generación de QR
|
|
- Polling de confirmación
|
|
- Timeout y reintentos
|
|
|
|
## RF-014: Onboarding
|
|
|
|
### RF-014.1: Registro de Negocio
|
|
- Nombre del negocio
|
|
- Giro (abarrotes, comida, etc.)
|
|
- Ubicación (colonia, ciudad)
|
|
- Teléfono del dueño
|
|
|
|
### RF-014.2: Configuración Inicial Guiada
|
|
- Vía WhatsApp con LLM
|
|
- Paso a paso en app
|
|
- Cargar productos iniciales
|
|
- Seleccionar templates
|
|
|
|
### RF-014.3: Tutorial
|
|
- Primeros pasos interactivo
|
|
- Videos cortos
|
|
- Tips por WhatsApp los primeros días
|
|
|
|
## RF-015: Seguridad y Acceso
|
|
|
|
### RF-015.1: Autenticación
|
|
- Login con teléfono + OTP (SMS/WhatsApp)
|
|
- PIN de acceso rápido
|
|
- Biométrico (huella/face)
|
|
|
|
### RF-015.2: Roles (Futuro)
|
|
- Dueño: Acceso total
|
|
- Empleado: Solo ventas
|
|
- Contador: Solo reportes
|
|
|
|
### RF-015.3: Datos
|
|
- Encriptación en tránsito (HTTPS)
|
|
- Encriptación en reposo
|
|
- Backups automáticos
|
|
|
|
## RF-016: Programa de Referidos
|
|
|
|
### RF-016.1: Mecánica
|
|
- Código/link único por negocio
|
|
- Beneficio por referido: 1 mes gratis (ambos)
|
|
- Tracking de referidos
|
|
|
|
### RF-016.2: Comunicación
|
|
- Compartir por WhatsApp
|
|
- Ver referidos activos
|
|
- Historial de beneficios
|
|
|
|
## RF-017: Soporte
|
|
|
|
### RF-017.1: Autoservicio
|
|
- FAQ en app
|
|
- Videos tutoriales
|
|
- Asistente IA para dudas
|
|
|
|
### RF-017.2: Humano (Escalación)
|
|
- Chat con soporte (cuando IA no resuelve)
|
|
- Teléfono de emergencia
|
|
- Horario de atención
|
|
|
|
---
|
|
|
|
**Versión**: 1.0.0
|
|
**Última actualización**: 2026-01-04
|