---
id: VISION-ERP-CORE
title: Vision General - ERP Core
type: Vision
status: Published
priority: P0
version: 2.0.0
created_date: 2025-12-01
updated_date: 2026-01-10
---

# Vision General: ERP Core

## Resumen Ejecutivo

ERP Core es la **base generica reutilizable** que proporciona el 60-70% del codigo compartido para todas las verticales del ERP Suite. Es una adaptacion de los patrones de Odoo al stack TypeScript/Node.js/React.

**Capacidades Core:**
- Multi-tenancy con Row-Level Security (RLS)
- Autenticacion/Autorizacion avanzada (JWT, OAuth, RBAC)
- Modulos de negocio genericos (Inventario, Ventas, Compras, CRM)

**Capacidades SaaS (Plataforma):**
- Billing y suscripciones con Stripe
- Planes con feature gating y limites
- Notificaciones multicanal (Email, Push, WhatsApp)
- Webhooks outbound con firma HMAC
- Feature flags por tenant/usuario

**Capacidades IA (Inteligencia):**
- Integracion LLM multi-proveedor (OpenRouter)
- MCP Server para herramientas de negocio
- WhatsApp Business con IA conversacional
- Prediccion de inventario y demanda
- Asistente de negocio inteligente

---

## Proposito

### Problema que Resuelve

Desarrollar ERPs verticales desde cero es costoso y repetitivo. El 60-70% de la funcionalidad es comun:
- Autenticacion y usuarios
- Multi-tenancy
- Catalogos maestros
- Partners (clientes/proveedores)
- Productos e inventario
- Ventas y compras
- Contabilidad basica

**Ademas, las plataformas modernas requieren:**
- Modelo de negocio SaaS con suscripciones
- Inteligencia artificial integrada
- Comunicacion omnicanal con clientes

### Solucion

ERP Core provee esta funcionalidad comun de forma:
- **Modular:** Cada modulo es independiente
- **Extensible:** Las verticales pueden extender sin modificar
- **Multi-tenant:** Aislamiento por tenant desde el diseno
- **Documentado:** Documentacion antes de desarrollo
- **SaaS-Ready:** Billing, planes y self-service incluidos
- **AI-First:** IA integrada en flujos de negocio

---

## Objetivos

### Corto Plazo (3 meses)
1. Completar modulos core: Auth, Users, Roles, Tenants
2. Implementar Partners y Products
3. Establecer patrones de extension para verticales
4. **Integrar Billing y Plans (Stripe)**
5. **Implementar Feature Flags**

### Mediano Plazo (6 meses)
1. Completar Sales, Purchases, Inventory
2. Implementar Financial basico
3. Primera vertical (Construccion) usando el core
4. **Integrar Notificaciones multicanal**
5. **Implementar Webhooks outbound**
6. **Integrar MCP Server y LLM**

### Largo Plazo (12 meses)
1. Todas las verticales usando el core
2. **SaaS layer completo para autocontratacion**
3. Marketplace de extensiones
4. **WhatsApp Business con IA integrada**
5. **Prediccion de inventario y demanda**
6. **Asistente de negocio inteligente**

---

## Arquitectura

### Modelo de Capas

