# US-MGN-002-004-001: Jerarquías de Empresas (Holdings y Subsidiarias) **RF Asociado:** [RF-MGN-002-004](../../02-modelado/requerimientos-funcionales/mgn-002/RF-MGN-002-004-jerarquias-empresas.md) **Módulo:** MGN-002 - Empresas y Organizaciones **Epic:** Jerarquías Corporativas **Prioridad:** P1 (Post-MVP) **Story Points:** 5 **Sprint:** Sprint 6 **Fecha:** 2025-11-24 --- ## User Story **Como** administrador de grupo empresarial, **Quiero** definir jerarquías entre empresas (holding → subsidiarias), **Para** consolidar reportes financieros y gestionar grupo corporativo. --- ## Criterios de Aceptación ### Escenario 1: Crear estructura jerárquica **Cuando** creo empresa "Holding XYZ" como parent y "Subsidiaria A" con parent_company_id=Holding, **Entonces** se establece relación jerárquica. ### Escenario 2: Reportes consolidados **Cuando** genero reporte financiero de holding, **Entonces** incluye datos de todas las subsidiarias. ### Escenario 3: Transacciones inter-compañía **Cuando** subsidiaria A vende a subsidiaria B, **Entonces** sistema registra transacción inter-compañía, se elimina en consolidación. --- ## Reglas de Negocio - **RN-1:** Empresa puede tener parent_company_id (subsidiaria) o null (holding) - **RN-2:** Máximo 3 niveles de jerarquía (holding → sub1 → sub2) - **RN-3:** Consolidación elimina transacciones inter-compañía - **RN-4:** Moneda de consolidación: moneda del holding --- ## Tareas Técnicas - [ ] Validar parent_company_id (foreign key) - [ ] Recursive query para obtener árbol de empresas - [ ] Endpoint: GET /api/v1/companies/tree - Árbol jerárquico - [ ] Lógica de consolidación en reportes - [ ] Tests --- ## Estimación: 5 SP --- ## Referencias - [RF-MGN-002-004](../../02-modelado/requerimientos-funcionales/mgn-002/RF-MGN-002-004-jerarquias-empresas.md)