erp-core/docs/05-user-stories/mgn-008/US-MGN-008-002-001-crud-cuentas-analiticas-por-plan.md

2.6 KiB

US-MGN-008-002-001: CRUD Cuentas Analíticas por Plan

RF Asociado: RF-MGN-008-001 Módulo: MGN-008 - Contabilidad Analítica Epic: Cuentas Analíticas Prioridad: P0 Story Points: 3 Sprint: Sprint 18 Estado: Ready for Development Fecha: 2025-11-24


User Story

Como contador, Quiero crear cuentas analíticas dentro de cada plan, Para registrar transacciones en dimensiones específicas.

Descripción Detallada

Cuenta analítica representa un elemento dentro de un plan:

  • Plan "Proyectos" → Cuentas: "Proyecto A", "Proyecto B"
  • Plan "Departamentos" → Cuentas: "IT", "Ventas", "Marketing"

Cada cuenta tiene: código, nombre, plan_id, activo, parent_id (jerarquía opcional).

Criterios de Aceptación

Escenario 1: Crear cuenta analítica

Dado que plan id=1 existe, Cuando creo cuenta con code="PROJ-A", name="Proyecto A", plan_id=1, Entonces sistema crea cuenta exitosamente.

Escenario 2: Código único por plan

Dado que cuenta "PROJ-A" existe en plan_id=1, Cuando intento crear otra con mismo código en plan_id=1, Entonces error 400 "Código ya existe en este plan".

Escenario 3: Mismo código en diferente plan (permitido)

Dado que cuenta "IT" existe en plan="Departamentos", Cuando creo cuenta "IT" en plan="Categorías", Entonces sistema permite (códigos independientes por plan).

Reglas de Negocio

  • RN-1: Código único por plan.
  • RN-2: Cuenta pertenece a un solo plan.
  • RN-3: Cuenta puede tener parent_id (jerarquía).

Tareas Técnicas

Backend

  • Endpoint: POST/GET/PUT/DELETE /api/v1/analytics/accounts
  • Service: AnalyticalAccountService (CRUD)
  • Validar code único por plan
  • Unit/Integration tests

Frontend

  • Página: AnalyticalAccountsPage.tsx
  • Formulario CRUD
  • Filtro por plan
  • Component tests

Database

  • Tabla: analytics.accounts (id, plan_id, code, name, parent_id, active)
  • Constraint: unique(plan_id, code)
  • FK: plan_id, parent_id

Estimación Detallada

Tarea Horas
Backend 1.5
Frontend 1.5
Testing 1
TOTAL 4 horas = 3 SP

Definition of Done

  • CRUD completo
  • Tests >80%
  • Validaciones aplicadas
  • QA/PO aprobado

Referencias