```
+------------------------------------------------------------------+
|                        CLIENTES                                   |
|  +----------+ +----------+ +----------+ +----------+             |
|  | Web App  | |Mobile App| | WhatsApp | | API Rest |             |
|  | React 18 | | Expo 51  | | Meta API | | Swagger  |             |
|  +----------+ +----------+ +----------+ +----------+             |
+------------------------------------------------------------------+
|                        CAPA IA                                    |
|  +----------------------------------------------------------+    |
|  |                    MCP SERVER                             |    |
|  |  (Model Context Protocol - Herramientas de Negocio)      |    |
|  +----------------------------------------------------------+    |
|  |                 LLM GATEWAY (OpenRouter)                  |    |
|  |  Claude | GPT-4 | Gemini | Mistral | Llama               |    |
|  +----------------------------------------------------------+    |
+------------------------------------------------------------------+
|                        API GATEWAY                                |
|  +----------------------------------------------------------+    |
|  | Express.js + TypeScript + Swagger                         |    |
|  | Middleware: Auth | Tenant | Rate Limit | Validation      |    |
|  +----------------------------------------------------------+    |
+------------------------------------------------------------------+
|                    SERVICIOS BACKEND                              |
|  +-------+ +-------+ +-------+ +-------+ +-------+ +-------+    |
|  | Auth  | | Users | |Tenants| |Billing| | Plans | |Webhooks|   |
|  +-------+ +-------+ +-------+ +-------+ +-------+ +-------+    |
|  +-------+ +-------+ +-------+ +-------+ +-------+ +-------+    |
|  |Notif  | |Storage| | Audit | |FFlags | |  AI   | |WhatsApp|   |
|  +-------+ +-------+ +-------+ +-------+ +-------+ +-------+    |
|  +-------+ +-------+ +-------+ +-------+ +-------+ +-------+    |
|  |Catalog| |Invntry| | Sales | |Purchas| | CRM   | |Projects|   |
|  +-------+ +-------+ +-------+ +-------+ +-------+ +-------+    |
+------------------------------------------------------------------+
|                     BASE DE DATOS                                 |
|  +----------------------------------------------------------+    |
|  | PostgreSQL 16+ con RLS (Row-Level Security)              |    |
|  | Schemas: auth | users | tenants | billing | plans | ai   |    |
|  |          notifications | webhooks | storage | audit      |    |
|  |          core_catalog | core_inventory | core_sales      |    |
|  +----------------------------------------------------------+    |
+------------------------------------------------------------------+
|                  SERVICIOS EXTERNOS                               |
|  +--------+ +--------+ +--------+ +--------+ +--------+          |
|  | Stripe | |SendGrid| | S3/R2  | | Redis  | |OpenRouter|        |
|  +--------+ +--------+ +--------+ +--------+ +--------+          |
|  +--------+ +--------+                                            |
|  |WhatsApp| | Vision |                                            |
|  +--------+ +--------+                                            |
+------------------------------------------------------------------+
```

### Modelo de Extension

```
+------------------------------------------------------------------+
|                        ERP CORE                                   |
|  Modulos Genericos (MGN-001 a MGN-022)                           |
|  60-70% funcionalidad comun                                      |
|                                                                   |
|  +-- Core Business: auth, users, tenants, catalog, inventory     |
|  +-- SaaS Layer: billing, plans, webhooks, feature-flags         |
|  +-- IA Layer: ai-integration, whatsapp, mcp-server             |
+------------------------------------------------------------------+
                         | EXTIENDE
        +----------------+----------------+
        |                |                |
+---------------+ +---------------+ +---------------+
| Construccion  | |Vidrio Templado| |    Retail     |
|   (MAI-*)     | |    (MVT-*)    | |    (MRT-*)    |
| 30-40% extra  | | 30-40% extra  | | 30-40% extra  |
+---------------+ +---------------+ +---------------+
```

---

## Modulos Core (MGN-*)

### Fase Foundation (P0)

| Codigo | Modulo | Descripcion | Prioridad | Estado |
|--------|--------|-------------|-----------|--------|
| MGN-001 | auth | Autenticacion JWT, OAuth, sessions | P0 | En desarrollo |
| MGN-002 | users | Gestion de usuarios CRUD | P0 | En desarrollo |
| MGN-003 | roles | Roles y permisos (RBAC) | P0 | Planificado |
| MGN-004 | tenants | Multi-tenancy, aislamiento RLS | P0 | Planificado |

### Fase Core Business (P1)

| Codigo | Modulo | Descripcion | Prioridad | Estado |
|--------|--------|-------------|-----------|--------|
| MGN-005 | catalogs | Catalogos maestros genericos | P1 | Planificado |
| MGN-006 | settings | Configuracion del sistema | P1 | Planificado |
| MGN-007 | audit | Auditoria y logs | P1 | Planificado |
| MGN-008 | notifications | Sistema de notificaciones multicanal | P1 | Planificado |
| MGN-009 | reports | Reportes genericos | P2 | Planificado |
| MGN-010 | financial | Contabilidad basica | P1 | Planificado |
| MGN-011 | inventory | Inventario basico | P1 | Planificado |
| MGN-012 | purchasing | Compras basicas | P1 | Planificado |
| MGN-013 | sales | Ventas basicas | P1 | Planificado |
| MGN-014 | crm | CRM basico | P2 | Planificado |
| MGN-015 | projects | Proyectos genericos | P2 | Planificado |

### Fase SaaS Platform (P3)

| Codigo | Modulo | Descripcion | Prioridad | Estado |
|--------|--------|-------------|-----------|--------|
| MGN-016 | billing | Suscripciones y pagos (Stripe) | P3 | Planificado |
| MGN-017 | plans | Planes, limites y feature gating | P3 | Planificado |
| MGN-018 | webhooks | Webhooks outbound con firma HMAC | P3 | Planificado |
| MGN-019 | feature-flags | Feature flags por tenant/usuario | P3 | Planificado |

