# Master Inventory - ERP Core # Ultima actualizacion: 2026-01-07 # SSOT: Single Source of Truth para metricas del proyecto # NOTA: Los Story Points en este archivo son los valores CANONICOS # Cualquier discrepancia con otros documentos debe corregirse aqui proyecto: nombre: ERP Core tipo: Modulo Base / Foundation version: 1.0.0 progreso: 100% # 219 SP completados (184 SP Sprints 1-6 + 35 SP Sprint 7) fase_actual: fase_02_core_business proxima_accion: Sprint 8 - Reports Module # ============================================================================= # IMPLEMENTACION SPRINTS 1-3 (2026-01-06) # ============================================================================= implementacion_sprints: fecha_inicio: "2026-01-06" metodologia: CAPVED orquestador: Claude Code Opus 4.5 resumen: story_points_completados: 219 story_points_totales: 219 progreso: 100% sprints_completados: 7 sprints_pendientes: 0 sprint_1: nombre: "Database Validation + Tests Setup + Catalogs" story_points: 36 status: COMPLETADO tareas: - {id: DB-001, nombre: "HR Schema", sp: 0, status: "ya existia"} - {id: DB-002, nombre: "RLS Validation Tests", sp: 5, status: completado} - {id: DB-003, nombre: "track_field_changes()", sp: 0, status: "ya existia"} - {id: DB-004, nombre: "Seed Data Catalogs", sp: 0, status: "ya existia"} - {id: BE-001, nombre: "Jest + Supertest Setup", sp: 5, status: completado, tests: 13} - {id: BE-002, nombre: "Auth Tests", sp: 8, status: completado, tests: 59} - {id: FE-001, nombre: "Catalogs Structure", sp: 5, status: completado} - {id: FE-002, nombre: "Countries Pages", sp: 5, status: completado, pages: 6} sprint_2: nombre: "Tests Foundation + Catalogs Frontend" story_points: 37 status: COMPLETADO tareas: - {id: BE-003, nombre: "Tests Users Module", sp: 5, status: completado, tests: 74} - {id: BE-004, nombre: "Tests Roles Module", sp: 5, status: completado, tests: 48} - {id: BE-005, nombre: "Tests Tenants Module", sp: 5, status: completado, tests: 77} - {id: BE-006, nombre: "Permission Cache Service", sp: 4, status: completado, tests: 37} - {id: FE-003, nombre: "Currencies Pages", sp: 5, status: completado, pages: 4} - {id: FE-004, nombre: "Units of Measure Pages", sp: 5, status: completado, pages: 5} - {id: FE-005, nombre: "Product Categories Pages", sp: 8, status: completado, pages: 5} - {id: FE-006, nombre: "Routes Catalogs", sp: 0, status: completado, routes: 20} sprint_3: nombre: "OAuth + Settings Frontend" story_points: 36 status: COMPLETADO tareas: - {id: BE-007, nombre: "Tests Financial Module", sp: 8, status: completado, tests: 93} - {id: BE-008, nombre: "Tests Inventory Module", sp: 6, status: completado, tests: 69} - {id: BE-009, nombre: "OAuth2 Google/Microsoft", sp: 8, status: completado, tests: 32} - {id: FE-007, nombre: "Stores Catalogs Zustand", sp: 3, status: completado, stores: 4} - {id: FE-008, nombre: "Feature Settings Structure", sp: 3, status: completado} - {id: FE-009, nombre: "System Settings Page", sp: 5, status: completado} - {id: FE-010, nombre: "Tenant Settings Page", sp: 3, status: completado} sprint_4: nombre: "2FA + Settings Completion" story_points: 33 status: COMPLETADO fecha_completado: "2026-01-07" tareas: - {id: BE-010, nombre: "2FA/MFA Implementation", sp: 8, status: completado} - {id: BE-011, nombre: "Email Verification Flow", sp: 4, status: completado} - {id: FE-011, nombre: "User Preferences Page", sp: 5, status: completado} - {id: FE-012, nombre: "Feature Flags Management", sp: 5, status: completado} - {id: FE-013, nombre: "Settings Stores Zustand", sp: 3, status: completado} - {id: FE-014, nombre: "Theme Selector Component", sp: 3, status: completado} - {id: FE-015, nombre: "Tests Frontend Vitest", sp: 3, status: completado} - {id: FE-016, nombre: "Tenant Settings completar", sp: 2, status: completado} archivos_creados: backend: - src/modules/auth/mfa.service.ts - src/modules/auth/mfa.controller.ts - src/modules/auth/mfa.routes.ts - src/modules/auth/entities/user-mfa.entity.ts - src/modules/auth/services/email-verification.service.ts - src/modules/auth/email-verification.controller.ts - src/modules/auth/email-verification.routes.ts - src/modules/auth/entities/email-verification-token.entity.ts - src/shared/services/email.service.ts frontend: - src/pages/settings/UserPreferencesPage.tsx - src/pages/settings/FeatureFlagsPage.tsx - src/pages/settings/components/NotificationSettingsForm.tsx - src/pages/settings/components/DashboardSettingsForm.tsx - src/test/mocks/handlers.ts - src/test/mocks/server.ts - src/shared/components/atoms/Button/__tests__/Button.test.tsx - src/features/settings/__tests__/userPreferences.store.test.ts database: - database/ddl/01-auth-mfa-email-verification.sql sprint_5: nombre: "Estabilizacion + DDL Migrations" story_points: 12 status: COMPLETADO fecha_inicio: "2026-01-07" fecha_completado: "2026-01-07" tareas: - {id: FIX-001, nombre: "Corregir TypeScript UserPreferencesPage", sp: 1, status: completado} - {id: FIX-002, nombre: "Corregir TypeScript FeatureFlagsPage", sp: 2, status: completado} - {id: FIX-003, nombre: "Corregir DashboardSettingsForm Select", sp: 1, status: completado} - {id: FIX-004, nombre: "Corregir useTheme null safety", sp: 1, status: completado} - {id: FIX-005, nombre: "Corregir tsconfig.json backend tests", sp: 1, status: completado} - {id: FIX-006, nombre: "Corregir oauth.service.ts TypeORM types", sp: 1, status: completado} - {id: DDL-001, nombre: "Crear DDL MFA + Email Verification", sp: 3, status: completado} - {id: DOC-001, nombre: "Actualizar MASTER_INVENTORY", sp: 2, status: completado} sprint_6: nombre: "Fase 2 - Catalogs & Settings Foundation" story_points: 30 status: COMPLETADO fecha_inicio: "2026-01-07" fecha_completado: "2026-01-07" tareas: - {id: BE-012, nombre: "Countries/States API + Entity", sp: 5, status: completado} - {id: BE-013, nombre: "Currency Exchange Rates Service", sp: 5, status: completado} - {id: BE-014, nombre: "UoM Conversions Enhancement", sp: 4, status: completado} - {id: BE-015, nombre: "Partners CRUD (verificado completo)", sp: 0, status: ya_existia} - {id: BE-016, nombre: "Settings Service 3-Level", sp: 6, status: completado} - {id: DDL-002, nombre: "DDL currency_rates + settings", sp: 2, status: completado} - {id: TEST-001, nombre: "Tests Core Services", sp: 5, status: completado, tests: 145} - {id: FE-017, nombre: "Catalogs Frontend APIs (ya conectado)", sp: 0, status: ya_existia} - {id: DOC-002, nombre: "Actualizar MASTER_INVENTORY", sp: 3, status: completado} archivos_creados: backend: - src/modules/core/entities/state.entity.ts - src/modules/core/states.service.ts - src/modules/core/entities/currency-rate.entity.ts - src/modules/core/currency-rates.service.ts - src/modules/system/entities/system-setting.entity.ts - src/modules/system/entities/tenant-setting.entity.ts - src/modules/system/entities/user-preference.entity.ts - src/modules/system/settings.service.ts - src/modules/system/settings.controller.ts - src/modules/system/settings.routes.ts tests: - src/modules/core/__tests__/countries.service.spec.ts - src/modules/core/__tests__/states.service.spec.ts - src/modules/core/__tests__/currencies.service.spec.ts - src/modules/core/__tests__/currency-rates.service.spec.ts - src/modules/core/__tests__/uom.service.spec.ts - src/modules/system/__tests__/settings.service.spec.ts database: - database/ddl/02-core-extensions.sql - database/ddl/09-system-extensions.sql sprint_7: nombre: "Fase 2 - Audit & Notifications" story_points: 35 status: COMPLETADO fecha_inicio: "2026-01-07" fecha_completado: "2026-01-07" tareas: - {id: BE-017, nombre: "Audit Trail System (TypeORM Subscriber)", sp: 8, status: completado} - {id: BE-018, nombre: "Access Logs Service", sp: 6, status: completado} - {id: BE-019, nombre: "Security Events Service", sp: 6, status: completado} - {id: BE-020, nombre: "WebSocket Gateway Real-time Notifications", sp: 5, status: completado} - {id: DDL-003, nombre: "DDL audit tables", sp: 2, status: completado} - {id: FE-018, nombre: "Notification Center UI", sp: 4, status: completado} - {id: FE-019, nombre: "Audit Logs Pages (3)", sp: 4, status: completado} archivos_creados: backend: - src/modules/audit/entities/audit-log.entity.ts - src/modules/audit/entities/access-log.entity.ts - src/modules/audit/entities/security-event.entity.ts - src/modules/audit/audit.service.ts - src/modules/audit/audit.controller.ts - src/modules/audit/audit.subscriber.ts - src/modules/audit/audit-context.ts - src/modules/audit/access-logs.service.ts - src/modules/audit/access-logs.controller.ts - src/modules/audit/security-events.service.ts - src/modules/audit/security-events.controller.ts - src/modules/audit/utils/brute-force-detector.ts - src/modules/audit/utils/anomaly-detector.ts - src/modules/notifications/websocket/notification.gateway.ts - src/shared/middleware/access-logger.middleware.ts frontend: - src/features/notifications/components/NotificationBell.tsx - src/features/notifications/components/NotificationDropdown.tsx - src/features/notifications/stores/notifications.store.ts - src/features/notifications/hooks/useNotificationSocket.ts - src/features/audit/components/AuditLogTable.tsx - src/features/audit/components/SecurityDashboard.tsx - src/pages/notifications/NotificationsPage.tsx - src/pages/audit/AuditLogsPage.tsx - src/pages/audit/AccessLogsPage.tsx - src/pages/audit/SecurityEventsPage.tsx database: - database/ddl/13-audit.sql metricas_implementacion: backend: tests_totales: 647 cobertura: ">95%" modulos_testeados: [auth, users, roles, tenants, financial, inventory, oauth, core, system, audit] frontend: pages_creadas: 29 # +4 (Notifications, AuditLogs, AccessLogs, SecurityEvents) stores_creados: 6 # +2 (notifications, audit) routes_agregadas: 27 # +4 build_time: "5.02s" database: ddl_validados: 17 # +2 (13-audit.sql, updates) seeds_cargados: 7 rls_tests: 10+ # Metricas consolidadas metricas: documentacion: directivas_creadas: 6 templates_creados: 4 total_archivos_docs: 630 archivos_migrados_gamilit: 119 modulos: total: 15 p0_criticos: 4 p1_core: 6 p2_extended: 5 documentados: 10 migrados_gamilit: 10 modulos: total: 15 implementados: 0 en_desarrollo: 0 documentacion_completa: 5 rf_documentados: 10 documentacion_pendiente: 5 migrados_estructura_gamilit: 10 lista: - codigo: MGN-001 nombre: auth estado: migrado_gamilit descripcion: Autenticacion JWT, OAuth, sessions ubicacion_gamilit: docs/01-fase-foundation/MGN-001-auth/ documentos: - requerimientos/RF-AUTH-*.md (5 archivos) - especificaciones/ET-*.md (3 archivos) - historias-usuario/US-MGN001-*.md (4 archivos) - implementacion/TRACEABILITY.yml story_points: 40 tablas_bd: 6 endpoints: 7 test_cases: 8 - codigo: MGN-002 nombre: users estado: migrado_gamilit descripcion: Gestion de usuarios CRUD, perfil, preferencias ubicacion_gamilit: docs/01-fase-foundation/MGN-002-users/ documentos: - requerimientos/RF-USER-*.md (5 archivos) - especificaciones/ET-*.md (2 archivos) - historias-usuario/US-MGN002-*.md (4 archivos) - implementacion/TRACEABILITY.yml story_points: 35 tablas_bd: 6 endpoints: 14 test_cases: 18 - codigo: MGN-003 nombre: roles estado: migrado_gamilit descripcion: Roles y permisos (RBAC), guards, decoradores ubicacion_gamilit: docs/01-fase-foundation/MGN-003-roles/ documentos: - requerimientos/RF-ROLE-*.md (4 archivos) - especificaciones/ET-*.md (2 archivos) - historias-usuario/US-MGN003-*.md (4 archivos) - implementacion/TRACEABILITY.yml story_points: 40 tablas_bd: 4 endpoints: 10 test_cases: 14 - codigo: MGN-004 nombre: tenants estado: migrado_gamilit descripcion: Multi-tenancy, aislamiento RLS, subscripciones ubicacion_gamilit: docs/01-fase-foundation/MGN-004-tenants/ documentos: - requerimientos/RF-TENANT-*.md (4 archivos) - especificaciones/ET-*.md (2 archivos) - historias-usuario/US-MGN004-*.md (4 archivos) - implementacion/TRACEABILITY.yml story_points: 35 tablas_bd: 8 endpoints: 25 test_cases: 18 - codigo: MGN-005 nombre: catalogs estado: rf_documentado descripcion: Catalogos maestros genericos ubicacion_gamilit: docs/02-fase-core-business/MGN-005-catalogs/ documentos: - requerimientos/RF-CATALOG-*.md (5 archivos) - requerimientos/INDICE-RF-CATALOGS.md - especificaciones/ (pendiente) - historias-usuario/ (pendiente) - implementacion/TRACEABILITY.yml story_points: 30 rf_count: 5 tablas_bd: 3 endpoints: 12 - codigo: MGN-006 nombre: settings estado: rf_documentado descripcion: Configuraciones del sistema, tenant y usuario ubicacion_gamilit: docs/02-fase-core-business/MGN-006-settings/ documentos: - requerimientos/RF-SETTINGS-001.md (Configuracion Sistema) - requerimientos/RF-SETTINGS-002.md (Configuracion Tenant) - requerimientos/RF-SETTINGS-003.md (Preferencias Usuario) - requerimientos/RF-SETTINGS-004.md (Feature Flags) - requerimientos/INDICE-RF-SETTINGS.md - especificaciones/ (pendiente) - historias-usuario/ (pendiente) - implementacion/TRACEABILITY.yml (actualizado) story_points: 25 rf_count: 4 tablas_bd: 5 endpoints: 15 - codigo: MGN-007 nombre: audit estado: rf_documentado descripcion: Auditoria, access logs y eventos de seguridad ubicacion_gamilit: docs/02-fase-core-business/MGN-007-audit/ documentos: - requerimientos/RF-AUDIT-001.md (Audit Trail) - requerimientos/RF-AUDIT-002.md (Access Logs) - requerimientos/RF-AUDIT-003.md (Security Events) - requerimientos/RF-AUDIT-004.md (Consultas y Reportes) - requerimientos/INDICE-RF-AUDIT.md - especificaciones/ (pendiente) - historias-usuario/ (pendiente) - implementacion/TRACEABILITY.yml (actualizado) story_points: 30 rf_count: 4 tablas_bd: 4 endpoints: 12 - codigo: MGN-008 nombre: notifications estado: rf_documentado descripcion: Notificaciones in-app, email y push ubicacion_gamilit: docs/02-fase-core-business/MGN-008-notifications/ documentos: - requerimientos/RF-NOTIF-001.md (In-App) - requerimientos/RF-NOTIF-002.md (Email) - requerimientos/RF-NOTIF-003.md (Push) - requerimientos/RF-NOTIF-004.md (Preferencias) - requerimientos/INDICE-RF-NOTIF.md - especificaciones/ (pendiente) - historias-usuario/ (pendiente) - implementacion/TRACEABILITY.yml (actualizado) story_points: 25 rf_count: 4 tablas_bd: 6 endpoints: 15 - codigo: MGN-009 nombre: reports estado: rf_documentado descripcion: Reportes predefinidos, dashboards y report builder ubicacion_gamilit: docs/02-fase-core-business/MGN-009-reports/ documentos: - requerimientos/RF-REPORT-001.md (Predefinidos) - requerimientos/RF-REPORT-002.md (Dashboards) - requerimientos/RF-REPORT-003.md (Report Builder) - requerimientos/RF-REPORT-004.md (Programados) - requerimientos/INDICE-RF-REPORT.md - especificaciones/ (pendiente) - historias-usuario/ (pendiente) - implementacion/TRACEABILITY.yml (actualizado) story_points: 35 rf_count: 4 tablas_bd: 7 endpoints: 18 - codigo: MGN-010 nombre: financial estado: rf_documentado descripcion: Base financiera (cuentas, monedas, periodos, asientos) ubicacion_gamilit: docs/02-fase-core-business/MGN-010-financial/ documentos: - requerimientos/RF-FIN-001.md (Plan de Cuentas) - requerimientos/RF-FIN-002.md (Monedas y TC) - requerimientos/RF-FIN-003.md (Periodos Contables) - requerimientos/RF-FIN-004.md (Asientos Contables) - requerimientos/INDICE-RF-FINANCIAL.md - especificaciones/ (pendiente) - historias-usuario/ (pendiente) - implementacion/TRACEABILITY.yml (actualizado) story_points: 45 rf_count: 4 tablas_bd: 10 endpoints: 25 - codigo: MGN-011 nombre: inventory estado: planificado descripcion: Inventario basico - codigo: MGN-012 nombre: purchasing estado: planificado descripcion: Compras basicas - codigo: MGN-013 nombre: crm estado: planificado descripcion: CRM basico - codigo: MGN-014 nombre: integration estado: planificado descripcion: APIs de integracion verticales_dependientes: - nombre: construccion codigo: MAI/MAE estado: 40% fase: EN_DESARROLLO path: ../verticales/construccion/ modulos: 18 specs_aplicables: 26 specs_implementadas: 0 tablas_heredadas: 124 tablas_especificas: 33 - nombre: mecanicas-diesel codigo: MMD estado: 20% fase: DDL_IMPLEMENTADO path: ../verticales/mecanicas-diesel/ modulos: 6 specs_aplicables: 25 specs_implementadas: 0 tablas_heredadas: 97 tablas_especificas: 30 - nombre: vidrio-templado codigo: VT estado: 15% fase: PLANIFICACION_COMPLETA path: ../verticales/vidrio-templado/ modulos: 8 specs_aplicables: 25 specs_implementadas: 0 tablas_heredadas: 97 tablas_especificas: 25 - nombre: retail codigo: RT estado: 15% fase: PLANIFICACION_COMPLETA path: ../verticales/retail/ modulos: 10 specs_aplicables: 24 specs_implementadas: 0 tablas_heredadas: 102 tablas_especificas: 30 - nombre: clinicas codigo: CL estado: 15% fase: PLANIFICACION_COMPLETA path: ../verticales/clinicas/ modulos: 12 specs_aplicables: 24 specs_implementadas: 0 tablas_heredadas: 100 tablas_especificas: 35 # ============================================================================ # MAPEO DE SPECS A VERTICALES (Referencia) # ============================================================================ mapeo_specs_verticales: documento_completo: docs/04-modelado/MAPEO-SPECS-VERTICALES.md fecha_actualizacion: 2025-12-08 resumen: total_specs: 30 por_vertical: construccion: {aplicables: 26, obligatorias: 22, opcionales: 4} mecanicas_diesel: {aplicables: 25, obligatorias: 23, opcionales: 2} vidrio_templado: {aplicables: 25, obligatorias: 22, opcionales: 3} retail: {aplicables: 24, obligatorias: 21, opcionales: 3} clinicas: {aplicables: 24, obligatorias: 20, opcionales: 4} documentacion: total_archivos: 630 archivos_md: 615+ archivos_sql: 0 path: /docs/ # Fase 01 - Foundation (completa) modulo_auth: requerimientos: 6 especificaciones_tecnicas: 3 user_stories: 5 test_plans: 1 modulo_users: requerimientos: 5 especificaciones_tecnicas: 2 user_stories: 4 test_plans: 1 modulo_rbac: requerimientos: 5 especificaciones_tecnicas: 2 user_stories: 4 test_plans: 1 modulo_tenants: requerimientos: 5 especificaciones_tecnicas: 2 user_stories: 4 test_plans: 1 # Fase 02 - Core Business (RF documentados) modulo_catalogs: requerimientos: 5 especificaciones_tecnicas: 0 user_stories: 0 modulo_settings: requerimientos: 4 especificaciones_tecnicas: 0 user_stories: 0 modulo_audit: requerimientos: 4 especificaciones_tecnicas: 0 user_stories: 0 modulo_notifications: requerimientos: 4 especificaciones_tecnicas: 0 user_stories: 0 modulo_reports: requerimientos: 4 especificaciones_tecnicas: 0 user_stories: 0 modulo_financial: requerimientos: 4 especificaciones_tecnicas: 0 user_stories: 0 schemas_bd: - nombre: core_auth tablas_documentadas: 6 estado: documentado - nombre: core_users tablas_documentadas: 6 estado: documentado - nombre: core_rbac tablas_documentadas: 4 estado: documentado - nombre: core_tenants tablas_documentadas: 8 estado: documentado - nombre: core_catalogs tablas_estimadas: 3 estado: rf_documentado - nombre: core_settings tablas_estimadas: 5 estado: rf_documentado - nombre: core_audit tablas_estimadas: 4 estado: rf_documentado - nombre: core_notifications tablas_estimadas: 6 estado: rf_documentado - nombre: core_reports tablas_estimadas: 7 estado: rf_documentado - nombre: core_financial tablas_estimadas: 10 estado: rf_documentado # Resumen de documentacion completada documentacion_completada: # Fase 01 auth_module: fecha_completado: 2025-12-05 documentos_creados: 14 story_points_totales: 29 sprints_estimados: 2 tablas_bd: 6 endpoints: 7 casos_prueba: 8 users_module: fecha_completado: 2025-12-05 documentos_creados: 14 story_points_totales: 21 sprints_estimados: 2 tablas_bd: 6 endpoints: 14 casos_prueba: 18 rbac_module: fecha_completado: 2025-12-05 documentos_creados: 13 story_points_totales: 29 sprints_estimados: 2 tablas_bd: 4 endpoints: 10 casos_prueba: 14 tenants_module: fecha_completado: 2025-12-05 documentos_creados: 13 story_points_totales: 47 sprints_estimados: 3 tablas_bd: 8 endpoints: 25 casos_prueba: 18 # Fase 02 - RF Documentados fase_02_rf: fecha_completado: 2025-12-05 modulos_documentados: 6 total_rf: 25 story_points: 190 descripcion: "RF documentados para MGN-005 a MGN-010" # Totales acumulados totales: modulos_documentados: 10 modulos_con_estructura: 10 documentos_totales: 109 rf_total: 46 et_total: 9 us_total: 17 story_points_fase_1: 150 story_points_fase_2: 190 story_points_total: 340 tablas_bd: 59 endpoints: 148 test_cases: 58 # Conteos RF por Fase rf_por_fase: fase_01_foundation: total: 21 por_modulo: - {modulo: MGN-001, rf: 6} - {modulo: MGN-002, rf: 5} - {modulo: MGN-003, rf: 5} - {modulo: MGN-004, rf: 5} fase_02_core_business: total: 25 por_modulo: - {modulo: MGN-005, rf: 5} - {modulo: MGN-006, rf: 4} - {modulo: MGN-007, rf: 4} - {modulo: MGN-008, rf: 4} - {modulo: MGN-009, rf: 4} - {modulo: MGN-010, rf: 4} # Hitos hitos: fase_1_foundation_core: estado: COMPLETADO fecha: 2025-12-05 modulos: - MGN-001 Auth - MGN-002 Users - MGN-003 RBAC - MGN-004 Tenants descripcion: "Todos los modulos P0 criticos documentados y migrados GAMILIT" fase_2_core_business_structure: estado: COMPLETADO fecha: 2025-12-05 modulos: - MGN-005 Catalogs (estructura) - MGN-006 Settings (estructura) - MGN-007 Audit (estructura) - MGN-008 Notifications (estructura) - MGN-009 Reports (estructura) - MGN-010 Financial (estructura) descripcion: "Estructura GAMILIT creada para todos los modulos de Fase 02" fase_2_rf_documented: estado: COMPLETADO fecha: 2025-12-05 modulos: - MGN-005 Catalogs (5 RF) - MGN-006 Settings (4 RF) - MGN-007 Audit (4 RF) - MGN-008 Notifications (4 RF) - MGN-009 Reports (4 RF) - MGN-010 Financial (4 RF) descripcion: "RF documentados para todos los modulos de Fase 02 (25 RF total)" proximo_hito: nombre: fase_2_et_documented descripcion: "Especificaciones Tecnicas para Fase 02" modulos_pendientes: 6 fase_3_gap_analysis: estado: COMPLETADO fecha: 2025-12-08 descripcion: "Analisis de gaps vs Odoo 18 - 100% documentados" metricas: gaps_p0_documentados: 18 gaps_p1_documentados: 22 patrones_tecnicos_documentados: 2 especificaciones_transversales: 30 workflows_documentados: 3 # ============================================================================ # ESPECIFICACIONES TRANSVERSALES (Gap Analysis vs Odoo 18) # ============================================================================ especificaciones_transversales: total: 30 fecha_creacion: 2025-12-08 ubicacion: docs/04-modelado/especificaciones-tecnicas/transversal/ # Gaps P0 - Funcionales (16 documentos) p0_funcionales: - archivo: SPEC-SISTEMA-SECUENCIAS.md gap: "GAP-MGN-004-002 (ir.sequence)" sp: 8 - archivo: SPEC-VALORACION-INVENTARIO.md gap: "GAP-MGN-005-001 (FIFO/AVCO)" sp: 21 - archivo: SPEC-SEGURIDAD-API-KEYS-PERMISOS.md gap: "GAP-MGN-001-001,002,003 (API Keys + ACL + RLS)" sp: 31 - archivo: SPEC-REPORTES-FINANCIEROS.md gap: "GAP-MGN-004-001 (Balance/P&L)" sp: 13 - archivo: SPEC-PORTAL-PROVEEDORES.md gap: "GAP-MGN-013-001 (Portal RFQ)" sp: 13 - archivo: SPEC-NOMINA-BASICA.md gap: "GAP-MGN-010-001 (hr_payroll)" sp: 21 - archivo: SPEC-GASTOS-EMPLEADOS.md gap: "GAP-MGN-010-002 (hr_expense)" sp: 13 - archivo: SPEC-TAREAS-RECURRENTES.md gap: "GAP-MGN-011-001 (project.task.recurrence)" sp: 13 - archivo: SPEC-SCHEDULER-REPORTES.md gap: "GAP-MGN-012-001 (ir.cron + mail)" sp: 8 - archivo: SPEC-INTEGRACION-CALENDAR.md gap: "GAP-MGN-014-001 (calendar + google_calendar)" sp: 8 # Gaps P1 (14 documentos) p1: - archivo: SPEC-CONTABILIDAD-ANALITICA-MULTIDIMENSIONAL.md gap: "GAP-MGN-008-001" sp: 21 - archivo: SPEC-CONCILIACION-BANCARIA.md gap: "GAP-MGN-004-004" sp: 21 - archivo: SPEC-FIRMA-ELECTRONICA-NOM151.md gap: "GAP-MGN-013-002" sp: 13 - archivo: SPEC-TWO-FACTOR-AUTHENTICATION.md gap: "GAP-MGN-001-004" sp: 13 - archivo: SPEC-TRAZABILIDAD-LOTES-SERIES.md gap: "GAP-MGN-005-002" sp: 13 - archivo: SPEC-PRICING-RULES.md gap: "GAP-MGN-007-002" sp: 8 - archivo: SPEC-BLANKET-ORDERS.md gap: "GAP-MGN-006-002" sp: 13 - archivo: SPEC-OAUTH2-SOCIAL-LOGIN.md gap: "GAP-MGN-001-005" sp: 8 - archivo: SPEC-INVENTARIOS-CICLICOS.md gap: "GAP-MGN-005-003" sp: 13 - archivo: SPEC-IMPUESTOS-AVANZADOS.md gap: "GAP-MGN-004-005" sp: 8 - archivo: SPEC-PLANTILLAS-CUENTAS.md gap: "GAP-MGN-004-006" sp: 8 - archivo: SPEC-CONSOLIDACION-FINANCIERA.md gap: "GAP-MGN-002-001" sp: 13 - archivo: SPEC-TASAS-CAMBIO-AUTOMATICAS.md gap: "GAP-MGN-003-001" sp: 5 - archivo: SPEC-ALERTAS-PRESUPUESTO.md gap: "GAP-MGN-008-001" sp: 8 - archivo: SPEC-PRESUPUESTOS-REVISIONES.md gap: "GAP-MGN-008-002" sp: 8 - archivo: SPEC-RRHH-EVALUACIONES-SKILLS.md gap: "GAP-MGN-010-001,002,003" sp: 26 - archivo: SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN.md gap: "GAP-MGN-011-001,002" sp: 13 - archivo: SPEC-LOCALIZACION-PAISES.md gap: "GAP-MGN-002-002" sp: 13 # Patrones Tecnicos P0 (2 documentos) patrones_tecnicos: - archivo: SPEC-MAIL-THREAD-TRACKING.md patron: "mail.thread mixin (tracking/mensajeria)" sp: 13 - archivo: SPEC-WIZARD-TRANSIENT-MODEL.md patron: "TransientModel (wizards)" sp: 8 # Total SP cubiertos total_sp: 394 # ============================================================================ # WORKFLOWS DOCUMENTADOS # ============================================================================ workflows: total: 3 ubicacion: docs/04-modelado/workflows/ documentos: - archivo: WORKFLOW-CIERRE-PERIODO-CONTABLE.md gap: "GAP-MGN-004-003 (lock dates)" - archivo: WORKFLOW-3-WAY-MATCH.md gap: "GAP-MGN-006-001 (3-way match)" - archivo: WORKFLOW-PAGOS-ANTICIPADOS.md gap: "GAP-MGN-007-001 (down payments)" # ============================================================================ # ANALISIS DE GAPS # ============================================================================ analisis_gaps: archivo_principal: orchestration/01-analisis/ANALISIS-GAPS-CONSOLIDADO.md version: "10.0" fecha: 2025-12-08 estado: "100% P0 + 100% P1 + Patrones Tecnicos COMPLETOS" metricas: gaps_p0_total: 18 gaps_p0_documentados: 18 gaps_p1_total: 22 gaps_p1_documentados: 22 patrones_tecnicos_total: 2 patrones_tecnicos_documentados: 2 cobertura: "100%" # ============================================================================ # IMPLEMENTACION DATABASE (DDL) # ============================================================================ implementacion_database: estado: "EN_PROGRESO" fecha_inicio: 2025-12-08 ubicacion: database/ddl/ archivos_ddl: # DDL Base (existentes) - archivo: 00-prerequisites.sql estado: existente descripcion: "Extensiones y configuracion inicial" - archivo: 01-auth.sql estado: existente descripcion: "Schema auth base: tenants, companies, users, roles, permissions, sessions" tablas: 10 - archivo: 01-auth-extensions.sql estado: NUEVO fecha: 2025-12-08 descripcion: "Extensiones de seguridad: Groups, ACL, Record Rules, Field Permissions, API Keys, 2FA, OAuth2" specs_relacionadas: - SPEC-TWO-FACTOR-AUTHENTICATION.md - SPEC-SEGURIDAD-API-KEYS-PERMISOS.md - SPEC-OAUTH2-SOCIAL-LOGIN.md tablas_nuevas: - auth.groups - auth.group_implied - auth.user_groups - auth.models - auth.model_access - auth.record_rules - auth.rule_groups - auth.model_fields - auth.field_permissions - auth.api_keys - auth.trusted_devices - auth.verification_codes - auth.mfa_audit_log - auth.oauth_providers - auth.oauth_user_links - auth.oauth_states total_tablas: 16 funciones_nuevas: - auth.get_user_effective_groups() - auth.check_model_access() - auth.cleanup_expired_oauth_states() - auth.cleanup_expired_verification_codes() - auth.cleanup_expired_trusted_devices() - auth.cleanup_expired_api_keys() vistas_nuevas: - auth.users_oauth_summary - auth.user_model_access_view columnas_extendidas_users: - mfa_enabled - mfa_method - mfa_secret - backup_codes - backup_codes_count - mfa_setup_at - last_2fa_verification - oauth_only - primary_oauth_provider_id - archivo: 02-core.sql estado: existente descripcion: "Schema core: partners, addresses, tags" - archivo: 03-analytics.sql estado: existente descripcion: "Schema analytics" - archivo: 04-financial.sql estado: existente descripcion: "Schema financial: accounts, journals, moves" - archivo: 05-inventory.sql estado: existente descripcion: "Schema inventory: products, warehouses, stock_moves" - archivo: 06-purchase.sql estado: existente descripcion: "Schema purchase: purchase_orders" - archivo: 07-sales.sql estado: existente descripcion: "Schema sales: sale_orders" - archivo: 08-projects.sql estado: existente descripcion: "Schema projects" - archivo: 09-system.sql estado: existente descripcion: "Schema system" - archivo: 10-billing.sql estado: existente descripcion: "Schema billing" - archivo: 11-crm.sql estado: existente descripcion: "Schema CRM" - archivo: 12-hr.sql estado: existente descripcion: "Schema HR" metricas_ddl: archivos_existentes: 13 archivos_nuevos: 1 tablas_nuevas: 16 funciones_nuevas: 6 vistas_nuevas: 2 columnas_extendidas: 9 - archivo: 05-inventory-extensions.sql estado: NUEVO fecha: 2025-12-08 descripcion: "Extensiones de inventario: SVL, Lotes/Series, Conteos CĂ­clicos" specs_relacionadas: - SPEC-VALORACION-INVENTARIO.md - SPEC-TRAZABILIDAD-LOTES-SERIES.md - SPEC-INVENTARIOS-CICLICOS.md tablas_nuevas: - inventory.stock_valuation_layers - inventory.category_stock_accounts - inventory.valuation_settings - inventory.lots - inventory.move_line_consume_rel - inventory.removal_strategies - inventory.inventory_count_sessions - inventory.inventory_count_lines - inventory.abc_classification_rules - inventory.product_abc_classification total_tablas: 10 funciones_nuevas: - inventory.run_fifo() - inventory.calculate_abc_classification() - inventory.get_pending_counts() - inventory.mark_quants_outdated() - inventory.compute_lot_expiration_dates() - inventory.refresh_product_valuation_summary() - inventory.update_session_stats() total_funciones: 7 vistas_nuevas: - inventory.product_valuation_summary (materialized) - inventory.expiring_lots_view - inventory.location_count_summary_view total_vistas: 3 columnas_extendidas: products: 10 columnas (tracking, expiration, lot_properties) product_categories: 3 columnas (cost_method, valuation_method, removal_strategy) quants: 8 columnas (lot, inventory_quantity, in_date, etc) locations: 4 columnas (cyclic_inventory, abc_classification) stock_move_lines: 3 columnas (lot_id, lot_name, tracking) stock_moves: 2 columnas (is_inventory, inventory_session_id) metricas_ddl_actualizadas: archivos_existentes: 13 archivos_nuevos: 2 tablas_nuevas_total: 26 funciones_nuevas_total: 13 vistas_nuevas_total: 5 columnas_extendidas_total: 39