# 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