### Fase IA Intelligence (P3)

| Codigo | Modulo | Descripcion | Prioridad | Estado |
|--------|--------|-------------|-----------|--------|
| MGN-020 | ai-integration | Gateway LLM multi-proveedor | P3 | Planificado |
| MGN-021 | whatsapp-business | WhatsApp Business con IA | P3 | Planificado |
| MGN-022 | mcp-server | MCP Server para herramientas | P3 | Planificado |

---

## Alcance SaaS (Plataforma)

> Ver detalles completos en [ARQUITECTURA-SAAS.md](ARQUITECTURA-SAAS.md)

### Billing y Suscripciones (MGN-016)

**Proveedor:** Stripe

**Caracteristicas:**
- Suscripciones recurrentes (mensual/anual)
- Trial gratuito configurable
- Upgrade/downgrade con prorateo automatico
- Facturas y recibos
- Webhooks Stripe sincronizados
- Portal de cliente Stripe integrado

### Planes y Limites (MGN-017)

| Plan | Precio | Usuarios | Storage | Features |
|------|--------|----------|---------|----------|
| Free | $0/mes | 1 | 100MB | Core basico |
| Starter | $29/mes | 5 | 1GB | + API access |
| Pro | $79/mes | 20 | 10GB | + AI assistant + Webhooks |
| Enterprise | $199/mes | Unlimited | Unlimited | + Custom branding + SLA |

### Notificaciones Multicanal (MGN-008)

**Canales:**
- Email (SendGrid, AWS SES, SMTP)
- Push Web (Web Push API con VAPID)
- In-App (WebSocket real-time)
- WhatsApp Business (Meta Cloud API)

### Webhooks Outbound (MGN-018)

**Eventos:** user.*, subscription.*, invoice.*, tenant.*

**Seguridad:** Firma HMAC-SHA256, reintentos exponenciales

### Feature Flags (MGN-019)

- Flags por tenant y por usuario
- Rollout gradual
- A/B testing
- Evaluaciones por contexto

---

## Alcance IA (Inteligencia)

> Ver detalles completos en [ARQUITECTURA-IA.md](ARQUITECTURA-IA.md)

### Gateway LLM (MGN-020)

**Gateway:** OpenRouter (acceso a 50+ modelos)

| Modelo | Costo/1M tokens | Uso |
|--------|-----------------:|-----|
| Claude 3 Haiku | $0.25 | Default |
| Claude 3 Sonnet | $3.00 | Premium |
| GPT-4o-mini | $0.15 | Fallback |
| Mistral 7B | $0.06 | Economico |

**Caracteristicas:**
- Cambio de modelo sin modificar codigo
- Fallback automatico entre modelos
- Token tracking por tenant
- Configuracion por tenant

### MCP Server (MGN-022)

**Herramientas de Negocio:**
- **Productos:** list, details, availability
- **Inventario:** stock, low-stock, movements
- **Ventas:** create_order, status, update
- **Clientes:** search, balance
- **Fiados:** balance, create, payment

### WhatsApp Business (MGN-021)

**Flujo:** Cliente -> WhatsApp -> LLM -> MCP -> Respuesta

**Tipos de mensaje:** texto, audio, imagen, ubicacion

### Prediccion de Inventario

**Algoritmos:**
- Demanda: Promedio movil ponderado (4 semanas)
- Reorden: (Demanda_diaria x Lead_time) + Stock_seguridad
- Dias de inventario: Stock_actual / Demanda_diaria

---

## Integraciones Externas

> Ver catalogo completo en [INTEGRACIONES-EXTERNAS.md](INTEGRACIONES-EXTERNAS.md)

| Categoria | Servicio | Modulo | Uso |
|-----------|----------|--------|-----|
| Pagos | Stripe | MGN-016 | Billing y suscripciones |
| Email | SendGrid/SES | MGN-008 | Notificaciones |
| Push | Web Push API | MGN-008 | Notificaciones |
| WhatsApp | Meta Cloud API | MGN-021 | Mensajeria |
| Storage | S3/R2/MinIO | - | Archivos |
| Cache | Redis/BullMQ | - | Cache y colas |
| LLM | OpenRouter | MGN-020 | Inteligencia artificial |

---

## Stack Tecnologico

> Ver detalle completo en [STACK-TECNOLOGICO.md](STACK-TECNOLOGICO.md)

### Backend

