# RF-{MODULO}-{NNN}: {Titulo Descriptivo}

> **INSTRUCCIONES:** Copiar este template y reemplazar los placeholders {VALOR}
> Eliminar esta seccion de instrucciones antes de guardar.

---

## Identificacion

| Campo | Valor |
|-------|-------|
| **ID** | RF-{MODULO}-{NNN} |
| **Modulo** | {MGN-NNN / MAI-NNN / etc} |
| **Nombre Modulo** | {nombre del modulo} |
| **Prioridad** | {P0 / P1 / P2 / P3} |
| **Complejidad** | {Alta / Media / Baja} |
| **Estado** | {Borrador / En Revision / Aprobado} |
| **Autor** | {nombre} |
| **Fecha** | {YYYY-MM-DD} |

### Prioridades
- **P0:** Critico - Sin esto no funciona el sistema
- **P1:** Alto - Funcionalidad core del modulo
- **P2:** Medio - Importante pero no bloqueante
- **P3:** Bajo - Nice to have

---

## Descripcion

{Descripcion clara y concisa del requerimiento. 2-5 oraciones que expliquen:
- Que debe hacer el sistema
- Para quien (rol de usuario)
- En que contexto}

### Contexto de Negocio

{Por que es necesario este requerimiento? Que problema resuelve?}

---

## Criterios de Aceptacion

> Minimo 3 criterios verificables

- [ ] **CA-001:** {Criterio especifico y medible}
- [ ] **CA-002:** {Criterio especifico y medible}
- [ ] **CA-003:** {Criterio especifico y medible}
- [ ] **CA-004:** {Criterio adicional si aplica}

### Ejemplos de Verificacion

```
Dado: {contexto inicial}
Cuando: {accion del usuario}
Entonces: {resultado esperado}
```

---

## Reglas de Negocio

| ID | Regla | Validacion |
|----|-------|------------|
| RN-001 | {Descripcion de la regla} | {Como se valida} |
| RN-002 | {Descripcion de la regla} | {Como se valida} |
| RN-003 | {Descripcion de la regla} | {Como se valida} |

### Excepciones

- {Caso excepcional 1 y como manejarlo}
- {Caso excepcional 2 y como manejarlo}

---

## Impacto en Capas

### Database

| Elemento | Accion | Descripcion |
|----------|--------|-------------|
| Schema | {crear/modificar/usar} | `{nombre_schema}` |
| Tabla | {crear/modificar/usar} | `{nombre_tabla}` |
| Columnas | {agregar/modificar} | `{lista_columnas}` |
| Indices | {crear} | `{nombre_indice}` |
| Triggers | {crear/modificar} | `{nombre_trigger}` |
| RLS | {crear/modificar} | `{nombre_policy}` |

### Backend

| Elemento | Accion | Descripcion |
|----------|--------|-------------|
| Entity | {crear/modificar} | `{NombreEntity}` |
| Service | {crear/modificar} | `{NombreService}` |
| Controller | {crear/modificar} | `{NombreController}` |
| DTO | {crear} | `Create{Nombre}Dto, Update{Nombre}Dto` |
| Endpoints | {crear} | `{metodo} /api/v1/{ruta}` |

### Frontend

| Elemento | Accion | Descripcion |
|----------|--------|-------------|
| Pagina | {crear/modificar} | `{NombrePage}` |
| Componente | {crear/modificar} | `{NombreComponent}` |
| Store | {crear/modificar} | `{nombreStore}` |
| Rutas | {agregar} | `/{ruta}` |

---

## Dependencias

### Depende de (Bloqueantes)

| ID | Requerimiento | Estado |
|----|---------------|--------|
| RF-{MOD}-{NNN} | {Titulo} | {Aprobado/Pendiente} |

### Dependencias Relacionadas (No bloqueantes)

| ID | Requerimiento | Relacion |
|----|---------------|----------|
| RF-{MOD}-{NNN} | {Titulo} | {Tipo de relacion} |

---

## Mockups / Wireframes

> Incluir referencias a Figma o imagenes

- [ ] Wireframe aprobado: {link o descripcion}
- [ ] Flujo de usuario documentado

### Descripcion de UI (si no hay mockup)

```
+------------------------------------------+
|  {Descripcion visual del componente}     |
|                                          |
|  [Boton 1]  [Boton 2]                   |
+------------------------------------------+
```

---

## Datos de Prueba

### Escenarios

| Escenario | Datos Entrada | Resultado Esperado |
|-----------|---------------|-------------------|
| Happy path | {datos} | {resultado} |
| Validacion fallida | {datos invalidos} | {mensaje error} |
| Edge case | {datos limite} | {comportamiento} |

---

## Estimacion

| Capa | Story Points | Notas |
|------|--------------|-------|
| Database | {N} | {consideraciones} |
| Backend | {N} | {consideraciones} |
| Frontend | {N} | {consideraciones} |
| **Total** | **{N}** | |

---

## Notas Adicionales

- {Nota tecnica importante}
- {Consideracion de seguridad}
- {Integracion con otros sistemas}

---

## Historial de Cambios

| Version | Fecha | Autor | Cambios |
|---------|-------|-------|---------|
| 1.0 | {YYYY-MM-DD} | {nombre} | Creacion inicial |

---

## Aprobaciones

| Rol | Nombre | Fecha | Firma |
|-----|--------|-------|-------|
| Analista | | | [ ] |
| Tech Lead | | | [ ] |
| Product Owner | | | [ ] |

---
*Template version 1.0 - ERP Suite*
