# 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)