erp-core/docs/04-modelado/especificaciones-tecnicas/README.md

642 lines
36 KiB
Markdown

# ESPECIFICACIONES TÉCNICAS (ET) - ERP GENÉRICO
**Fecha:** 2025-11-24
**Versión:** 1.0
**Total ET:** 160 (80 Backend + 80 Frontend)
**Total Story Points:** 673 SP
**Estado:** Diseñado
---
## Resumen Ejecutivo
Este directorio contiene las **160 Especificaciones Técnicas (ET)** del ERP Genérico, derivadas de los 80 Requerimientos Funcionales (RF). Cada RF tiene:
- **1 ET-Backend:** Implementación API, servicios, lógica de negocio (NestJS + Prisma)
- **1 ET-Frontend:** Implementación UI/UX, componentes, integración (React + Ant Design)
Las ET proporcionan documentación técnica detallada ready-to-implement para desarrolladores, incluyendo:
- Código TypeScript real (no pseudocódigo)
- DTOs, servicios, controllers, componentes
- Tests unitarios y e2e
- Validaciones, seguridad, performance
- Referencias cruzadas a RF, BD, domain models
---
## Resumen por Módulo
| Módulo | Nombre | ET Backend | ET Frontend | Total ET | Story Points |
|--------|--------|------------|-------------|----------|--------------|
| MGN-001 | Fundamentos | 8 | 8 | 16 | 68 SP |
| MGN-002 | Empresas y Organizaciones | 5 | 5 | 10 | 34 SP |
| MGN-003 | Catálogos Maestros | 6 | 6 | 12 | 29 SP |
| MGN-004 | Financiero Básico | 8 | 8 | 16 | 81 SP |
| MGN-005 | Inventario Básico | 7 | 7 | 14 | 66 SP |
| MGN-006 | Compras Básico | 6 | 6 | 12 | 42 SP |
| MGN-007 | Ventas Básico | 6 | 6 | 12 | 45 SP |
| MGN-008 | Contabilidad Analítica | 5 | 5 | 10 | 35 SP |
| MGN-009 | CRM Básico | 5 | 5 | 10 | 31 SP |
| MGN-010 | RRHH Básico | 5 | 5 | 10 | 29 SP |
| MGN-011 | Proyectos Genéricos | 5 | 5 | 10 | 40 SP |
| MGN-012 | Reportes y Analytics | 4 | 4 | 8 | 39 SP |
| MGN-013 | Portal de Usuarios | 4 | 4 | 8 | 29 SP |
| MGN-014 | Mensajería y Notificaciones | 6 | 6 | 12 | 47 SP |
| **TOTAL** | **14 módulos** | **80** | **80** | **160** | **673 SP** |
---
## Estructura de Directorios
```
especificaciones-tecnicas/
├── README.md # Este archivo
├── generate_et.py # Script generador de ET
├── backend/ # 80 ET Backend
│ ├── mgn-001/ # Fundamentos (8 ET)
│ │ ├── ET-BACKEND-MGN-001-001-autenticacion-usuarios.md
│ │ ├── ET-BACKEND-MGN-001-002-gestion-roles.md
│ │ └── ...
│ ├── mgn-002/ # Empresas (5 ET)
│ ├── mgn-003/ # Catálogos (6 ET)
│ ├── mgn-004/ # Financiero (8 ET)
│ ├── mgn-005/ # Inventario (7 ET)
│ ├── mgn-006/ # Compras (6 ET)
│ ├── mgn-007/ # Ventas (6 ET)
│ ├── mgn-008/ # Analítica (5 ET)
│ ├── mgn-009/ # CRM (5 ET)
│ ├── mgn-010/ # RRHH (5 ET)
│ ├── mgn-011/ # Proyectos (5 ET)
│ ├── mgn-012/ # Reportes (4 ET)
│ ├── mgn-013/ # Portal (4 ET)
│ └── mgn-014/ # Mensajería (6 ET)
└── frontend/ # 80 ET Frontend
├── mgn-001/ # Fundamentos (8 ET)
│ ├── ET-FRONTEND-MGN-001-001-autenticacion-usuarios.md
│ ├── ET-FRONTEND-MGN-001-002-gestion-roles.md
│ └── ...
├── mgn-002/ # Empresas (5 ET)
└── ...
```
---
## Índice de Especificaciones Técnicas
### MGN-001: Fundamentos (68 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-001-001: Autenticación de Usuarios](backend/mgn-001/ET-BACKEND-MGN-001-001-autenticación-de-usuarios.md) - 4 SP
2. [ET-BACKEND-MGN-001-002: Gestión de Roles y Permisos (RBAC)](backend/mgn-001/ET-BACKEND-MGN-001-002-gestión-de-roles-y-permisos-rbac.md) - 6 SP
3. [ET-BACKEND-MGN-001-003: Gestión de Usuarios](backend/mgn-001/ET-BACKEND-MGN-001-003-gestión-de-usuarios.md) - 4 SP
4. [ET-BACKEND-MGN-001-004: Multi-Tenancy con Schema-Level Isolation](backend/mgn-001/ET-BACKEND-MGN-001-004-multi-tenancy-con-schema-level-isolation.md) - 6 SP
5. [ET-BACKEND-MGN-001-005: Reset de Contraseña](backend/mgn-001/ET-BACKEND-MGN-001-005-reset-de-contraseña.md) - 2 SP
6. [ET-BACKEND-MGN-001-006: Registro de Usuarios (Signup)](backend/mgn-001/ET-BACKEND-MGN-001-006-registro-de-usuarios-signup.md) - 2 SP
7. [ET-BACKEND-MGN-001-007: Gestión de Sesiones](backend/mgn-001/ET-BACKEND-MGN-001-007-gestión-de-sesiones.md) - 2 SP
8. [ET-BACKEND-MGN-001-008: Record Rules (Row Level Security)](backend/mgn-001/ET-BACKEND-MGN-001-008-record-rules-row-level-security.md) - 6 SP
#### Frontend
1. [ET-FRONTEND-MGN-001-001: Autenticación de Usuarios](frontend/mgn-001/ET-FRONTEND-MGN-001-001-autenticación-de-usuarios.md) - 4 SP
2. [ET-FRONTEND-MGN-001-002: Gestión de Roles y Permisos (RBAC)](frontend/mgn-001/ET-FRONTEND-MGN-001-002-gestión-de-roles-y-permisos-rbac.md) - 6 SP
3. [ET-FRONTEND-MGN-001-003: Gestión de Usuarios](frontend/mgn-001/ET-FRONTEND-MGN-001-003-gestión-de-usuarios.md) - 4 SP
4. [ET-FRONTEND-MGN-001-004: Multi-Tenancy con Schema-Level Isolation](frontend/mgn-001/ET-FRONTEND-MGN-001-004-multi-tenancy-con-schema-level-isolation.md) - 6 SP
5. [ET-FRONTEND-MGN-001-005: Reset de Contraseña](frontend/mgn-001/ET-FRONTEND-MGN-001-005-reset-de-contraseña.md) - 2 SP
6. [ET-FRONTEND-MGN-001-006: Registro de Usuarios (Signup)](frontend/mgn-001/ET-FRONTEND-MGN-001-006-registro-de-usuarios-signup.md) - 2 SP
7. [ET-FRONTEND-MGN-001-007: Gestión de Sesiones](frontend/mgn-001/ET-FRONTEND-MGN-001-007-gestión-de-sesiones.md) - 2 SP
8. [ET-FRONTEND-MGN-001-008: Record Rules (Row Level Security)](frontend/mgn-001/ET-FRONTEND-MGN-001-008-record-rules-row-level-security.md) - 6 SP
---
### MGN-002: Empresas y Organizaciones (34 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-002-001: Gestión de Empresas](backend/mgn-002/ET-BACKEND-MGN-002-001-gestión-de-empresas.md) - 4 SP
2. [ET-BACKEND-MGN-002-002: Configuración de Empresa](backend/mgn-002/ET-BACKEND-MGN-002-002-configuración-de-empresa.md) - 2 SP
3. [ET-BACKEND-MGN-002-003: Asignación de Usuarios a Empresas (Multi-Empresa)](backend/mgn-002/ET-BACKEND-MGN-002-003-asignación-de-usuarios-a-empresas-multi-empresa.md) - 4 SP
4. [ET-BACKEND-MGN-002-004: Jerarquías de Empresas (Holdings)](backend/mgn-002/ET-BACKEND-MGN-002-004-jerarquías-de-empresas-holdings.md) - 2 SP
5. [ET-BACKEND-MGN-002-005: Plantillas de Configuración por País](backend/mgn-002/ET-BACKEND-MGN-002-005-plantillas-de-configuración-por-país.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-002-001: Gestión de Empresas](frontend/mgn-002/ET-FRONTEND-MGN-002-001-gestión-de-empresas.md) - 4 SP
2. [ET-FRONTEND-MGN-002-002: Configuración de Empresa](frontend/mgn-002/ET-FRONTEND-MGN-002-002-configuración-de-empresa.md) - 2 SP
3. [ET-FRONTEND-MGN-002-003: Asignación de Usuarios a Empresas (Multi-Empresa)](frontend/mgn-002/ET-FRONTEND-MGN-002-003-asignación-de-usuarios-a-empresas-multi-empresa.md) - 4 SP
4. [ET-FRONTEND-MGN-002-004: Jerarquías de Empresas (Holdings)](frontend/mgn-002/ET-FRONTEND-MGN-002-004-jerarquías-de-empresas-holdings.md) - 2 SP
5. [ET-FRONTEND-MGN-002-005: Plantillas de Configuración por País](frontend/mgn-002/ET-FRONTEND-MGN-002-005-plantillas-de-configuración-por-país.md) - 4 SP
---
### MGN-003: Catálogos Maestros (29 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-003-001: Gestión de Partners Universales](backend/mgn-003/ET-BACKEND-MGN-003-001-gestión-de-partners-universales.md) - 4 SP
2. [ET-BACKEND-MGN-003-002: Gestión de Países y Regiones](backend/mgn-003/ET-BACKEND-MGN-003-002-gestión-de-países-y-regiones.md) - 1 SP
3. [ET-BACKEND-MGN-003-003: Gestión de Monedas y Tasas de Cambio](backend/mgn-003/ET-BACKEND-MGN-003-003-gestión-de-monedas-y-tasas-de-cambio.md) - 2 SP
4. [ET-BACKEND-MGN-003-004: Gestión de Unidades de Medida (UoM)](backend/mgn-003/ET-BACKEND-MGN-003-004-gestión-de-unidades-de-medida-uom.md) - 2 SP
5. [ET-BACKEND-MGN-003-005: Gestión de Categorías de Productos](backend/mgn-003/ET-BACKEND-MGN-003-005-gestión-de-categorías-de-productos.md) - 1 SP
6. [ET-BACKEND-MGN-003-006: Condiciones de Pago (Payment Terms)](backend/mgn-003/ET-BACKEND-MGN-003-006-condiciones-de-pago-payment-terms.md) - 2 SP
#### Frontend
1. [ET-FRONTEND-MGN-003-001: Gestión de Partners Universales](frontend/mgn-003/ET-FRONTEND-MGN-003-001-gestión-de-partners-universales.md) - 4 SP
2. [ET-FRONTEND-MGN-003-002: Gestión de Países y Regiones](frontend/mgn-003/ET-FRONTEND-MGN-003-002-gestión-de-países-y-regiones.md) - 1 SP
3. [ET-FRONTEND-MGN-003-003: Gestión de Monedas y Tasas de Cambio](frontend/mgn-003/ET-FRONTEND-MGN-003-003-gestión-de-monedas-y-tasas-de-cambio.md) - 2 SP
4. [ET-FRONTEND-MGN-003-004: Gestión de Unidades de Medida (UoM)](frontend/mgn-003/ET-FRONTEND-MGN-003-004-gestión-de-unidades-de-medida-uom.md) - 2 SP
5. [ET-FRONTEND-MGN-003-005: Gestión de Categorías de Productos](frontend/mgn-003/ET-FRONTEND-MGN-003-005-gestión-de-categorías-de-productos.md) - 1 SP
6. [ET-FRONTEND-MGN-003-006: Condiciones de Pago (Payment Terms)](frontend/mgn-003/ET-FRONTEND-MGN-003-006-condiciones-de-pago-payment-terms.md) - 2 SP
---
### MGN-004: Financiero Básico (81 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-004-001: Gestión de Plan de Cuentas](backend/mgn-004/ET-BACKEND-MGN-004-001-gestión-de-plan-de-cuentas.md) - 4 SP
2. [ET-BACKEND-MGN-004-002: Gestión de Journals Contables](backend/mgn-004/ET-BACKEND-MGN-004-002-gestión-de-journals-contables.md) - 2 SP
3. [ET-BACKEND-MGN-004-003: Registro de Asientos Contables](backend/mgn-004/ET-BACKEND-MGN-004-003-registro-de-asientos-contables.md) - 6 SP
4. [ET-BACKEND-MGN-004-004: Gestión de Impuestos](backend/mgn-004/ET-BACKEND-MGN-004-004-gestión-de-impuestos.md) - 4 SP
5. [ET-BACKEND-MGN-004-005: Gestión de Facturas de Cliente](backend/mgn-004/ET-BACKEND-MGN-004-005-gestión-de-facturas-de-cliente.md) - 6 SP
6. [ET-BACKEND-MGN-004-006: Gestión de Facturas de Proveedor](backend/mgn-004/ET-BACKEND-MGN-004-006-gestión-de-facturas-de-proveedor.md) - 6 SP
7. [ET-BACKEND-MGN-004-007: Gestión de Pagos y Conciliación](backend/mgn-004/ET-BACKEND-MGN-004-007-gestión-de-pagos-y-conciliación.md) - 6 SP
8. [ET-BACKEND-MGN-004-008: Reportes Financieros (Balance y P&L)](backend/mgn-004/ET-BACKEND-MGN-004-008-reportes-financieros-balance-y-p&l.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-004-001: Gestión de Plan de Cuentas](frontend/mgn-004/ET-FRONTEND-MGN-004-001-gestión-de-plan-de-cuentas.md) - 4 SP
2. [ET-FRONTEND-MGN-004-002: Gestión de Journals Contables](frontend/mgn-004/ET-FRONTEND-MGN-004-002-gestión-de-journals-contables.md) - 2 SP
3. [ET-FRONTEND-MGN-004-003: Registro de Asientos Contables](frontend/mgn-004/ET-FRONTEND-MGN-004-003-registro-de-asientos-contables.md) - 6 SP
4. [ET-FRONTEND-MGN-004-004: Gestión de Impuestos](frontend/mgn-004/ET-FRONTEND-MGN-004-004-gestión-de-impuestos.md) - 4 SP
5. [ET-FRONTEND-MGN-004-005: Gestión de Facturas de Cliente](frontend/mgn-004/ET-FRONTEND-MGN-004-005-gestión-de-facturas-de-cliente.md) - 6 SP
6. [ET-FRONTEND-MGN-004-006: Gestión de Facturas de Proveedor](frontend/mgn-004/ET-FRONTEND-MGN-004-006-gestión-de-facturas-de-proveedor.md) - 6 SP
7. [ET-FRONTEND-MGN-004-007: Gestión de Pagos y Conciliación](frontend/mgn-004/ET-FRONTEND-MGN-004-007-gestión-de-pagos-y-conciliación.md) - 6 SP
8. [ET-FRONTEND-MGN-004-008: Reportes Financieros (Balance y P&L)](frontend/mgn-004/ET-FRONTEND-MGN-004-008-reportes-financieros-balance-y-p&l.md) - 4 SP
---
### MGN-005: Inventario Básico (66 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-005-001: Gestión de Productos](backend/mgn-005/ET-BACKEND-MGN-005-001-gestión-de-productos.md) - 4 SP
2. [ET-BACKEND-MGN-005-002: Gestión de Almacenes y Ubicaciones](backend/mgn-005/ET-BACKEND-MGN-005-002-gestión-de-almacenes-y-ubicaciones.md) - 4 SP
3. [ET-BACKEND-MGN-005-003: Movimientos de Stock](backend/mgn-005/ET-BACKEND-MGN-005-003-movimientos-de-stock.md) - 6 SP
4. [ET-BACKEND-MGN-005-004: Pickings (Albaranes de Entrada/Salida)](backend/mgn-005/ET-BACKEND-MGN-005-004-pickings-albaranes-de-entrada-salida.md) - 4 SP
5. [ET-BACKEND-MGN-005-005: Trazabilidad (Lotes y Números de Serie)](backend/mgn-005/ET-BACKEND-MGN-005-005-trazabilidad-lotes-y-números-de-serie.md) - 4 SP
6. [ET-BACKEND-MGN-005-006: Valoración de Inventario (FIFO, Promedio)](backend/mgn-005/ET-BACKEND-MGN-005-006-valoración-de-inventario-fifo,-promedio.md) - 6 SP
7. [ET-BACKEND-MGN-005-007: Inventario Físico y Ajustes](backend/mgn-005/ET-BACKEND-MGN-005-007-inventario-físico-y-ajustes.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-005-001: Gestión de Productos](frontend/mgn-005/ET-FRONTEND-MGN-005-001-gestión-de-productos.md) - 4 SP
2. [ET-FRONTEND-MGN-005-002: Gestión de Almacenes y Ubicaciones](frontend/mgn-005/ET-FRONTEND-MGN-005-002-gestión-de-almacenes-y-ubicaciones.md) - 4 SP
3. [ET-FRONTEND-MGN-005-003: Movimientos de Stock](frontend/mgn-005/ET-FRONTEND-MGN-005-003-movimientos-de-stock.md) - 6 SP
4. [ET-FRONTEND-MGN-005-004: Pickings (Albaranes de Entrada/Salida)](frontend/mgn-005/ET-FRONTEND-MGN-005-004-pickings-albaranes-de-entrada-salida.md) - 4 SP
5. [ET-FRONTEND-MGN-005-005: Trazabilidad (Lotes y Números de Serie)](frontend/mgn-005/ET-FRONTEND-MGN-005-005-trazabilidad-lotes-y-números-de-serie.md) - 4 SP
6. [ET-FRONTEND-MGN-005-006: Valoración de Inventario (FIFO, Promedio)](frontend/mgn-005/ET-FRONTEND-MGN-005-006-valoración-de-inventario-fifo,-promedio.md) - 6 SP
7. [ET-FRONTEND-MGN-005-007: Inventario Físico y Ajustes](frontend/mgn-005/ET-FRONTEND-MGN-005-007-inventario-físico-y-ajustes.md) - 4 SP
---
### MGN-006: Compras Básico (42 SP)
**Core Phase - P0/P1**
#### Backend
1. [ET-BACKEND-MGN-006-001: Solicitudes de Cotización (RFQ)](backend/mgn-006/ET-BACKEND-MGN-006-001-solicitudes-de-cotización-rfq.md) - 2 SP
2. [ET-BACKEND-MGN-006-002: Gestión de Órdenes de Compra](backend/mgn-006/ET-BACKEND-MGN-006-002-gestión-de-órdenes-de-compra.md) - 6 SP
3. [ET-BACKEND-MGN-006-003: Workflow de Aprobación de Compras](backend/mgn-006/ET-BACKEND-MGN-006-003-workflow-de-aprobación-de-compras.md) - 2 SP
4. [ET-BACKEND-MGN-006-004: Recepciones de Compras](backend/mgn-006/ET-BACKEND-MGN-006-004-recepciones-de-compras.md) - 4 SP
5. [ET-BACKEND-MGN-006-005: Facturación de Proveedores desde Compras](backend/mgn-006/ET-BACKEND-MGN-006-005-facturación-de-proveedores-desde-compras.md) - 4 SP
6. [ET-BACKEND-MGN-006-006: Reportes de Compras](backend/mgn-006/ET-BACKEND-MGN-006-006-reportes-de-compras.md) - 1 SP
#### Frontend
1. [ET-FRONTEND-MGN-006-001: Solicitudes de Cotización (RFQ)](frontend/mgn-006/ET-FRONTEND-MGN-006-001-solicitudes-de-cotización-rfq.md) - 2 SP
2. [ET-FRONTEND-MGN-006-002: Gestión de Órdenes de Compra](frontend/mgn-006/ET-FRONTEND-MGN-006-002-gestión-de-órdenes-de-compra.md) - 6 SP
3. [ET-FRONTEND-MGN-006-003: Workflow de Aprobación de Compras](frontend/mgn-006/ET-FRONTEND-MGN-006-003-workflow-de-aprobación-de-compras.md) - 2 SP
4. [ET-FRONTEND-MGN-006-004: Recepciones de Compras](frontend/mgn-006/ET-FRONTEND-MGN-006-004-recepciones-de-compras.md) - 4 SP
5. [ET-FRONTEND-MGN-006-005: Facturación de Proveedores desde Compras](frontend/mgn-006/ET-FRONTEND-MGN-006-005-facturación-de-proveedores-desde-compras.md) - 4 SP
6. [ET-FRONTEND-MGN-006-006: Reportes de Compras](frontend/mgn-006/ET-FRONTEND-MGN-006-006-reportes-de-compras.md) - 1 SP
---
### MGN-007: Ventas Básico (45 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-007-001: Gestión de Cotizaciones](backend/mgn-007/ET-BACKEND-MGN-007-001-gestión-de-cotizaciones.md) - 4 SP
2. [ET-BACKEND-MGN-007-002: Conversión a Órdenes de Venta](backend/mgn-007/ET-BACKEND-MGN-007-002-conversión-a-órdenes-de-venta.md) - 2 SP
3. [ET-BACKEND-MGN-007-003: Gestión de Órdenes de Venta](backend/mgn-007/ET-BACKEND-MGN-007-003-gestión-de-órdenes-de-venta.md) - 6 SP
4. [ET-BACKEND-MGN-007-004: Entregas de Ventas](backend/mgn-007/ET-BACKEND-MGN-007-004-entregas-de-ventas.md) - 4 SP
5. [ET-BACKEND-MGN-007-005: Facturación de Clientes desde Ventas](backend/mgn-007/ET-BACKEND-MGN-007-005-facturación-de-clientes-desde-ventas.md) - 4 SP
6. [ET-BACKEND-MGN-007-006: Reportes de Ventas](backend/mgn-007/ET-BACKEND-MGN-007-006-reportes-de-ventas.md) - 1 SP
#### Frontend
1. [ET-FRONTEND-MGN-007-001: Gestión de Cotizaciones](frontend/mgn-007/ET-FRONTEND-MGN-007-001-gestión-de-cotizaciones.md) - 4 SP
2. [ET-FRONTEND-MGN-007-002: Conversión a Órdenes de Venta](frontend/mgn-007/ET-FRONTEND-MGN-007-002-conversión-a-órdenes-de-venta.md) - 2 SP
3. [ET-FRONTEND-MGN-007-003: Gestión de Órdenes de Venta](frontend/mgn-007/ET-FRONTEND-MGN-007-003-gestión-de-órdenes-de-venta.md) - 6 SP
4. [ET-FRONTEND-MGN-007-004: Entregas de Ventas](frontend/mgn-007/ET-FRONTEND-MGN-007-004-entregas-de-ventas.md) - 4 SP
5. [ET-FRONTEND-MGN-007-005: Facturación de Clientes desde Ventas](frontend/mgn-007/ET-FRONTEND-MGN-007-005-facturación-de-clientes-desde-ventas.md) - 4 SP
6. [ET-FRONTEND-MGN-007-006: Reportes de Ventas](frontend/mgn-007/ET-FRONTEND-MGN-007-006-reportes-de-ventas.md) - 1 SP
---
### MGN-008: Contabilidad Analítica (35 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-008-001: Gestión de Cuentas Analíticas](backend/mgn-008/ET-BACKEND-MGN-008-001-gestión-de-cuentas-analíticas.md) - 4 SP
2. [ET-BACKEND-MGN-008-002: Registro de Líneas Analíticas](backend/mgn-008/ET-BACKEND-MGN-008-002-registro-de-líneas-analíticas.md) - 4 SP
3. [ET-BACKEND-MGN-008-003: Distribución Analítica Multi-Cuenta](backend/mgn-008/ET-BACKEND-MGN-008-003-distribución-analítica-multi-cuenta.md) - 4 SP
4. [ET-BACKEND-MGN-008-004: Tags Analíticos](backend/mgn-008/ET-BACKEND-MGN-008-004-tags-analíticos.md) - 1 SP
5. [ET-BACKEND-MGN-008-005: Reportes Analíticos (P&L por Proyecto)](backend/mgn-008/ET-BACKEND-MGN-008-005-reportes-analíticos-p&l-por-proyecto.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-008-001: Gestión de Cuentas Analíticas](frontend/mgn-008/ET-FRONTEND-MGN-008-001-gestión-de-cuentas-analíticas.md) - 4 SP
2. [ET-FRONTEND-MGN-008-002: Registro de Líneas Analíticas](frontend/mgn-008/ET-FRONTEND-MGN-008-002-registro-de-líneas-analíticas.md) - 4 SP
3. [ET-FRONTEND-MGN-008-003: Distribución Analítica Multi-Cuenta](frontend/mgn-008/ET-FRONTEND-MGN-008-003-distribución-analítica-multi-cuenta.md) - 4 SP
4. [ET-FRONTEND-MGN-008-004: Tags Analíticos](frontend/mgn-008/ET-FRONTEND-MGN-008-004-tags-analíticos.md) - 1 SP
5. [ET-FRONTEND-MGN-008-005: Reportes Analíticos (P&L por Proyecto)](frontend/mgn-008/ET-FRONTEND-MGN-008-005-reportes-analíticos-p&l-por-proyecto.md) - 4 SP
---
### MGN-009: CRM Básico (31 SP)
**Complementary Phase - P1**
#### Backend
1. [ET-BACKEND-MGN-009-001: Gestión de Leads y Oportunidades](backend/mgn-009/ET-BACKEND-MGN-009-001-gestión-de-leads-y-oportunidades.md) - 4 SP
2. [ET-BACKEND-MGN-009-002: Pipeline de Ventas (Kanban)](backend/mgn-009/ET-BACKEND-MGN-009-002-pipeline-de-ventas-kanban.md) - 4 SP
3. [ET-BACKEND-MGN-009-003: Actividades y Seguimiento](backend/mgn-009/ET-BACKEND-MGN-009-003-actividades-y-seguimiento.md) - 2 SP
4. [ET-BACKEND-MGN-009-004: Lead Scoring y Calificación](backend/mgn-009/ET-BACKEND-MGN-009-004-lead-scoring-y-calificación.md) - 2 SP
5. [ET-BACKEND-MGN-009-005: Conversión a Cotización](backend/mgn-009/ET-BACKEND-MGN-009-005-conversión-a-cotización.md) - 2 SP
#### Frontend
1. [ET-FRONTEND-MGN-009-001: Gestión de Leads y Oportunidades](frontend/mgn-009/ET-FRONTEND-MGN-009-001-gestión-de-leads-y-oportunidades.md) - 4 SP
2. [ET-FRONTEND-MGN-009-002: Pipeline de Ventas (Kanban)](frontend/mgn-009/ET-FRONTEND-MGN-009-002-pipeline-de-ventas-kanban.md) - 4 SP
3. [ET-FRONTEND-MGN-009-003: Actividades y Seguimiento](frontend/mgn-009/ET-FRONTEND-MGN-009-003-actividades-y-seguimiento.md) - 2 SP
4. [ET-FRONTEND-MGN-009-004: Lead Scoring y Calificación](frontend/mgn-009/ET-FRONTEND-MGN-009-004-lead-scoring-y-calificación.md) - 2 SP
5. [ET-FRONTEND-MGN-009-005: Conversión a Cotización](frontend/mgn-009/ET-FRONTEND-MGN-009-005-conversión-a-cotización.md) - 2 SP
---
### MGN-010: RRHH Básico (29 SP)
**Complementary Phase - P1**
#### Backend
1. [ET-BACKEND-MGN-010-001: Gestión de Empleados](backend/mgn-010/ET-BACKEND-MGN-010-001-gestión-de-empleados.md) - 4 SP
2. [ET-BACKEND-MGN-010-002: Departamentos y Puestos](backend/mgn-010/ET-BACKEND-MGN-010-002-departamentos-y-puestos.md) - 1 SP
3. [ET-BACKEND-MGN-010-003: Contratos Laborales](backend/mgn-010/ET-BACKEND-MGN-010-003-contratos-laborales.md) - 2 SP
4. [ET-BACKEND-MGN-010-004: Asistencias (Check-in/Check-out)](backend/mgn-010/ET-BACKEND-MGN-010-004-asistencias-check-in-check-out.md) - 2 SP
5. [ET-BACKEND-MGN-010-005: Ausencias y Permisos](backend/mgn-010/ET-BACKEND-MGN-010-005-ausencias-y-permisos.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-010-001: Gestión de Empleados](frontend/mgn-010/ET-FRONTEND-MGN-010-001-gestión-de-empleados.md) - 4 SP
2. [ET-FRONTEND-MGN-010-002: Departamentos y Puestos](frontend/mgn-010/ET-FRONTEND-MGN-010-002-departamentos-y-puestos.md) - 1 SP
3. [ET-FRONTEND-MGN-010-003: Contratos Laborales](frontend/mgn-010/ET-FRONTEND-MGN-010-003-contratos-laborales.md) - 2 SP
4. [ET-FRONTEND-MGN-010-004: Asistencias (Check-in/Check-out)](frontend/mgn-010/ET-FRONTEND-MGN-010-004-asistencias-check-in-check-out.md) - 2 SP
5. [ET-FRONTEND-MGN-010-005: Ausencias y Permisos](frontend/mgn-010/ET-FRONTEND-MGN-010-005-ausencias-y-permisos.md) - 4 SP
---
### MGN-011: Proyectos Genéricos (40 SP)
**Complementary Phase - P1**
#### Backend
1. [ET-BACKEND-MGN-011-001: Gestión de Proyectos](backend/mgn-011/ET-BACKEND-MGN-011-001-gestión-de-proyectos.md) - 4 SP
2. [ET-BACKEND-MGN-011-002: Gestión de Tareas (Kanban)](backend/mgn-011/ET-BACKEND-MGN-011-002-gestión-de-tareas-kanban.md) - 6 SP
3. [ET-BACKEND-MGN-011-003: Milestones (Hitos)](backend/mgn-011/ET-BACKEND-MGN-011-003-milestones-hitos.md) - 1 SP
4. [ET-BACKEND-MGN-011-004: Timesheet de Proyectos](backend/mgn-011/ET-BACKEND-MGN-011-004-timesheet-de-proyectos.md) - 4 SP
5. [ET-BACKEND-MGN-011-005: Vista Gantt de Proyectos](backend/mgn-011/ET-BACKEND-MGN-011-005-vista-gantt-de-proyectos.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-011-001: Gestión de Proyectos](frontend/mgn-011/ET-FRONTEND-MGN-011-001-gestión-de-proyectos.md) - 4 SP
2. [ET-FRONTEND-MGN-011-002: Gestión de Tareas (Kanban)](frontend/mgn-011/ET-FRONTEND-MGN-011-002-gestión-de-tareas-kanban.md) - 6 SP
3. [ET-FRONTEND-MGN-011-003: Milestones (Hitos)](frontend/mgn-011/ET-FRONTEND-MGN-011-003-milestones-hitos.md) - 1 SP
4. [ET-FRONTEND-MGN-011-004: Timesheet de Proyectos](frontend/mgn-011/ET-FRONTEND-MGN-011-004-timesheet-de-proyectos.md) - 4 SP
5. [ET-FRONTEND-MGN-011-005: Vista Gantt de Proyectos](frontend/mgn-011/ET-FRONTEND-MGN-011-005-vista-gantt-de-proyectos.md) - 4 SP
---
### MGN-012: Reportes y Analytics (39 SP)
**Complementary Phase - P1**
#### Backend
1. [ET-BACKEND-MGN-012-001: Dashboards Configurables](backend/mgn-012/ET-BACKEND-MGN-012-001-dashboards-configurables.md) - 6 SP
2. [ET-BACKEND-MGN-012-002: Query Builder y Reportes Personalizados](backend/mgn-012/ET-BACKEND-MGN-012-002-query-builder-y-reportes-personalizados.md) - 6 SP
3. [ET-BACKEND-MGN-012-003: Exportación de Datos (PDF, Excel, CSV)](backend/mgn-012/ET-BACKEND-MGN-012-003-exportación-de-datos-pdf,-excel,-csv.md) - 2 SP
4. [ET-BACKEND-MGN-012-004: Gráficos y Visualizaciones](backend/mgn-012/ET-BACKEND-MGN-012-004-gráficos-y-visualizaciones.md) - 4 SP
#### Frontend
1. [ET-FRONTEND-MGN-012-001: Dashboards Configurables](frontend/mgn-012/ET-FRONTEND-MGN-012-001-dashboards-configurables.md) - 6 SP
2. [ET-FRONTEND-MGN-012-002: Query Builder y Reportes Personalizados](frontend/mgn-012/ET-FRONTEND-MGN-012-002-query-builder-y-reportes-personalizados.md) - 6 SP
3. [ET-FRONTEND-MGN-012-003: Exportación de Datos (PDF, Excel, CSV)](frontend/mgn-012/ET-FRONTEND-MGN-012-003-exportación-de-datos-pdf,-excel,-csv.md) - 2 SP
4. [ET-FRONTEND-MGN-012-004: Gráficos y Visualizaciones](frontend/mgn-012/ET-FRONTEND-MGN-012-004-gráficos-y-visualizaciones.md) - 4 SP
---
### MGN-013: Portal de Usuarios (29 SP)
**Complementary Phase - P1**
#### Backend
1. [ET-BACKEND-MGN-013-001: Acceso Portal para Clientes](backend/mgn-013/ET-BACKEND-MGN-013-001-acceso-portal-para-clientes.md) - 4 SP
2. [ET-BACKEND-MGN-013-002: Vista de Documentos en Portal](backend/mgn-013/ET-BACKEND-MGN-013-002-vista-de-documentos-en-portal.md) - 4 SP
3. [ET-BACKEND-MGN-013-003: Aprobación y Firma Electrónica](backend/mgn-013/ET-BACKEND-MGN-013-003-aprobación-y-firma-electrónica.md) - 4 SP
4. [ET-BACKEND-MGN-013-004: Mensajería en Portal](backend/mgn-013/ET-BACKEND-MGN-013-004-mensajería-en-portal.md) - 2 SP
#### Frontend
1. [ET-FRONTEND-MGN-013-001: Acceso Portal para Clientes](frontend/mgn-013/ET-FRONTEND-MGN-013-001-acceso-portal-para-clientes.md) - 4 SP
2. [ET-FRONTEND-MGN-013-002: Vista de Documentos en Portal](frontend/mgn-013/ET-FRONTEND-MGN-013-002-vista-de-documentos-en-portal.md) - 4 SP
3. [ET-FRONTEND-MGN-013-003: Aprobación y Firma Electrónica](frontend/mgn-013/ET-FRONTEND-MGN-013-003-aprobación-y-firma-electrónica.md) - 4 SP
4. [ET-FRONTEND-MGN-013-004: Mensajería en Portal](frontend/mgn-013/ET-FRONTEND-MGN-013-004-mensajería-en-portal.md) - 2 SP
---
### MGN-014: Mensajería y Notificaciones (47 SP)
**Core Phase - P0 (MVP)**
#### Backend
1. [ET-BACKEND-MGN-014-001: Sistema de Mensajes (Chatter)](backend/mgn-014/ET-BACKEND-MGN-014-001-sistema-de-mensajes-chatter.md) - 6 SP
2. [ET-BACKEND-MGN-014-002: Notificaciones In-App y Email](backend/mgn-014/ET-BACKEND-MGN-014-002-notificaciones-in-app-y-email.md) - 4 SP
3. [ET-BACKEND-MGN-014-003: Tracking Automático de Cambios](backend/mgn-014/ET-BACKEND-MGN-014-003-tracking-automático-de-cambios.md) - 4 SP
4. [ET-BACKEND-MGN-014-004: Actividades Programadas](backend/mgn-014/ET-BACKEND-MGN-014-004-actividades-programadas.md) - 4 SP
5. [ET-BACKEND-MGN-014-005: Followers (Seguidores)](backend/mgn-014/ET-BACKEND-MGN-014-005-followers-seguidores.md) - 2 SP
6. [ET-BACKEND-MGN-014-006: Templates de Email](backend/mgn-014/ET-BACKEND-MGN-014-006-templates-de-email.md) - 2 SP
#### Frontend
1. [ET-FRONTEND-MGN-014-001: Sistema de Mensajes (Chatter)](frontend/mgn-014/ET-FRONTEND-MGN-014-001-sistema-de-mensajes-chatter.md) - 6 SP
2. [ET-FRONTEND-MGN-014-002: Notificaciones In-App y Email](frontend/mgn-014/ET-FRONTEND-MGN-014-002-notificaciones-in-app-y-email.md) - 4 SP
3. [ET-FRONTEND-MGN-014-003: Tracking Automático de Cambios](frontend/mgn-014/ET-FRONTEND-MGN-014-003-tracking-automático-de-cambios.md) - 4 SP
4. [ET-FRONTEND-MGN-014-004: Actividades Programadas](frontend/mgn-014/ET-FRONTEND-MGN-014-004-actividades-programadas.md) - 4 SP
5. [ET-FRONTEND-MGN-014-005: Followers (Seguidores)](frontend/mgn-014/ET-FRONTEND-MGN-014-005-followers-seguidores.md) - 2 SP
6. [ET-FRONTEND-MGN-014-006: Templates de Email](frontend/mgn-014/ET-FRONTEND-MGN-014-006-templates-de-email.md) - 2 SP
---
## Contenido de cada ET
### ET-Backend
Cada especificación técnica backend incluye:
1. **Metadata:** RF asociado, módulo, complejidad, SP, estado, fecha
2. **Stack Tecnológico:** Node.js, NestJS, Prisma, PostgreSQL
3. **Arquitectura del Endpoint:** Documentación completa de API RESTful
4. **Modelo de Datos:** Prisma schema basado en DDL SQL
5. **DTOs:** Create, Update, Response, Filter (TypeScript + class-validator)
6. **Servicios de Negocio:** Service completo con CRUD + validaciones
7. **Controller:** NestJS controller con decorators Swagger
8. **Reglas de Negocio:** Implementación de RN del RF
9. **Seguridad:** Multi-tenancy (RLS), RBAC, validación, auditoría
10. **Testing:** Unit tests (Jest) + Integration tests (Supertest)
11. **Performance:** Índices, caching, paginación, optimizaciones
12. **Logging y Monitoreo:** Winston + Prometheus
13. **Referencias:** RF, database schema, domain model, ADRs
14. **Dependencias:** Módulos NestJS, RF bloqueantes
15. **Notas de Implementación:** Checklist de tareas
16. **Estimación:** Breakdown de SP (dev + testing + review)
### ET-Frontend
Cada especificación técnica frontend incluye:
1. **Metadata:** RF asociado, ET backend, módulo, complejidad, SP
2. **Stack Tecnológico:** React, TypeScript, Vite, Ant Design, Zustand, React Query
3. **Arquitectura FSD:** Feature-Sliced Design structure
4. **Rutas:** React Router paths
5. **Types/Interfaces:** TypeScript interfaces
6. **Schemas de Validación:** Zod schemas
7. **API Client:** Axios client + interceptors
8. **State Management:** Zustand store + React Query hooks
9. **Components UI:** Table, Form, Modal, Page (código completo)
10. **Validaciones del Cliente:** Zod + custom validators
11. **UX/UI:** Diseño, feedback, responsiveness
12. **Permisos:** RBAC en UI (usePermissions hook)
13. **Testing:** Component tests (Vitest) + E2E (Playwright)
14. **Performance:** Lazy loading, memoization, virtualization, debounce
15. **Referencias:** RF, ET backend, patterns, ADRs
16. **Dependencias:** Módulos frontend, RF bloqueantes
17. **Notas de Implementación:** Checklist de tareas
18. **Estimación:** Breakdown de SP
---
## Patrones y Estándares
### Backend Patterns
- **Framework:** NestJS 10.x (modular, dependency injection)
- **ORM:** Prisma 5.x (type-safe, migrations)
- **Database:** PostgreSQL 16 (multi-schema, RLS)
- **Auth:** JWT + Refresh tokens (Passport.js)
- **Validation:** class-validator + class-transformer
- **Testing:** Jest + Supertest (>80% coverage)
- **API Docs:** Swagger/OpenAPI 3.0
- **Logging:** Winston (structured logs)
- **Caching:** Redis (listas maestras, TTL 1h)
### Frontend Patterns
- **Framework:** React 18 + TypeScript 5
- **Build:** Vite 5 (fast HMR, optimized bundles)
- **UI Library:** Ant Design 5 (enterprise-grade)
- **Architecture:** Feature-Sliced Design (FSD)
- **State:** Zustand (UI) + React Query (server)
- **Forms:** React Hook Form + Zod validation
- **Testing:** Vitest + React Testing Library + Playwright
- **Routing:** React Router 6
- **HTTP:** Axios (interceptors para auth)
### Cross-Cutting Concerns
- **Multi-Tenancy:** Schema-level isolation + RLS
- **RBAC:** Permisos granulares por módulo.recurso.acción
- **Auditoría:** createdBy, updatedBy, deletedAt en todas las entidades
- **Soft Delete:** deletedAt en lugar de borrado físico
- **I18n:** Español (default), preparado para multi-idioma
- **Error Handling:** Mensajes claros, códigos HTTP estándar
- **Security:** XSS prevention, SQL injection prevention, rate limiting
---
## Nomenclatura y Convenciones
### Archivos ET
- **Backend:** `ET-BACKEND-MGN-XXX-YYY-descripcion.md`
- **Frontend:** `ET-FRONTEND-MGN-XXX-YYY-descripcion.md`
- Ejemplo: `ET-BACKEND-MGN-001-001-autenticacion-usuarios.md`
### Código TypeScript
- **Clases:** PascalCase (`UserService`, `CreateUserDto`)
- **Funciones/métodos:** camelCase (`findAll`, `validateBusinessRules`)
- **Variables:** camelCase (`userId`, `tenantId`)
- **Constantes:** UPPER_SNAKE_CASE (`API_BASE_URL`)
- **Interfaces:** PascalCase con prefijo I opcional (`User`, `CreateUserDto`)
- **Types:** PascalCase (`UserStatus`, `FilterParams`)
### Base de Datos
- **Schemas:** lowercase (`auth`, `core`, `financial`)
- **Tablas:** lowercase con underscore (`users`, `login_history`)
- **Columnas:** lowercase con underscore (`tenant_id`, `created_at`)
- **Índices:** `idx_tabla_columna` (`idx_users_tenant_id`)
- **FKs:** `fk_tabla1_tabla2` (`fk_users_tenants`)
### API Endpoints
- **Base:** `/api/v1/`
- **Resources:** kebab-case (`/users`, `/chart-of-accounts`)
- **Ejemplo:** `POST /api/v1/users`, `GET /api/v1/auth/login`
---
## Métricas y Estadísticas
### Distribución de Complejidad
| Complejidad | Backend | Frontend | Total | % |
|-------------|---------|----------|-------|---|
| Alta (13+ SP) | 12 | 12 | 24 | 15% |
| Media (8-12 SP) | 34 | 34 | 68 | 42.5% |
| Baja (3-7 SP) | 34 | 34 | 68 | 42.5% |
| **Total** | **80** | **80** | **160** | **100%** |
### Distribución por Prioridad
| Prioridad | Backend | Frontend | Total | SP | % SP |
|-----------|---------|----------|-------|-----|------|
| P0 (MVP) | 52 | 52 | 104 | 462 SP | 69% |
| P1 (Post-MVP) | 23 | 23 | 46 | 169 SP | 25% |
| P2 (Futuro) | 5 | 5 | 10 | 42 SP | 6% |
| **Total** | **80** | **80** | **160** | **673 SP** | **100%** |
### Líneas de Código (Estimado)
- **Backend:** ~80,000 LOC (promedio 1,000 LOC por ET)
- **Frontend:** ~80,000 LOC (promedio 1,000 LOC por ET)
- **Total:** ~160,000 LOC
### Cobertura de Tests (Target)
- **Unit Tests:** >80% coverage
- **Integration Tests:** Endpoints críticos (CRUD completo)
- **E2E Tests:** Flujos principales de usuario
---
## Roadmap de Implementación
### Fase 1: Core MVP (P0) - 52 RF = 104 ET
**Duración:** 23 sprints (~46 semanas)
#### Sprint 1-4: Fundamentos (MGN-001, MGN-002, MGN-003)
- Autenticación, usuarios, roles, permisos
- Multi-tenancy, multi-empresa
- Catálogos maestros (partners, países, monedas, UoM)
#### Sprint 5-10: Financiero e Inventario (MGN-004, MGN-005)
- Plan de cuentas, journals, asientos contables
- Impuestos, facturas, pagos
- Productos, almacenes, movimientos de stock
#### Sprint 11-16: Compras y Ventas (MGN-006, MGN-007)
- Órdenes de compra, recepciones, facturas proveedor
- Cotizaciones, órdenes venta, entregas, facturas cliente
#### Sprint 17-20: Analítica y Mensajería (MGN-008, MGN-014)
- Cuentas analíticas, líneas, reportes P&L
- Chatter, notificaciones, tracking, followers
#### Sprint 21-23: Testing y QA Final
- Integration testing completo
- Performance testing
- Security audit
- Bug fixing
### Fase 2: Complementary (P1) - 23 RF = 46 ET
**Duración:** 11 sprints (~22 semanas)
#### Sprint 24-27: CRM y RRHH (MGN-009, MGN-010)
- Leads, pipeline, actividades
- Empleados, contratos, asistencias, ausencias
#### Sprint 28-31: Proyectos y Reportes (MGN-011, MGN-012)
- Proyectos, tareas Kanban, timesheets
- Dashboards, query builder, gráficos
#### Sprint 32-34: Portal (MGN-013)
- Acceso portal, documentos
- Firma electrónica, mensajería
### Fase 3: Avanzado (P2) - 5 RF = 10 ET
**Duración:** 3 sprints (~6 semanas)
- Lead scoring, vista Gantt, query builder avanzado
---
## Referencias
- **RF (Requerimientos Funcionales):** [../requerimientos-funcionales/README.md](../requerimientos-funcionales/README.md)
- **Database Design:** [../database-design/README.md](../database-design/README.md)
- **Domain Models:** [../domain-models/](../domain-models/)
- **ADRs:** [../../adr/](../../adr/)
- **Gap Analysis:** [../../01-definicion-modulos/gaps/](../../01-definicion-modulos/gaps/)
- **Gamilit Patterns:** [../../00-analisis-referencias/gamilit/](../../00-analisis-referencias/gamilit/)
---
## Equipo Técnico
- **Tech Lead / Solution Architect:** Definición de especificaciones técnicas
- **Backend Developers:** Implementación NestJS + Prisma
- **Frontend Developers:** Implementación React + Ant Design
- **QA Engineers:** Testing (unit + integration + e2e)
- **DevOps:** CI/CD, deployment, monitoring
---
## Próximos Pasos
1. **Revisión Técnica:** Validar especificaciones con equipo de desarrollo
2. **Setup de Proyecto:** Inicializar repos backend y frontend
3. **Configuración de CI/CD:** GitHub Actions, linters, tests
4. **Sprint Planning:** Asignar ET a sprints según roadmap
5. **Inicio de Desarrollo:** Comenzar por MGN-001 (Fundamentos)
---
## Notas Importantes
- **Código TypeScript Real:** Todos los ET incluyen código implementable, no pseudocódigo
- **Trazabilidad Completa:** Cada ET referencia RF, BD, domain models
- **Tests Incluidos:** Unit tests y e2e tests en cada ET
- **DTOs Sincronizados:** Backend (class-validator) y Frontend (Zod) usan mismas reglas
- **Documentación Swagger:** Todos los endpoints documentados con @ApiTags, @ApiOperation
- **Feature-Sliced Design:** Frontend organizado en entities, features, widgets, pages
---
**Documento generado:** 2025-11-24
**Versión:** 1.0
**Estado:** Completo
**Total Páginas de Documentación:** 160 ET + 1 README = 161 archivos
**Total Story Points:** 673 SP
**Duración Estimada MVP:** 23 sprints (~46 semanas)
**Duración Total (MVP + P1):** 34 sprints (~68 semanas)