# Indice de Modulos - ERP Core ## Resumen | Metrica | Valor | |---------|-------| | Total Modulos | 19 | | Modulos P0 (Criticos) | 4 | | Modulos P1 (Core) | 6 | | Modulos P2 (Extended) | 5 | | Modulos P3 (SaaS) | 4 | | Completados | 0 | | En Desarrollo | 2 | | Planificados | 17 | --- ## Modulos por Prioridad ### P0 - Criticos (Sin estos no funciona) | Codigo | Modulo | Estado | Progreso | Docs | |--------|--------|--------|----------|------| | MGN-001 | [auth](#mgn-001-auth) | En desarrollo | 40% | [Ver](./MGN-001-auth/) | | MGN-002 | [users](#mgn-002-users) | En desarrollo | 30% | [Ver](./MGN-002-users/) | | MGN-003 | [roles](#mgn-003-roles) | Planificado | 0% | Pendiente | | MGN-004 | [tenants](#mgn-004-tenants) | Planificado | 0% | Pendiente | ### P1 - Core Business | Codigo | Modulo | Estado | Progreso | Docs | |--------|--------|--------|----------|------| | MGN-005 | [catalogs](#mgn-005-catalogs) | Planificado | 0% | Pendiente | | MGN-010 | [financial](#mgn-010-financial) | Planificado | 0% | Pendiente | | MGN-011 | [inventory](#mgn-011-inventory) | Planificado | 0% | Pendiente | | MGN-012 | [purchasing](#mgn-012-purchasing) | Planificado | 0% | Pendiente | | MGN-013 | [sales](#mgn-013-sales) | Planificado | 0% | Pendiente | | MGN-006 | [settings](#mgn-006-settings) | Planificado | 0% | Pendiente | ### P2 - Extended | Codigo | Modulo | Estado | Progreso | Docs | |--------|--------|--------|----------|------| | MGN-007 | [audit](#mgn-007-audit) | Planificado | 0% | Pendiente | | MGN-008 | [notifications](#mgn-008-notifications) | Planificado | 0% | Pendiente | | MGN-009 | [reports](#mgn-009-reports) | Planificado | 0% | Pendiente | | MGN-014 | [crm](#mgn-014-crm) | Planificado | 0% | Pendiente | | MGN-015 | [projects](#mgn-015-projects) | Planificado | 0% | Pendiente | ### P3 - SaaS Platform | Codigo | Modulo | Estado | Progreso | Docs | |--------|--------|--------|----------|------| | MGN-016 | [billing](#mgn-016-billing) | Planificado | 0% | [Ver](./MGN-016-billing/) | | MGN-017 | [payments-pos](#mgn-017-payments-pos) | Planificado | 0% | [Ver](./MGN-017-payments-pos/) | | MGN-018 | [whatsapp-business](#mgn-018-whatsapp-business) | Planificado | 0% | [Ver](./MGN-018-whatsapp-business/) | | MGN-019 | [ai-agents](#mgn-019-ai-agents) | Planificado | 0% | [Ver](./MGN-019-ai-agents/) | --- ## Detalle de Modulos ### MGN-001: Auth **Proposito:** Autenticacion y manejo de sesiones | Aspecto | Detalle | |---------|---------| | Schema BD | `core_auth` | | Tablas | users, sessions, tokens, oauth_providers | | Endpoints | 8 (login, logout, refresh, etc.) | | Dependencias | Ninguna (modulo base) | | Usado por | Todos los modulos | **Funcionalidades:** - Login con email/password - JWT tokens (access + refresh) - OAuth providers (Google, Microsoft, etc.) - Sesiones multi-dispositivo - Password recovery - 2FA (opcional) --- ### MGN-002: Users **Proposito:** Gestion de usuarios del sistema | Aspecto | Detalle | |---------|---------| | Schema BD | `core_auth` | | Tablas | users, user_profiles, user_preferences | | Endpoints | 6 (CRUD + profile) | | Dependencias | MGN-001 Auth | | Usado por | MGN-003 Roles | **Funcionalidades:** - CRUD de usuarios - Perfiles de usuario - Preferencias (idioma, timezone, tema) - Avatar y datos personales - Activacion/desactivacion --- ### MGN-003: Roles **Proposito:** Roles y permisos (RBAC) | Aspecto | Detalle | |---------|---------| | Schema BD | `core_auth` | | Tablas | roles, permissions, role_permissions, user_roles | | Endpoints | 10 | | Dependencias | MGN-001, MGN-002 | | Usado por | Todos los modulos | **Funcionalidades:** - Roles jerarquicos - Permisos granulares por recurso - Asignacion de roles a usuarios - Roles por tenant - Herencia de permisos --- ### MGN-004: Tenants **Proposito:** Multi-tenancy y aislamiento de datos | Aspecto | Detalle | |---------|---------| | Schema BD | `core_system` | | Tablas | tenants, tenant_settings, tenant_features | | Endpoints | 8 | | Dependencias | MGN-001 | | Usado por | Todos los modulos | **Funcionalidades:** - Creacion de tenants - Configuracion por tenant - Feature flags por tenant - Limites y quotas - Aislamiento RLS --- ### MGN-005: Catalogs **Proposito:** Catalogos maestros reutilizables | Aspecto | Detalle | |---------|---------| | Schema BD | `core_catalogs` | | Tablas | countries, states, currencies, uom, etc. | | Endpoints | 12+ | | Dependencias | MGN-004 | | Usado por | Partners, Products, Financial | **Funcionalidades:** - Paises y estados - Monedas y tipos de cambio - Unidades de medida - Categorias genericas - Impuestos base --- ### MGN-006: Settings **Proposito:** Configuracion del sistema | Aspecto | Detalle | |---------|---------| | Schema BD | `core_system` | | Tablas | config_parameters, sequences | | Endpoints | 6 | | Dependencias | MGN-004 | | Usado por | Todos los modulos | **Funcionalidades:** - Parametros de configuracion - Secuencias (folios) - Configuracion de email - Configuracion de integraciones --- ### MGN-007: Audit **Proposito:** Auditoria y trazabilidad | Aspecto | Detalle | |---------|---------| | Schema BD | `audit_logging` | | Tablas | audit_logs, login_history, change_history | | Endpoints | 4 (solo lectura) | | Dependencias | MGN-001, MGN-004 | | Usado por | - | **Funcionalidades:** - Log de cambios por entidad - Historial de logins - Exportacion de logs - Retencion configurable --- ### MGN-008: Notifications **Proposito:** Sistema de notificaciones | Aspecto | Detalle | |---------|---------| | Schema BD | `core_notifications` | | Tablas | notifications, notification_preferences, templates | | Endpoints | 8 | | Dependencias | MGN-001, MGN-002 | | Usado por | Todos los modulos | **Funcionalidades:** - Notificaciones in-app - Email notifications - Push notifications (mobile) - Preferencias por usuario - Templates de notificacion --- ### MGN-009: Reports **Proposito:** Reportes genericos | Aspecto | Detalle | |---------|---------| | Schema BD | `core_reports` | | Tablas | report_definitions, report_schedules | | Endpoints | 6 | | Dependencias | MGN-001, MGN-004 | | Usado por | Verticales | **Funcionalidades:** - Definicion de reportes - Exportacion PDF/Excel - Reportes programados - Dashboards basicos --- ### MGN-010: Financial **Proposito:** Contabilidad basica | Aspecto | Detalle | |---------|---------| | Schema BD | `core_financial` | | Tablas | accounts, journals, entries, invoices, payments | | Endpoints | 20+ | | Dependencias | MGN-005 | | Usado por | Sales, Purchases, Verticales | **Funcionalidades:** - Plan de cuentas - Diarios contables - Asientos contables - Facturas (ventas/compras) - Pagos - Conciliacion bancaria basica --- ### MGN-011: Inventory **Proposito:** Inventario y stock | Aspecto | Detalle | |---------|---------| | Schema BD | `core_inventory` | | Tablas | products, warehouses, locations, stock_moves | | Endpoints | 15+ | | Dependencias | MGN-005, Products | | Usado por | Sales, Purchases, Verticales | **Funcionalidades:** - Almacenes y ubicaciones - Movimientos de stock - Valoracion de inventario - Ajustes de inventario - Transferencias --- ### MGN-012: Purchasing **Proposito:** Compras | Aspecto | Detalle | |---------|---------| | Schema BD | `core_purchases` | | Tablas | purchase_orders, po_lines, supplier_info | | Endpoints | 12+ | | Dependencias | MGN-005, MGN-010, MGN-011 | | Usado por | Verticales | **Funcionalidades:** - Ordenes de compra - Recepciones - Facturacion de compras - Proveedores por producto - Solicitudes de compra --- ### MGN-013: Sales **Proposito:** Ventas | Aspecto | Detalle | |---------|---------| | Schema BD | `core_sales` | | Tablas | sale_orders, so_lines, quotations | | Endpoints | 15+ | | Dependencias | MGN-005, MGN-010, MGN-011 | | Usado por | Verticales | **Funcionalidades:** - Cotizaciones - Ordenes de venta - Entregas - Facturacion de ventas - Precios y descuentos --- ### MGN-014: CRM **Proposito:** CRM basico | Aspecto | Detalle | |---------|---------| | Schema BD | `core_crm` | | Tablas | leads, opportunities, activities, stages | | Endpoints | 12+ | | Dependencias | MGN-005, Partners | | Usado por | Sales, Verticales | **Funcionalidades:** - Leads y oportunidades - Pipeline de ventas - Actividades y seguimiento - Conversion a cliente - Reportes de funnel --- ### MGN-015: Projects **Proposito:** Proyectos genericos | Aspecto | Detalle | |---------|---------| | Schema BD | `core_projects` | | Tablas | projects, tasks, timesheets | | Endpoints | 12+ | | Dependencias | MGN-002, MGN-005 | | Usado por | Verticales | **Funcionalidades:** - Proyectos y tareas - Asignacion de recursos - Registro de tiempo - Estados y etapas - Kanban view --- ### MGN-016: Billing **Proposito:** Facturacion SaaS por asientos (per-seat billing) | Aspecto | Detalle | |---------|---------| | Schema BD | `billing` | | Tablas | tenant_owners, payment_methods, invoices, invoice_lines, payments, coupons, coupon_redemptions, usage_records, subscription_history | | Endpoints | 15+ | | Dependencias | MGN-001, MGN-004 Tenants | | Usado por | MGN-017, MGN-018, MGN-019 | **Funcionalidades:** - Suscripciones mensuales por tenant - Modelo per-seat: base + extra seats × precio - Feature flags por plan (Starter, Growth, Enterprise) - Gestion de propietarios de tenant - Cupones y descuentos - Historial de cambios de suscripcion - Facturacion automatica - Metodos de pago (tarjetas, SPEI) --- ### MGN-017: Payments POS **Proposito:** Integraciones con terminales de pago (MercadoPago, Clip) | Aspecto | Detalle | |---------|---------| | Schema BD | `integrations` | | Tablas | payment_providers, payment_credentials, payment_terminals, payment_transactions, refunds, webhook_logs, reconciliation_batches | | Endpoints | 20+ | | Dependencias | MGN-001, MGN-004, MGN-010 Financial | | Usado por | Verticales POS | **Funcionalidades:** - Multi-provider: MercadoPago (OAuth) y Clip (API Keys) - Registro de terminales por ubicacion - Procesamiento de transacciones - Reembolsos parciales y totales - Webhooks para notificaciones - Conciliacion de transacciones - Generacion de asientos contables - Manejo de comisiones por provider --- ### MGN-018: WhatsApp Business **Proposito:** Integracion con WhatsApp Business Cloud API | Aspecto | Detalle | |---------|---------| | Schema BD | `messaging` | | Tablas | whatsapp_accounts, whatsapp_templates, whatsapp_conversations, whatsapp_messages, chatbot_flows, chatbot_nodes, chatbot_sessions, whatsapp_campaigns | | Endpoints | 25+ | | Dependencias | MGN-001, MGN-004, MGN-005 Catalogs | | Usado por | MGN-019 AI Agents | **Funcionalidades:** - Cuentas de WhatsApp Business por tenant - Templates de mensajes (HSM) aprobados por Meta - Conversaciones bidireccionales - Chatbots con flujos visuales - Campañas de marketing masivo - Opt-in/opt-out de contactos - Metricas de entrega y lectura - Webhooks de WhatsApp Cloud API --- ### MGN-019: AI Agents **Proposito:** Agentes inteligentes con RAG para automatizacion | Aspecto | Detalle | |---------|---------| | Schema BD | `ai_agents` | | Tablas | agents, knowledge_bases, agent_knowledge_bases, kb_documents, kb_chunks, tool_definitions, agent_tools, conversations, messages, tool_executions, feedback, usage_logs | | Endpoints | 30+ | | Dependencias | MGN-001, MGN-004, MGN-018 WhatsApp | | Usado por | Verticales | **Funcionalidades:** - Agentes configurables por tenant - Knowledge bases con documentos - RAG con pgvector (embeddings 1536 dims) - Definicion de tools/funciones - Conversaciones con historial - Ejecucion de tools en tiempo real - Feedback de usuarios (thumbs up/down) - Metricas de uso y tokens - Integracion con WhatsApp como canal --- ## Orden de Implementacion Recomendado ``` Fase 1: Foundation ├── MGN-001 Auth ├── MGN-002 Users ├── MGN-003 Roles └── MGN-004 Tenants Fase 2: Core Business ├── MGN-005 Catalogs ├── Partners (parte de Catalogs) ├── Products (parte de Catalogs) ├── MGN-011 Inventory ├── MGN-012 Purchasing ├── MGN-013 Sales └── MGN-010 Financial Fase 3: Extended ├── MGN-006 Settings ├── MGN-007 Audit ├── MGN-008 Notifications ├── MGN-009 Reports ├── MGN-014 CRM └── MGN-015 Projects Fase 4: SaaS Platform ├── MGN-016 Billing (depende de MGN-004) ├── MGN-017 Payments POS (depende de MGN-010) ├── MGN-018 WhatsApp Business (depende de MGN-005) └── MGN-019 AI Agents (depende de MGN-018) ``` --- ## Dependencias entre Modulos ```mermaid graph TD MGN001[MGN-001 Auth] --> MGN002[MGN-002 Users] MGN001 --> MGN004[MGN-004 Tenants] MGN002 --> MGN003[MGN-003 Roles] MGN004 --> MGN005[MGN-005 Catalogs] MGN005 --> MGN010[MGN-010 Financial] MGN005 --> MGN011[MGN-011 Inventory] MGN011 --> MGN012[MGN-012 Purchasing] MGN011 --> MGN013[MGN-013 Sales] MGN010 --> MGN012 MGN010 --> MGN013 MGN005 --> MGN014[MGN-014 CRM] MGN002 --> MGN015[MGN-015 Projects] %% SaaS Platform Modules MGN004 --> MGN016[MGN-016 Billing] MGN010 --> MGN017[MGN-017 Payments POS] MGN005 --> MGN018[MGN-018 WhatsApp] MGN018 --> MGN019[MGN-019 AI Agents] MGN016 --> MGN017 MGN016 --> MGN018 ``` --- ## Proximas Acciones 1. **Completar documentacion MGN-001 Auth** - DDL Specification - Especificacion Backend - User Stories 2. **Completar documentacion MGN-002 Users** - Mismos entregables 3. **Iniciar MGN-003 Roles** - Requerimientos funcionales - Diseno de RBAC 4. **Planificar Fase 4: SaaS Platform** - MGN-016 Billing: Per-seat pricing, feature flags - MGN-017 Payments POS: MercadoPago, Clip - MGN-018 WhatsApp Business: Cloud API, chatbots - MGN-019 AI Agents: RAG, pgvector, tools --- *Ultima actualizacion: Diciembre 2025*