# ANALISIS DETALLADO: Documentacion vs Desarrollo **Proyecto:** MiChangarrito **Fecha:** 2026-01-10 **Fase:** FASE 1 - Analisis Detallado **Estado:** EN PROGRESO **Version:** 1.0.0 --- ## RESUMEN EJECUTIVO ### Metricas de Cobertura | Area | Documentado | Real | Cobertura | Faltantes | |------|-------------|------|-----------|-----------| | Schemas BD | 9 | 11 | 82% | 2 | | Tablas BD | 27 | 47 | 57% | 20 | | Funciones BD | 5 | 15 | 33% | 10 | | Modulos Backend | 9 | 17 | 53% | 8 | | Endpoints Backend | ~50 | ~120 | 42% | ~70 | | Paginas Frontend | 7 | 11 | 64% | 4 | | Integraciones | 9 | 11 | 82% | 2 | ### Severidad de Discrepancias | Severidad | Cantidad | Descripcion | |-----------|----------|-------------| | CRITICA | 4 | Schemas y modulos completos sin documentar | | ALTA | 12 | Tablas y endpoints criticos faltantes | | MEDIA | 8 | Funciones y paginas adicionales | | BAJA | 5 | Detalles menores | --- ## 1. ANALISIS DE BASE DE DATOS ### 1.1 Schemas Documentados vs Reales | Schema | En Doc | En Codigo | Estado | Archivo SQL | |--------|--------|-----------|--------|-------------| | public | SI | SI | OK | 03-public.sql | | auth | SI | SI | OK | 04-auth.sql | | catalog | SI | SI | OK | 05-catalog.sql | | sales | SI | SI | INCOMPLETO | 06-sales.sql + 14-codi-spei.sql | | inventory | SI | SI | OK | 07-inventory.sql | | customers | SI | SI | OK | 08-customers.sql | | orders | SI | SI | OK | 09-orders.sql | | subscriptions | SI | SI | INCOMPLETO | 10-subscriptions.sql + 13-referrals.sql | | messaging | SI | SI | OK | 11-messaging.sql | | **billing** | **NO** | SI | **FALTANTE** | 15-invoices.sql | | **marketplace** | **NO** | SI | **FALTANTE** | 16-marketplace.sql | ### 1.2 Tablas Faltantes por Schema #### Schema: public (4 en codigo, 2 documentadas) | Tabla | Documentada | Estado | |-------|-------------|--------| | tenants | SI | OK | | tenant_configs | SI | OK | | **tenant_integration_credentials** | **NO** | FALTANTE | | **tenant_whatsapp_numbers** | **NO** | FALTANTE | #### Schema: sales (8 en codigo, 4 documentadas) | Tabla | Documentada | Estado | |-------|-------------|--------| | sales | SI | OK | | sale_items | SI | OK | | payments | SI | OK | | daily_closures | SI | OK | | **virtual_accounts** | **NO** | FALTANTE (CoDi/SPEI) | | **codi_transactions** | **NO** | FALTANTE | | **spei_transactions** | **NO** | FALTANTE | | **payment_config** | **NO** | FALTANTE | #### Schema: subscriptions (8 en codigo, 5 documentadas) | Tabla | Documentada | Estado | |-------|-------------|--------| | plans | SI | OK | | subscriptions | SI | OK | | token_packages | SI | OK | | token_usage | SI | OK | | tenant_token_balance | SI | OK | | **referral_codes** | **NO** | FALTANTE | | **referrals** | **NO** | FALTANTE | | **referral_rewards** | **NO** | FALTANTE | #### Schema: billing (5 tablas, NINGUNA documentada) | Tabla | Documentada | Estado | |-------|-------------|--------| | **tax_configs** | **NO** | FALTANTE | | **invoices** | **NO** | FALTANTE | | **invoice_items** | **NO** | FALTANTE | | **invoice_item_taxes** | **NO** | FALTANTE | | **invoice_history** | **NO** | FALTANTE | #### Schema: marketplace (6 tablas, NINGUNA documentada) | Tabla | Documentada | Estado | |-------|-------------|--------| | **suppliers** | **NO** | FALTANTE | | **supplier_products** | **NO** | FALTANTE | | **supplier_orders** | **NO** | FALTANTE | | **supplier_order_items** | **NO** | FALTANTE | | **supplier_reviews** | **NO** | FALTANTE | | **supplier_favorites** | **NO** | FALTANTE | ### 1.3 Funciones Faltantes | Funcion | Schema | Documentada | Ubicacion | |---------|--------|-------------|-----------| | update_updated_at() | public | SI | 02-functions.sql | | generate_ticket_number() | sales | SI | 02-functions.sql | | generate_order_number() | orders | SI (inferido) | 02-functions.sql | | update_customer_fiado_balance() | customers | SI | 02-functions.sql | | update_stock_on_sale() | inventory | SI | 02-functions.sql | | **generate_referral_code()** | subscriptions | **NO** | 13-referrals.sql | | **get_referral_stats()** | subscriptions | **NO** | 13-referrals.sql | | **generate_codi_reference()** | sales | **NO** | 14-codi-spei.sql | | **get_codi_spei_summary()** | sales | **NO** | 14-codi-spei.sql | | **get_next_invoice_folio()** | billing | **NO** | 15-invoices.sql | | **get_invoice_summary()** | billing | **NO** | 15-invoices.sql | | **update_supplier_rating()** | marketplace | **NO** | 16-marketplace.sql | | **update_supplier_orders_count()** | marketplace | **NO** | 16-marketplace.sql | | **find_suppliers_by_zone()** | marketplace | **NO** | 16-marketplace.sql | | **get_marketplace_stats()** | marketplace | **NO** | 16-marketplace.sql | ### 1.4 Triggers Faltantes - 20+ triggers de updated_at (parcialmente documentados) - **trg_update_supplier_rating** - NO documentado - **trg_update_supplier_orders_count** - NO documentado --- ## 2. ANALISIS DE BACKEND ### 2.1 Modulos Documentados vs Reales | Modulo | En Doc | En Codigo | Endpoints Doc | Endpoints Real | Estado | |--------|--------|-----------|---------------|----------------|--------| | AuthModule | SI | SI | /auth/* | 4 | OK | | UsersModule | SI | SI (merged) | /users/* | 0 (en Auth) | OBSOLETO | | ProductsModule | SI | SI | /products/* | 10 | OK | | SalesModule | SI | SI | /sales/* | 7 | OK | | CustomersModule | SI | SI | /customers/* | 13 | OK | | InventoryModule | SI | SI | /inventory/* | 9 | OK | | OrdersModule | SI | SI | /orders/* | 12 | OK | | SubscriptionsModule | SI | SI | /subscriptions/* | 7 | OK | | MessagingModule | SI | SI | /messaging/* | 5 | OK | | **CategoriesModule** | **NO** | SI | - | 6 | FALTANTE | | **PaymentsModule** | **NO** | SI | - | 5 | FALTANTE | | **BillingModule** | **NO** | SI | - | 8 | FALTANTE | | **IntegrationsModule** | **NO** | SI | - | ~10 | FALTANTE | | **ReferralsModule** | **NO** | SI | - | 9 | FALTANTE | | **CodiSpeiModule** | **NO** | SI | - | 9 | FALTANTE | | **WidgetsModule** | **NO** | SI | - | 4 | FALTANTE | | **MarketplaceModule** | **NO** | SI | - | 13 | FALTANTE | | **InvoicesModule** | **NO** | SI | - | 9 | FALTANTE | ### 2.2 Endpoints No Documentados (Por Modulo) #### CategoriesModule (6 endpoints) ``` GET /v1/categories - Listar categorias GET /v1/categories/:id - Obtener categoria POST /v1/categories - Crear categoria PUT /v1/categories/:id - Actualizar categoria PATCH /v1/categories/:id/toggle-active - Activar/desactivar DELETE /v1/categories/:id - Eliminar categoria ``` #### PaymentsModule (5 endpoints) ``` GET /v1/payment-methods - Listar metodos de pago GET /v1/payment-methods/default - Metodo por defecto GET /v1/payment-methods/:id - Obtener metodo POST /v1/payment-methods/initialize - Inicializar metodos PATCH /v1/payment-methods/:id/toggle-active - Activar/desactivar ``` #### BillingModule (8 endpoints) ``` GET /billing/plans - Listar planes GET /billing/token-packages - Paquetes de tokens GET /billing/summary - Resumen de facturacion GET /billing/token-balance - Balance de tokens GET /billing/token-usage - Historial de uso POST /billing/checkout/subscription - Crear checkout Stripe POST /billing/checkout/tokens - Checkout para tokens POST /billing/portal - Portal de clientes Stripe ``` #### ReferralsModule (9 endpoints) ``` GET /v1/referrals/my-code - Mi codigo de referido GET /v1/referrals/validate/:code - Validar codigo GET /v1/referrals/list - Listar mis referidos GET /v1/referrals/stats - Estadisticas GET /v1/referrals/rewards - Mis recompensas GET /v1/referrals/rewards/available-months - Meses gratis GET /v1/referrals/discount - Descuento como referido POST /v1/referrals/generate-code - Generar codigo POST /v1/referrals/apply-code - Aplicar codigo ``` #### CodiSpeiModule (9 endpoints) ``` POST /v1/codi/generate-qr - Generar QR CoDi POST /v1/codi/webhook - Webhook CoDi GET /v1/codi/status/:id - Estado transaccion GET /v1/codi/transactions - Listar transacciones GET /v1/spei/clabe - Obtener CLABE GET /v1/spei/transactions - Listar SPEI POST /v1/spei/create-clabe - Crear CLABE POST /v1/spei/webhook - Webhook SPEI GET /v1/payments/summary - Resumen de pagos ``` #### WidgetsModule (4 endpoints) ``` GET /v1/widget/summary - Resumen para widget GET /v1/widget/alerts - Alertas GET /v1/widget/quick-actions - Acciones rapidas GET /v1/widget/full - Datos completos ``` #### MarketplaceModule (13 endpoints) ``` GET /marketplace/suppliers - Listar proveedores GET /marketplace/suppliers/:id - Detalle proveedor GET /marketplace/suppliers/:id/products - Productos GET /marketplace/suppliers/:id/reviews - Resenas GET /marketplace/orders - Mis pedidos GET /marketplace/orders/:id - Detalle pedido GET /marketplace/favorites - Favoritos GET /marketplace/stats - Estadisticas POST /marketplace/orders - Crear pedido POST /marketplace/reviews - Crear resena POST /marketplace/favorites/:supplierId - Agregar favorito DELETE /marketplace/favorites/:supplierId - Quitar favorito PUT /marketplace/orders/:id/cancel - Cancelar pedido ``` #### InvoicesModule (9 endpoints) ``` GET /invoices - Listar facturas GET /invoices/summary - Resumen mensual GET /invoices/tax-config - Config fiscal GET /invoices/:id - Obtener factura POST /invoices - Crear factura POST /invoices/tax-config - Guardar config fiscal POST /invoices/:id/stamp - Timbrar (SAT) POST /invoices/:id/cancel - Cancelar factura POST /invoices/:id/send - Enviar por email ``` --- ## 3. ANALISIS DE FRONTEND ### 3.1 Paginas Documentadas vs Reales | Pagina | Ruta Doc | Ruta Real | En Doc | En Codigo | Estado | |--------|----------|-----------|--------|-----------|--------| | Dashboard | /dashboard | /dashboard | SI | SI | OK | | Products | /products | /products | SI | SI | OK | | Orders | /orders | /orders | SI | SI | OK | | Customers | /customers | /customers | SI | SI | OK | | Fiado | /fiado | /fiado | SI | SI | OK | | Inventory | /inventory | /inventory | SI | SI | OK | | Settings | /settings | /settings | SI | SI | OK | | **Login** | - | /login | **NO** | SI | FALTANTE | | **Register** | - | /register | **NO** | SI | FALTANTE | | **Invoices** | - | /invoices | **NO** | SI | FALTANTE | | **Marketplace** | - | /marketplace | **NO** | SI | FALTANTE | | **Referrals** | - | /referrals | **NO** | SI | FALTANTE | ### 3.2 Componentes Adicionales No Documentados | Componente | Ubicacion | Proposito | |------------|-----------|-----------| | Layout.tsx | components/ | Navegacion y estructura | | ClabeDisplay.tsx | components/payments/ | Muestra CLABE/SPEI | | CodiQR.tsx | components/payments/ | QR CoDi | | TaxConfigModal | pages/Invoices.tsx | Config fiscal | | NewInvoiceModal | pages/Invoices.tsx | Crear factura | | SupplierCard | pages/Marketplace.tsx | Card proveedor | | CartModal | pages/Marketplace.tsx | Carrito | ### 3.3 Servicios API No Documentados | Grupo API | Metodos | Documentado | |-----------|---------|-------------| | authApi | 4 | NO | | productsApi | 6 | NO | | ordersApi | 4 | NO | | customersApi | 5 | NO | | inventoryApi | 4 | NO | | dashboardApi | 3 | NO | | **referralsApi** | 10 | **NO** | | **codiSpeiApi** | 8 | **NO** | | **invoicesApi** | 10 | **NO** | | **marketplaceApi** | 15 | **NO** | --- ## 4. ANALISIS DE INTEGRACIONES ### 4.1 Integraciones Documentadas vs Reales | Integracion | En Doc | En Codigo | Estado | |-------------|--------|-----------|--------| | Stripe | SI | SI | OK | | WhatsApp Business API | SI | SI | OK | | OpenRouter/LLM | SI | SI | INCOMPLETO | | Mercado Pago Point | SI | SI | OK | | Firebase FCM | SI | SI | OK | | Clip | SI | SI | OK | | CoDi (Banxico) | SI | SI | INCOMPLETO | | Google Vision (OCR) | SI | SI | OK | | OpenAI Whisper | SI | SI | OK | | **SPEI** | **NO** | SI | FALTANTE | | **SAT/CFDI** | **NO** | SI | FALTANTE | ### 4.2 Detalles Faltantes en Integraciones #### LLM (Incompleto) - Falta documentar: Azure OpenAI como proveedor - Falta documentar: Ollama para desarrollo local - Falta documentar: Multi-tenant credentials #### CoDi/SPEI (Incompleto) - SPEI no documentado como integracion separada - Falta documentar: virtual_accounts - Falta documentar: webhooks SPEI #### SAT/CFDI (Nuevo - No Documentado) - Timbrado de facturas - Cancelacion ante SAT - Configuracion PAC (FacturaAPI, STP, Arcus) - Almacenamiento de CSD --- ## 5. ANALISIS DE EPICAS ### 5.1 Epicas vs Implementacion | Epica | Estado Doc | Implementado | Match | |-------|------------|--------------|-------| | MCH-001 Infraestructura | Completado | SI | OK | | MCH-002 Autenticacion | Completado | SI | OK | | MCH-003 Catalogo | Completado | SI | OK | | MCH-004 Punto Venta | Completado | SI | OK | | MCH-005 Integraciones Pago | Completado | SI | OK | | MCH-006 Gestion Ventas | Completado | SI | OK | | MCH-007 Inventario | Completado | SI | OK | | MCH-008 Clientes | Completado | SI | OK | | MCH-009 Fiados | Completado | SI | OK | | MCH-010 Pedidos | Completado | SI | OK | | MCH-011 WhatsApp Base | Completado | SI | OK | | MCH-012 Chat LLM Dueno | Completado | SI | OK | | MCH-013 Chat LLM Cliente | Completado | SI | OK | | MCH-014 Suscripciones | Completado | SI | OK | | MCH-015 Tokens IA | Completado | SI | OK | | MCH-016 Metricas | Completado | SI | OK | | MCH-017 Notificaciones | Completado | SI | OK | | MCH-018 Dashboard | Completado | SI | OK | | MCH-019 Multi-tenant | Completado | SI | OK | | MCH-020 Despliegue | Completado | SI | OK | | MCH-021 Reportes Avanzados | Completado | SI | OK | | MCH-022 Onboarding | Pendiente | PARCIAL | Verificar | | **MCH-023 Referidos** | Pendiente | **SI** | **ACTUALIZAR** | | **MCH-024 CoDi/SPEI** | Pendiente | **SI** | **ACTUALIZAR** | | **MCH-025 Facturacion** | Pendiente | **SI** | **ACTUALIZAR** | | **MCH-026 Multi-idioma** | Pendiente | PARCIAL | Verificar | | **MCH-027 SAT** | Pendiente | **SI** | **ACTUALIZAR** | | **MCH-028 Marketplace** | Pendiente | **SI** | **ACTUALIZAR** | ### 5.2 Epicas Implementadas pero No Actualizadas | Epica | Modulo Backend | Pagina Frontend | Schema BD | |-------|----------------|-----------------|-----------| | MCH-023 | ReferralsModule | Referrals.tsx | referrals, referral_codes | | MCH-024 | CodiSpeiModule | (componentes) | codi_transactions, spei_transactions | | MCH-025 | InvoicesModule | Invoices.tsx | billing.* | | MCH-027 | InvoicesModule | Invoices.tsx | billing.* | | MCH-028 | MarketplaceModule | Marketplace.tsx | marketplace.* | --- ## 6. MATRIZ DE DISCREPANCIAS CONSOLIDADA ### 6.1 Por Severidad CRITICA | ID | Area | Descripcion | Accion | |----|------|-------------|--------| | DC-001 | Database | Schema billing completo no documentado | Documentar 5 tablas | | DC-002 | Database | Schema marketplace completo no documentado | Documentar 6 tablas | | DC-003 | Backend | 8 modulos no documentados | Documentar modulos y endpoints | | DC-004 | Epicas | 5 epicas implementadas marcadas pendientes | Actualizar estados | ### 6.2 Por Severidad ALTA | ID | Area | Descripcion | Accion | |----|------|-------------|--------| | DA-001 | Database | 4 tablas CoDi/SPEI no documentadas | Agregar a sales schema | | DA-002 | Database | 3 tablas referrals no documentadas | Agregar a subscriptions schema | | DA-003 | Database | 2 tablas public adicionales | Documentar credentials | | DA-004 | Backend | ~70 endpoints no documentados | Agregar a componentes | | DA-005 | Frontend | 4 paginas no documentadas | Agregar a componentes | | DA-006 | Integraciones | SPEI no documentado | Agregar seccion | | DA-007 | Integraciones | SAT/CFDI no documentado | Agregar seccion | ### 6.3 Por Severidad MEDIA | ID | Area | Descripcion | Accion | |----|------|-------------|--------| | DM-001 | Database | 10 funciones no documentadas | Agregar seccion funciones | | DM-002 | Database | Triggers adicionales | Documentar triggers | | DM-003 | Frontend | Componentes payments | Documentar componentes | | DM-004 | Frontend | Servicios API | Documentar servicios | ### 6.4 Por Severidad BAJA | ID | Area | Descripcion | Accion | |----|------|-------------|--------| | DB-001 | Backend | UsersModule obsoleto (merged en Auth) | Remover de doc | | DB-002 | Componentes | React version (18 vs 19.2.0) | Actualizar version | | DB-003 | Componentes | Vite version (7.x vs 7.2.4) | Actualizar version | | DB-004 | Componentes | React Router version (6 vs 7) | Actualizar version | | DB-005 | Componentes | Puerto Mobile (8081 vs variable) | Verificar | --- ## 7. DEPENDENCIAS IDENTIFICADAS ### 7.1 Documentos que Requieren Actualizacion | Documento | Cambios Requeridos | Dependencias | |-----------|-------------------|--------------| | ARQUITECTURA-DATABASE.md | +2 schemas, +20 tablas, +10 funciones | Todos los inventarios | | ESPECIFICACION-COMPONENTES.md | +8 modulos, +70 endpoints, +4 paginas | Epicas relacionadas | | INTEGRACIONES-EXTERNAS.md | +SPEI, +SAT/CFDI | ARQUITECTURA-DATABASE | | CONTEXT-MAP.yml | Actualizar estados epicas 23-28 | Ninguna | ### 7.2 Archivos SQL de Referencia | Archivo | Tablas | Funciones | Triggers | |---------|--------|-----------|----------| | 12-integrations.sql | 2 | 0 | 2 | | 13-referrals.sql | 3 | 2 | 3 | | 14-codi-spei.sql | 4 | 2 | 4 | | 15-invoices.sql | 5 | 2 | 3 | | 16-marketplace.sql | 6 | 4 | 2 | ### 7.3 Modulos Backend de Referencia | Modulo | Controller | Service | DTOs | |--------|------------|---------|------| | categories | 1 | 1 | 2 | | payments | 1 | 1 | 1 | | billing | 1 | 2 | 3 | | integrations | 2 | 1 | 2 | | referrals | 1 | 1 | 2 | | codi-spei | 1 | 1 | 2 | | widgets | 1 | 1 | 0 | | marketplace | 1 | 1 | 4 | | invoices | 1 | 1 | 3 | --- ## 8. PROXIMOS PASOS ### FASE 2: Planeacion - Crear plan de correccion por documento - Definir orden de actualizacion - Establecer prioridades ### FASE 3: Validacion - Validar plan contra analisis - Analizar dependencias de cambios - Verificar que no se pierda informacion --- **Ultima actualizacion:** 2026-01-10 **Version:** 1.0.0