Framework/Ejemplo
Ejemplo

Bandeja de Solicitudes Financieras

Caso práctico completo del framework aplicado a la gestión de solicitudes financieras en InnovaFamily: anulación de facturas, notas crédito y facturación de servicios.

Contexto del caso

El equipo financiero de InnovaFamily necesitaba una bandeja unificada para gestionar solicitudes de anulación de facturas, generación de notas crédito y facturación de servicios educativos, con trazabilidad completa, permisos por rol y estados auditables.

Este caso demuestra cómo el framework convierte una necesidad de negocio compleja en un feature bien especificado, implementado y entregado.

OpenSpec aplicado

proposal.md

Problema: Los equipos financieros gestionaban solicitudes por correo y hojas de cálculo, sin trazabilidad ni auditoría.

Solución: Bandeja centralizada con flujo de aprobación, estados auditables y ejecución automática de las acciones financieras correspondientes.

Decisión: Módulo independiente con integración al sistema de facturación existente, sin reemplazarlo.

design.md

Arquitectura:

  • Frontend React con bandeja, filtros por estado/tipo y vista de detalle
  • Backend con orquestador de solicitudes financieras y motor de reglas de estado
  • Integración con servicios de facturación y notas crédito via API interna
  • Persistencia con auditoría completa (actor, timestamp, evidencia por decisión)

Modelo de datos:

  • financial_request: id, type, status, requester_id, created_at
  • request_status_history: request_id, from_status, to_status, actor_id, timestamp, notes
  • request_evidence: request_id, file_url, uploaded_by, uploaded_at

Contrato API principal:

  • GET /financial-requests — listar con filtros (status, type, date_range)
  • GET /financial-requests/:id — detalle completo con historial
  • POST /financial-requests/:id/approve — aprobar solicitud
  • POST /financial-requests/:id/reject — rechazar con motivo
  • POST /financial-requests/:id/execute — ejecutar acción financiera

tasks.md (resumen)

  1. Crear modelo de datos y migración
  2. Implementar endpoints de consulta (GET)
  3. Implementar endpoints de acción (approve/reject/execute)
  4. Integrar con servicio de facturación
  5. Implementar frontend — bandeja con filtros
  6. Implementar frontend — vista de detalle y acciones
  7. Tests de integración — endpoints y reglas de estado
  8. UAT con equipo financiero

Quality Gates aplicados

GateEstadoAprobado por
Spec Gate✅ AprobadoTech Lead + PO Financiero
Architecture Gate✅ AprobadoTech Lead
Security Gate✅ AprobadoTech Lead
Testing Gate✅ AprobadoQA Agent
Code Review Gate✅ Aprobado2 reviewers
UAT Gate✅ AprobadoPO + 3 usuarios financieros
Release Gate✅ AprobadoTech Lead

Aprendizajes

  • El contrato API definido antes de implementar eliminó 3 rondas de corrección entre frontend y backend.
  • El motor de reglas de estado documentado en design.md permitió al agente implementar las transiciones sin ambigüedad.
  • Los criterios de aceptación por rol (aprobador vs ejecutor vs auditor) fueron clave para el UAT exitoso.