erp-construccion/docs/02-definicion-modulos/MAE-010-tesoreria/implementacion/TRACEABILITY.yml

1061 lines
34 KiB
YAML

# ============================================================================
# MATRIZ DE TRAZABILIDAD - MAE-010 Tesorería
# ============================================================================
# Proyecto: ERP Suite - Construcción
# Módulo: MAE-010 - Gestión de Tesorería
# Versión: 1.0.0
# Última actualización: 2025-12-06
# ============================================================================
metadata:
module_id: MAE-010
module_name: Gestión de Tesorería
vertical: Construcción
phase: Fase Core Business
version: 1.0.0
status: in_design
last_updated: 2025-12-06
owner: Equipo Construcción
# Métricas de reutilización
reuse_metrics:
core_reuse_percentage: 70
custom_development_percentage: 30
estimated_effort_reduction: 65
core_components_used: 12
custom_components: 5
# Dependencias del Core
core_dependencies:
- MGN-001 # Gestión de Usuarios
- MGN-002 # Control de Acceso (RBAC)
- MGN-003 # Multi-Tenancy
- MGN-004 # Multi-Empresa
- MGN-005 # Catálogos
- MGN-006 # Configuración
- MGN-007 # Auditoría
- MGN-008 # Notificaciones
- MGN-009 # Reportes
- MGN-010 # Financiero (Core)
# ============================================================================
# REQUERIMIENTOS FUNCIONALES
# ============================================================================
functional_requirements:
# --------------------------------------------------------------------------
# RF-001: Gestión de Bancos
# --------------------------------------------------------------------------
- id: RF-MAE-010-001
name: Gestión de Bancos
description: Administración completa de cuentas bancarias y entidades financieras
priority: CRITICAL
status: pending
complexity: HIGH
business_rules:
- id: BR-001-001
description: Cada cuenta bancaria debe estar asociada a una empresa y proyecto
validation: Validación obligatoria de empresa y proyecto al crear cuenta
- id: BR-001-002
description: Control de saldos en tiempo real por cuenta bancaria
validation: Actualización automática de saldos con cada transacción
- id: BR-001-003
description: Límites de saldo mínimo y máximo configurables
validation: Alertas automáticas al exceder límites configurados
- id: BR-001-004
description: Soporte para múltiples monedas por cuenta
validation: Conversión automática según tipo de cambio del día
- id: BR-001-005
description: Control de cuentas activas/inactivas con bloqueo de transacciones
validation: Validación de estado antes de permitir movimientos
user_stories:
- id: US-001-001
title: Registrar nueva cuenta bancaria
as_a: Gerente Financiero
i_want: Registrar una nueva cuenta bancaria
so_that: Pueda gestionar los fondos del proyecto
acceptance_criteria:
- Formulario con datos de banco y cuenta
- Asociación obligatoria a empresa y proyecto
- Configuración de moneda y saldos iniciales
- Definición de límites de operación
- Validación de número de cuenta único
priority: HIGH
story_points: 5
- id: US-001-002
title: Consultar saldos bancarios
as_a: Tesorero
i_want: Consultar saldos actuales de todas las cuentas
so_that: Pueda conocer la disponibilidad de efectivo
acceptance_criteria:
- Dashboard con saldos por cuenta
- Filtros por empresa, proyecto y banco
- Visualización en múltiples monedas
- Indicadores de alertas por límites
- Exportación de reportes de saldos
priority: HIGH
story_points: 8
- id: US-001-003
title: Configurar límites de cuentas
as_a: Director Financiero
i_want: Configurar límites mínimos y máximos por cuenta
so_that: Pueda controlar el flujo de efectivo automáticamente
acceptance_criteria:
- Definición de saldo mínimo requerido
- Definición de saldo máximo permitido
- Configuración de alertas por umbrales
- Notificaciones automáticas a responsables
- Histórico de cambios en límites
priority: MEDIUM
story_points: 5
technical_requirements:
- id: TR-001-001
description: API REST para gestión CRUD de cuentas bancarias
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-010
- id: TR-001-002
description: Modelo de datos extendido para cuentas por proyecto
component: database
technology: PostgreSQL
core_reuse: true
customization: Campos adicionales para proyecto y límites
- id: TR-001-003
description: Servicio de cálculo de saldos en tiempo real
component: backend
technology: NestJS + Redis
core_reuse: true
core_module: MGN-010
- id: TR-001-004
description: UI para gestión de cuentas bancarias
component: frontend
technology: Angular
core_reuse: true
customization: Campos específicos de construcción
- id: TR-001-005
description: Sistema de alertas por límites de saldo
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-008
test_cases:
- id: TC-001-001
description: Crear cuenta bancaria con datos válidos
type: functional
priority: HIGH
- id: TC-001-002
description: Validar unicidad de número de cuenta
type: functional
priority: HIGH
- id: TC-001-003
description: Verificar actualización de saldos en tiempo real
type: functional
priority: CRITICAL
- id: TC-001-004
description: Probar alertas por límites de saldo
type: functional
priority: MEDIUM
- id: TC-001-005
description: Validar conversión de monedas
type: functional
priority: HIGH
dependencies:
core_modules:
- MGN-003 # Multi-Tenancy
- MGN-004 # Multi-Empresa
- MGN-005 # Catálogos (bancos, monedas)
- MGN-008 # Notificaciones
- MGN-010 # Financiero Core
custom_modules: []
external_services:
- name: Servicio de Tipos de Cambio
type: API externa
required: true
# --------------------------------------------------------------------------
# RF-002: Flujo de Efectivo
# --------------------------------------------------------------------------
- id: RF-MAE-010-002
name: Flujo de Efectivo
description: Proyección y control del flujo de efectivo por proyecto
priority: CRITICAL
status: pending
complexity: VERY_HIGH
business_rules:
- id: BR-002-001
description: Proyección de flujo basada en estimaciones de obra
validation: Integración con cronograma y presupuesto de proyecto
- id: BR-002-002
description: Actualización automática con ingresos y egresos reales
validation: Sincronización con módulos de facturación y pagos
- id: BR-002-003
description: Análisis de variaciones entre flujo proyectado y real
validation: Cálculo automático de desviaciones y alertas
- id: BR-002-004
description: Proyección multi-período (semanal, mensual, trimestral)
validation: Configuración flexible de períodos de análisis
- id: BR-002-005
description: Control de flujo negativo con alertas tempranas
validation: Notificaciones 15 días antes de flujo negativo proyectado
user_stories:
- id: US-002-001
title: Proyectar flujo de efectivo
as_a: Gerente de Proyecto
i_want: Proyectar el flujo de efectivo de mi obra
so_that: Pueda anticipar necesidades de financiamiento
acceptance_criteria:
- Integración con presupuesto del proyecto
- Definición de ingresos esperados por estimación
- Programación de egresos por partida
- Visualización en línea de tiempo
- Escenarios optimista/realista/pesimista
priority: CRITICAL
story_points: 13
- id: US-002-002
title: Monitorear flujo real vs proyectado
as_a: Director Financiero
i_want: Comparar el flujo real contra el proyectado
so_that: Pueda identificar desviaciones y tomar acciones
acceptance_criteria:
- Dashboard comparativo real vs proyectado
- Indicadores de variación por período
- Análisis de causas de desviación
- Alertas automáticas por desviaciones >15%
- Reportes de tendencias
priority: HIGH
story_points: 13
- id: US-002-003
title: Simular escenarios de flujo
as_a: Tesorero
i_want: Simular diferentes escenarios de flujo de efectivo
so_that: Pueda planificar estrategias financieras
acceptance_criteria:
- Creación de escenarios personalizados
- Ajuste de variables clave (pagos, cobros, plazos)
- Comparación entre escenarios
- Análisis de sensibilidad
- Exportación de simulaciones
priority: MEDIUM
story_points: 8
technical_requirements:
- id: TR-002-001
description: Motor de proyección de flujo de efectivo
component: backend
technology: NestJS
core_reuse: false
custom_development: true
- id: TR-002-002
description: Integración con módulo de presupuestos
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-010
- id: TR-002-003
description: Servicio de análisis de variaciones
component: backend
technology: NestJS + Python (Analytics)
core_reuse: false
custom_development: true
- id: TR-002-004
description: UI de visualización de flujo de efectivo
component: frontend
technology: Angular + Chart.js
core_reuse: false
custom_development: true
- id: TR-002-005
description: Sistema de alertas por flujo negativo
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-008
test_cases:
- id: TC-002-001
description: Proyectar flujo basado en presupuesto
type: functional
priority: CRITICAL
- id: TC-002-002
description: Actualizar flujo con transacciones reales
type: functional
priority: CRITICAL
- id: TC-002-003
description: Calcular variaciones real vs proyectado
type: functional
priority: HIGH
- id: TC-002-004
description: Generar alertas por flujo negativo
type: functional
priority: HIGH
- id: TC-002-005
description: Simular escenarios con diferentes variables
type: functional
priority: MEDIUM
dependencies:
core_modules:
- MGN-008 # Notificaciones
- MGN-009 # Reportes
- MGN-010 # Financiero Core
custom_modules:
- MAE-007 # Presupuestos
- MAE-008 # Estimaciones
external_services: []
# --------------------------------------------------------------------------
# RF-003: Conciliaciones Bancarias
# --------------------------------------------------------------------------
- id: RF-MAE-010-003
name: Conciliaciones Bancarias
description: Proceso de conciliación automática y manual de movimientos bancarios
priority: HIGH
status: pending
complexity: HIGH
business_rules:
- id: BR-003-001
description: Conciliación automática por importe y fecha
validation: Matching automático con tolerancia configurable
- id: BR-003-002
description: Gestión de partidas en tránsito
validation: Identificación y seguimiento de movimientos pendientes
- id: BR-003-003
description: Control de diferencias por investigar
validation: Registro y seguimiento de discrepancias
- id: BR-003-004
description: Cierre mensual obligatorio de conciliaciones
validation: Bloqueo de período anterior al aprobar conciliación
- id: BR-003-005
description: Importación de estados de cuenta bancarios
validation: Soporte para formatos XML, CSV, PDF
user_stories:
- id: US-003-001
title: Importar estado de cuenta bancario
as_a: Contador
i_want: Importar el estado de cuenta del banco
so_that: Pueda iniciar el proceso de conciliación
acceptance_criteria:
- Importación desde XML, CSV o PDF
- Mapeo automático de campos
- Validación de formato y datos
- Vista previa antes de confirmar
- Registro de archivo importado
priority: HIGH
story_points: 8
- id: US-003-002
title: Conciliar automáticamente movimientos
as_a: Contador
i_want: Ejecutar conciliación automática
so_that: Ahorre tiempo en el proceso de conciliación
acceptance_criteria:
- Matching por importe exacto y fecha ±3 días
- Matching por referencia bancaria
- Tolerancia configurable de diferencias
- Reporte de movimientos conciliados
- Lista de partidas sin conciliar
priority: HIGH
story_points: 13
- id: US-003-003
title: Conciliar manualmente movimientos
as_a: Contador
i_want: Conciliar manualmente movimientos no automáticos
so_that: Pueda completar la conciliación del período
acceptance_criteria:
- Vista lado a lado: banco vs sistema
- Selección manual de movimientos a conciliar
- Registro de notas y observaciones
- Creación de ajustes contables
- Confirmación de conciliación
priority: HIGH
story_points: 8
- id: US-003-004
title: Cerrar período de conciliación
as_a: Gerente Financiero
i_want: Cerrar y aprobar la conciliación mensual
so_that: Pueda garantizar la integridad de la información
acceptance_criteria:
- Validación de conciliación completa
- Reporte de diferencias pendientes
- Workflow de aprobación
- Bloqueo de período conciliado
- Generación de reporte final
priority: MEDIUM
story_points: 5
technical_requirements:
- id: TR-003-001
description: Servicio de importación de estados de cuenta
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-010
- id: TR-003-002
description: Motor de conciliación automática
component: backend
technology: NestJS + Algoritmos de matching
core_reuse: true
core_module: MGN-010
customization: Reglas específicas de construcción
- id: TR-003-003
description: API para conciliación manual
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-010
- id: TR-003-004
description: UI de conciliación bancaria
component: frontend
technology: Angular
core_reuse: true
customization: Vista específica para proyectos
- id: TR-003-005
description: Servicio de cierre y aprobación de conciliaciones
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-010
test_cases:
- id: TC-003-001
description: Importar estado de cuenta en formato XML
type: functional
priority: HIGH
- id: TC-003-002
description: Conciliar automáticamente por importe exacto
type: functional
priority: CRITICAL
- id: TC-003-003
description: Conciliar manualmente con diferencias
type: functional
priority: HIGH
- id: TC-003-004
description: Cerrar período con validaciones
type: functional
priority: HIGH
- id: TC-003-005
description: Verificar bloqueo de período cerrado
type: functional
priority: MEDIUM
dependencies:
core_modules:
- MGN-007 # Auditoría
- MGN-010 # Financiero Core
custom_modules: []
external_services:
- name: Parser de documentos PDF
type: Librería externa
required: true
# --------------------------------------------------------------------------
# RF-004: Pagos Programados
# --------------------------------------------------------------------------
- id: RF-MAE-010-004
name: Pagos Programados
description: Gestión y automatización de pagos recurrentes y programados
priority: HIGH
status: pending
complexity: MEDIUM
business_rules:
- id: BR-004-001
description: Programación de pagos recurrentes (semanales, mensuales)
validation: Configuración de frecuencia y fechas de ejecución
- id: BR-004-002
description: Aprobación multi-nivel según monto del pago
validation: Workflow de aprobación configurable por rangos
- id: BR-004-003
description: Generación automática de órdenes de pago
validation: Creación de documentos según calendario
- id: BR-004-004
description: Control de disponibilidad de fondos antes de ejecutar
validation: Validación de saldo disponible al momento del pago
- id: BR-004-005
description: Notificaciones previas a ejecución de pagos
validation: Alertas 24 horas antes del pago programado
user_stories:
- id: US-004-001
title: Programar pagos recurrentes
as_a: Tesorero
i_want: Programar pagos recurrentes
so_that: Automatice los pagos regulares a proveedores
acceptance_criteria:
- Selección de proveedor y concepto
- Definición de monto y moneda
- Configuración de frecuencia (semanal/mensual)
- Definición de cuenta bancaria origen
- Fecha de inicio y fin de programación
priority: HIGH
story_points: 8
- id: US-004-002
title: Aprobar pagos programados
as_a: Gerente Financiero
i_want: Aprobar o rechazar pagos programados
so_that: Pueda mantener control sobre los egresos
acceptance_criteria:
- Bandeja de pagos pendientes de aprobación
- Visualización de detalles del pago
- Verificación de disponibilidad de fondos
- Opción de aprobar/rechazar con comentarios
- Notificación al solicitante
priority: HIGH
story_points: 5
- id: US-004-003
title: Ejecutar pagos automáticamente
as_a: Sistema
i_want: Ejecutar pagos programados automáticamente
so_that: Se procesen los pagos en las fechas configuradas
acceptance_criteria:
- Job programado que revisa pagos del día
- Validación de aprobaciones requeridas
- Verificación de saldo disponible
- Generación de orden de pago
- Notificación de ejecución exitosa
priority: HIGH
story_points: 8
- id: US-004-004
title: Consultar calendario de pagos
as_a: Director Financiero
i_want: Consultar el calendario de pagos programados
so_that: Pueda planificar la disponibilidad de efectivo
acceptance_criteria:
- Vista de calendario mensual
- Lista de pagos por fecha
- Filtros por proyecto, proveedor, estado
- Exportación a Excel
- Indicadores de alertas por fondos insuficientes
priority: MEDIUM
story_points: 5
technical_requirements:
- id: TR-004-001
description: API para gestión de pagos programados
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-010
- id: TR-004-002
description: Scheduler para ejecución automática de pagos
component: backend
technology: NestJS + Bull Queue
core_reuse: true
core_module: MGN-010
- id: TR-004-003
description: Workflow de aprobación de pagos
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-002
- id: TR-004-004
description: UI de calendario y gestión de pagos
component: frontend
technology: Angular + FullCalendar
core_reuse: true
customization: Vista específica de construcción
- id: TR-004-005
description: Sistema de notificaciones de pagos
component: backend
technology: NestJS
core_reuse: true
core_module: MGN-008
test_cases:
- id: TC-004-001
description: Crear pago programado recurrente
type: functional
priority: HIGH
- id: TC-004-002
description: Aprobar pago con workflow multi-nivel
type: functional
priority: HIGH
- id: TC-004-003
description: Ejecutar pago automáticamente en fecha programada
type: functional
priority: CRITICAL
- id: TC-004-004
description: Validar fondos insuficientes al ejecutar
type: functional
priority: HIGH
- id: TC-004-005
description: Generar notificaciones previas a ejecución
type: functional
priority: MEDIUM
dependencies:
core_modules:
- MGN-002 # RBAC (aprobaciones)
- MGN-008 # Notificaciones
- MGN-010 # Financiero Core
custom_modules:
- MAE-009 # Proveedores
external_services: []
# ============================================================================
# MATRIZ DE TRAZABILIDAD
# ============================================================================
traceability_matrix:
# RF-001: Gestión de Bancos
- requirement_id: RF-MAE-010-001
requirement_name: Gestión de Bancos
business_rules: [BR-001-001, BR-001-002, BR-001-003, BR-001-004, BR-001-005]
user_stories: [US-001-001, US-001-002, US-001-003]
technical_requirements: [TR-001-001, TR-001-002, TR-001-003, TR-001-004, TR-001-005]
test_cases: [TC-001-001, TC-001-002, TC-001-003, TC-001-004, TC-001-005]
implementation_status: pending
test_coverage: 0
# RF-002: Flujo de Efectivo
- requirement_id: RF-MAE-010-002
requirement_name: Flujo de Efectivo
business_rules: [BR-002-001, BR-002-002, BR-002-003, BR-002-004, BR-002-005]
user_stories: [US-002-001, US-002-002, US-002-003]
technical_requirements: [TR-002-001, TR-002-002, TR-002-003, TR-002-004, TR-002-005]
test_cases: [TC-002-001, TC-002-002, TC-002-003, TC-002-004, TC-002-005]
implementation_status: pending
test_coverage: 0
# RF-003: Conciliaciones Bancarias
- requirement_id: RF-MAE-010-003
requirement_name: Conciliaciones Bancarias
business_rules: [BR-003-001, BR-003-002, BR-003-003, BR-003-004, BR-003-005]
user_stories: [US-003-001, US-003-002, US-003-003, US-003-004]
technical_requirements: [TR-003-001, TR-003-002, TR-003-003, TR-003-004, TR-003-005]
test_cases: [TC-003-001, TC-003-002, TC-003-003, TC-003-004, TC-003-005]
implementation_status: pending
test_coverage: 0
# RF-004: Pagos Programados
- requirement_id: RF-MAE-010-004
requirement_name: Pagos Programados
business_rules: [BR-004-001, BR-004-002, BR-004-003, BR-004-004, BR-004-005]
user_stories: [US-004-001, US-004-002, US-004-003, US-004-004]
technical_requirements: [TR-004-001, TR-004-002, TR-004-003, TR-004-004, TR-004-005]
test_cases: [TC-004-001, TC-004-002, TC-004-003, TC-004-004, TC-004-005]
implementation_status: pending
test_coverage: 0
# ============================================================================
# COMPONENTES REUTILIZADOS DEL CORE
# ============================================================================
core_components_reused:
# Módulo Financiero Core
- component_id: MGN-010-ACCOUNTS
component_name: Gestión de Cuentas Bancarias
core_module: MGN-010
reuse_percentage: 80
customization_needed:
- Asociación a proyectos de construcción
- Límites de saldo por proyecto
- Campos específicos de construcción
- component_id: MGN-010-TRANSACTIONS
component_name: Registro de Transacciones Bancarias
core_module: MGN-010
reuse_percentage: 90
customization_needed:
- Clasificación por tipo de gasto de obra
- component_id: MGN-010-RECONCILIATION
component_name: Motor de Conciliación Bancaria
core_module: MGN-010
reuse_percentage: 85
customization_needed:
- Reglas de matching específicas
- Integración con estimaciones
- component_id: MGN-010-PAYMENTS
component_name: Gestión de Pagos
core_module: MGN-010
reuse_percentage: 75
customization_needed:
- Workflow de aprobación por proyecto
- Integración con retenciones de obra
# Módulo de Notificaciones
- component_id: MGN-008-ALERTS
component_name: Sistema de Alertas
core_module: MGN-008
reuse_percentage: 100
customization_needed: []
# Módulo de Reportes
- component_id: MGN-009-FINANCIAL-REPORTS
component_name: Reportes Financieros
core_module: MGN-009
reuse_percentage: 70
customization_needed:
- Reportes específicos de flujo de obra
- Dashboards de tesorería por proyecto
# Módulo de Catálogos
- component_id: MGN-005-BANKS
component_name: Catálogo de Bancos
core_module: MGN-005
reuse_percentage: 100
customization_needed: []
- component_id: MGN-005-CURRENCIES
component_name: Catálogo de Monedas
core_module: MGN-005
reuse_percentage: 100
customization_needed: []
# Módulo de Auditoría
- component_id: MGN-007-AUDIT-LOG
component_name: Registro de Auditoría
core_module: MGN-007
reuse_percentage: 100
customization_needed: []
# Módulo RBAC
- component_id: MGN-002-WORKFLOWS
component_name: Workflows de Aprobación
core_module: MGN-002
reuse_percentage: 90
customization_needed:
- Niveles de aprobación por monto en construcción
# Módulo Multi-Tenancy
- component_id: MGN-003-TENANT-ISOLATION
component_name: Aislamiento de Datos
core_module: MGN-003
reuse_percentage: 100
customization_needed: []
# Módulo Multi-Empresa
- component_id: MGN-004-COMPANY-CONTEXT
component_name: Contexto de Empresa
core_module: MGN-004
reuse_percentage: 100
customization_needed: []
# ============================================================================
# COMPONENTES CUSTOM
# ============================================================================
custom_components:
- component_id: MAE-010-CASHFLOW-ENGINE
component_name: Motor de Proyección de Flujo de Efectivo
description: Componente específico para proyectar flujo basado en cronograma de obra
complexity: VERY_HIGH
estimated_effort: 21 story_points
technologies:
- NestJS
- Python (Analytics)
- PostgreSQL
integration_points:
- MAE-007 # Presupuestos
- MAE-008 # Estimaciones
- MAE-003 # Cronograma
- component_id: MAE-010-CASHFLOW-UI
component_name: UI de Visualización de Flujo de Efectivo
description: Interfaz especializada para análisis de flujo de construcción
complexity: HIGH
estimated_effort: 13 story_points
technologies:
- Angular
- Chart.js
- D3.js
integration_points:
- MAE-010-CASHFLOW-ENGINE
- component_id: MAE-010-VARIANCE-ANALYSIS
component_name: Análisis de Variaciones
description: Componente para análisis de desviaciones real vs proyectado
complexity: MEDIUM
estimated_effort: 8 story_points
technologies:
- NestJS
- Python (Pandas)
integration_points:
- MAE-010-CASHFLOW-ENGINE
- component_id: MAE-010-SCENARIO-SIMULATOR
component_name: Simulador de Escenarios
description: Herramienta para simular diferentes escenarios de flujo
complexity: MEDIUM
estimated_effort: 8 story_points
technologies:
- NestJS
- Angular
integration_points:
- MAE-010-CASHFLOW-ENGINE
- component_id: MAE-010-PROJECT-ACCOUNTS
component_name: Extensión de Cuentas por Proyecto
description: Lógica específica para manejo de cuentas por proyecto
complexity: LOW
estimated_effort: 5 story_points
technologies:
- NestJS
- PostgreSQL
integration_points:
- MGN-010 # Financiero Core
- MAE-001 # Proyectos
# ============================================================================
# PLAN DE IMPLEMENTACIÓN
# ============================================================================
implementation_plan:
phases:
- phase: 1
name: Configuración Base
duration_weeks: 2
requirements:
- RF-MAE-010-001 # Gestión de Bancos
components:
- MAE-010-PROJECT-ACCOUNTS
- MGN-010-ACCOUNTS (extensión)
story_points: 18
- phase: 2
name: Pagos y Transacciones
duration_weeks: 2
requirements:
- RF-MAE-010-004 # Pagos Programados
components:
- MGN-010-PAYMENTS (extensión)
- MGN-002-WORKFLOWS (configuración)
story_points: 21
- phase: 3
name: Conciliación Bancaria
duration_weeks: 2
requirements:
- RF-MAE-010-003 # Conciliaciones Bancarias
components:
- MGN-010-RECONCILIATION (extensión)
story_points: 21
- phase: 4
name: Flujo de Efectivo
duration_weeks: 4
requirements:
- RF-MAE-010-002 # Flujo de Efectivo
components:
- MAE-010-CASHFLOW-ENGINE
- MAE-010-CASHFLOW-UI
- MAE-010-VARIANCE-ANALYSIS
- MAE-010-SCENARIO-SIMULATOR
story_points: 34
total_duration_weeks: 10
total_story_points: 94
estimated_team_size: 4
milestones:
- milestone: M1
name: Gestión Básica de Tesorería
week: 4
deliverables:
- Gestión de cuentas bancarias por proyecto
- Pagos programados funcionales
- Integraciones con Core completadas
- milestone: M2
name: Conciliación y Control
week: 6
deliverables:
- Conciliación bancaria automática y manual
- Cierre de períodos
- Reportes de conciliación
- milestone: M3
name: Análisis de Flujo de Efectivo
week: 10
deliverables:
- Proyección de flujo por proyecto
- Análisis de variaciones
- Simulador de escenarios
- Dashboard completo de tesorería
# ============================================================================
# RIESGOS Y MITIGACIONES
# ============================================================================
risks:
- id: RISK-001
description: Complejidad del motor de proyección de flujo
probability: MEDIUM
impact: HIGH
mitigation: |
- Validar algoritmos con casos reales antes de implementar
- Considerar solución en fases incrementales
- Consultar con expertos en construcción
- id: RISK-002
description: Integración con múltiples módulos (presupuesto, estimaciones)
probability: MEDIUM
impact: MEDIUM
mitigation: |
- Definir contratos de integración claros
- Implementar mocks para desarrollo paralelo
- Pruebas de integración continuas
- id: RISK-003
description: Precisión de las proyecciones de flujo
probability: HIGH
impact: HIGH
mitigation: |
- Calibración con datos históricos
- Ajustes manuales permitidos
- Múltiples escenarios (optimista/realista/pesimista)
- id: RISK-004
description: Importación de estados de cuenta en múltiples formatos
probability: LOW
impact: MEDIUM
mitigation: |
- Comenzar con formatos más comunes (XML, CSV)
- Validación exhaustiva de parsers
- Manual de formatos soportados
# ============================================================================
# MÉTRICAS DE ÉXITO
# ============================================================================
success_metrics:
technical:
- metric: Cobertura de pruebas
target: ">= 80%"
- metric: Tiempo de respuesta API
target: "< 200ms (p95)"
- metric: Disponibilidad del servicio
target: ">= 99.5%"
- metric: Tasa de conciliación automática
target: ">= 85%"
business:
- metric: Precisión de proyección de flujo
target: "Desviación < 10% vs real"
- metric: Tiempo de cierre de conciliación
target: "< 2 horas por período"
- metric: Adopción por usuarios
target: ">= 90% tesoreros activos"
- metric: Reducción de errores manuales
target: ">= 70%"
reuse:
- metric: Porcentaje de código reutilizado
target: ">= 70%"
- metric: Componentes del core utilizados
target: ">= 10"
- metric: Reducción de tiempo de desarrollo
target: ">= 60%"
# ============================================================================
# APROBACIONES Y CONTROL DE VERSIONES
# ============================================================================
approvals:
- role: Product Owner
name: Pendiente
date: null
status: pending
- role: Arquitecto de Software
name: Pendiente
date: null
status: pending
- role: Tech Lead
name: Pendiente
date: null
status: pending
version_history:
- version: 1.0.0
date: 2025-12-06
author: Sistema
changes:
- Creación inicial del documento
- Definición de 4 requerimientos funcionales
- Especificación de componentes reutilizados (70%)
- Plan de implementación en 4 fases