erp-core/docs/02-definicion-modulos/INDICE-MODULOS.md

560 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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*