560 lines
14 KiB
Markdown
560 lines
14 KiB
Markdown
# 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*
|