erp-core/docs/01-fase-foundation/MGN-004-tenants
2026-01-04 06:12:07 -06:00
..
especificaciones Initial commit - erp-core 2026-01-04 06:12:07 -06:00
historias-usuario Initial commit - erp-core 2026-01-04 06:12:07 -06:00
implementacion Initial commit - erp-core 2026-01-04 06:12:07 -06:00
requerimientos Initial commit - erp-core 2026-01-04 06:12:07 -06:00
_MAP.md Initial commit - erp-core 2026-01-04 06:12:07 -06:00
README.md Initial commit - erp-core 2026-01-04 06:12:07 -06:00

MGN-004: Multi-tenant

Metadata

Campo Valor
ID MGN-004
Nombre Multi-tenant
Fase 01 - Foundation
Prioridad P0 (Critico)
Story Points 35 SP
Estado Documentado
Dependencias MGN-001, MGN-002, MGN-003

Descripcion

Sistema de multi-tenancy que permite que multiples organizaciones/empresas utilicen la misma instancia del ERP con completo aislamiento de datos.

Caracteristicas principales:

  • Aislamiento RLS: Row Level Security en PostgreSQL
  • Configuracion por tenant: Moneda, zona horaria, formato de fecha
  • Planes de suscripcion: Diferentes niveles de servicio
  • Limites por plan: Usuarios, almacenamiento, modulos
  • Onboarding automatizado: Creacion de tenant con datos iniciales

Arquitectura

Request
   │
   ▼
┌──────────────────────┐
│  TenantMiddleware    │  <- Extrae tenant_id del token JWT
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│  SET app.tenant_id   │  <- Establece contexto PostgreSQL
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│     RLS Policies     │  <- Filtra automaticamente
│   tenant_isolation   │     por tenant_id
└──────────────────────┘

Planes de Suscripcion

Plan Usuarios Almacenamiento Modulos
Free 3 1 GB Core
Starter 10 5 GB Core + Ventas
Professional 50 25 GB Todos
Enterprise Ilimitado Ilimitado Todos + Soporte

Endpoints API

Metodo Path Descripcion
GET /api/v1/tenants Listar tenants (super admin)
POST /api/v1/tenants Crear tenant
GET /api/v1/tenants/:id Obtener tenant
PATCH /api/v1/tenants/:id Actualizar tenant
GET /api/v1/tenants/current Tenant actual
GET /api/v1/tenants/current/settings Config del tenant
PATCH /api/v1/tenants/current/settings Actualizar config
GET /api/v1/plans Listar planes
POST /api/v1/subscriptions Crear suscripcion
GET /api/v1/subscriptions/current Suscripcion actual

Tablas de Base de Datos

Tabla Descripcion
tenants Organizaciones/empresas
tenant_settings Configuracion por tenant
plans Planes de suscripcion
subscriptions Suscripciones activas

Documentacion


Generado por: Requirements-Analyst Fecha: 2025-12-05