erp-suite/apps/saas/README.md

199 lines
5.5 KiB
Markdown

# SaaS Layer - ERP Suite
## Descripción
Capa de servicios SaaS que gestiona multi-tenancy, billing, suscripciones y portal de clientes para todos los productos del ERP Suite.
## Componentes
```
saas/
├── billing/ # Facturación y cobros
├── portal/ # Portal de clientes
├── admin/ # Administración multi-tenant
├── onboarding/ # Registro y configuración inicial
├── docs/ # Documentación
└── orchestration/ # Sistema NEXUS
```
## Billing
Gestión de suscripciones y cobros.
### Funcionalidades
- Planes de suscripción (POS Micro, ERP Básico, Verticales)
- Cobro recurrente (mensual/anual)
- Integración con Stripe/Conekta
- Facturación automática (CFDI México)
- Gestión de módulos opcionales
### Planes
| Plan | Precio Base | Productos |
|------|-------------|-----------|
| POS Micro | 100 MXN/mes | pos-micro |
| ERP Básico | 300 MXN/mes | erp-basico |
| ERP Pro | 500 MXN/mes | erp-basico + módulos |
| Vertical | 1,000+ MXN/mes | erp-core + vertical |
### Módulos Opcionales
| Módulo | Precio | Disponible en |
|--------|--------|---------------|
| Contabilidad | +150 MXN/mes | ERP Básico, Verticales |
| RRHH | +100 MXN/mes | ERP Básico, Verticales |
| CFDI | +100 MXN/mes | Todos |
| WhatsApp Bot | Por consumo | Todos |
| Usuario extra | +50 MXN/mes | Todos |
## Portal
Portal self-service para clientes.
### Funcionalidades
- Dashboard de cuenta
- Gestión de suscripción
- Historial de facturas
- Cambio de plan
- Soporte/tickets
- Configuración de módulos
## Admin
Panel de administración para operadores.
### Funcionalidades
- Gestión de tenants
- Métricas de uso
- Facturación manual
- Soporte nivel 1
- Configuración global
- Feature flags por tenant
## Onboarding
Flujo de registro y configuración inicial.
### Flujo
1. **Registro** - Email o WhatsApp
2. **Selección de plan** - POS Micro, ERP Básico, etc.
3. **Datos de empresa** - RFC, dirección, giro
4. **Configuración inicial** - Productos, usuarios
5. **Pago** - Tarjeta o transferencia
6. **Activación** - Acceso inmediato
## Stack Tecnológico
```yaml
backend:
runtime: Node.js 20+
framework: NestJS
language: TypeScript
payments: Stripe + Conekta
invoicing: PAC CFDI
frontend:
framework: React 18
bundler: Vite
styling: Tailwind CSS
database:
engine: PostgreSQL 15+
schema: saas
tables: ~15
```
## Base de Datos
### Schema: `saas`
```sql
-- Gestión de tenants y suscripciones
saas.tenants -- Empresas/clientes
saas.subscriptions -- Suscripciones activas
saas.plans -- Catálogo de planes
saas.plan_features -- Features por plan
saas.invoices -- Facturas emitidas
saas.payments -- Pagos recibidos
saas.payment_methods -- Métodos de pago guardados
saas.usage_tracking -- Tracking de consumo
saas.support_tickets -- Tickets de soporte
saas.onboarding_sessions -- Sesiones de registro
```
## Integración con Productos
```
┌─────────────────────────────────────────────────────────────┐
│ SAAS LAYER │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ billing │ │ portal │ │ admin │ │onboarding│ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │ │
│ └───────────┴───────────┴───────────┘ │
│ │ │
│ API Gateway │
│ │ │
└─────────────────────────┼───────────────────────────────────┘
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ POS Micro│ │ERP Básico│ │Verticales│
└──────────┘ └──────────┘ └──────────┘
```
## Variables de Entorno
```env
# Payments
STRIPE_SECRET_KEY=sk_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
CONEKTA_API_KEY=key_xxx
# CFDI
PAC_RFC=XXX
PAC_API_KEY=xxx
PAC_ENVIRONMENT=sandbox|production
# Database
DATABASE_URL=postgresql://...
SAAS_SCHEMA=saas
# General
ONBOARDING_URL=https://registro.erp-suite.com
PORTAL_URL=https://portal.erp-suite.com
```
## Roadmap
### MVP (v1.0)
- [ ] Modelo de datos billing
- [ ] Integración Stripe básica
- [ ] Portal mínimo (ver facturas)
- [ ] Onboarding POS Micro
- [ ] Admin básico
### v1.1
- [ ] Integración Conekta
- [ ] CFDI automático
- [ ] Onboarding ERP Básico
- [ ] Métricas de uso
### v1.2
- [ ] Portal completo
- [ ] Cambio de plan self-service
- [ ] Soporte integrado
- [ ] Referidos
---
*SaaS Layer v1.0*
*ERP Suite*