| Tecnologia | Version | Proposito |
|------------|---------|-----------|
| Node.js | 20+ | Runtime |
| Express.js | 4.x | Framework HTTP |
| TypeScript | 5.3+ | Lenguaje |
| TypeORM | 0.3.17 | ORM |
| BullMQ | 5.x | Colas asincronas |
| Socket.io | 4.x | WebSocket |
| Stripe SDK | Latest | Billing |

### Frontend

| Tecnologia | Version | Proposito |
|------------|---------|-----------|
| React | 18.x | Framework UI |
| Vite | 5.x | Build tool |
| Zustand | 4.x | State management |
| Tailwind CSS | 4.x | Styling |
| React Query | 5.x | Data fetching |

### Database

| Tecnologia | Version | Proposito |
|------------|---------|-----------|
| PostgreSQL | 16+ | Base de datos |
| RLS | - | Multi-tenancy |
| Redis | 7.x | Cache y colas |

---

## Principios de Diseno

### 1. Multi-Tenancy First
Toda tabla tiene `tenant_id`. Todo query filtra por tenant via RLS.

### 2. Documentation Driven
Documentar antes de desarrollar. La documentacion es el contrato.

### 3. Extension over Modification
Las verticales extienden, nunca modifican el core.

### 4. Patterns from Odoo
Adaptar patrones probados de Odoo al stack TypeScript.

### 5. Single Source of Truth
Un lugar para cada dato. Sincronizacion automatica.

### 6. SaaS by Design
Billing, planes y self-service desde el inicio.

### 7. AI-First Architecture
IA integrada en flujos de negocio, no como addon.

### 8. Event-Driven Communication
Webhooks y eventos para comunicacion entre sistemas.

---

## Entregables por Fase

### Fase 1: Foundation (En progreso)
- [ ] MGN-001 Auth completo
- [ ] MGN-002 Users completo
- [ ] MGN-003 Roles completo
- [ ] MGN-004 Tenants completo
- [ ] Documentacion de todos los modulos

### Fase 2: Core Business
- [ ] MGN-005 Catalogs
- [ ] MGN-010 Financial basico
- [ ] MGN-011 Inventory
- [ ] MGN-012 Purchasing
- [ ] MGN-013 Sales

### Fase 3: Extended
- [ ] MGN-006 Settings
- [ ] MGN-007 Audit
- [ ] MGN-008 Notifications (multicanal)
- [ ] MGN-009 Reports
- [ ] MGN-014 CRM
- [ ] MGN-015 Projects

### Fase 4: SaaS Platform
- [ ] MGN-016 Billing (Stripe)
- [ ] MGN-017 Plans
- [ ] MGN-018 Webhooks
- [ ] MGN-019 Feature Flags
- [ ] Portal de autocontratacion

### Fase 5: IA Intelligence
- [ ] MGN-020 AI Integration (OpenRouter)
- [ ] MGN-021 WhatsApp Business
- [ ] MGN-022 MCP Server
- [ ] Prediccion de inventario
- [ ] Asistente de negocio inteligente

---

## Referencias

| Recurso | Path |
|---------|------|
| Arquitectura SaaS | [ARQUITECTURA-SAAS.md](ARQUITECTURA-SAAS.md) |
| Arquitectura IA | [ARQUITECTURA-IA.md](ARQUITECTURA-IA.md) |
| Integraciones | [INTEGRACIONES-EXTERNAS.md](INTEGRACIONES-EXTERNAS.md) |
| Stack Tecnologico | [STACK-TECNOLOGICO.md](STACK-TECNOLOGICO.md) |
| Directivas | `orchestration/directivas/` |
| Templates | `orchestration/templates/` |
| Template SaaS | `projects/template-saas/` |
| MiChangarrito | `projects/michangarrito/` |

---

## Metricas de Exito

### Metricas Core

| Metrica | Objetivo |
|---------|----------|
| Cobertura de tests | >80% |
| Documentacion | 100% antes de desarrollo |
| Reutilizacion en verticales | >60% |
| Tiempo de setup nueva vertical | <1 semana |

### Metricas SaaS

| Metrica | Objetivo |
|---------|----------|
| Tiempo de onboarding self-service | <5 minutos |
| Conversion trial a paid | >10% |
| Churn mensual | <5% |
| Uptime SLA | >99.5% |

### Metricas IA

| Metrica | Objetivo |
|---------|----------|
| Precision de respuestas IA | >85% |
| Latencia promedio LLM | <2 segundos |
| Adopcion de chat IA | >50% usuarios activos |
| Precision prediccion inventario | >70% |

---

*Ultima actualizacion: Enero 2026*
