michangarrito/orchestration/analisis/ANALISIS-DETALLADO-DOC-VS-DEV-2026-01-10.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

489 lines
18 KiB
Markdown

# 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