# Indice de Requerimientos - MGN-010 Financial

**Modulo:** MGN-010
**Nombre:** Base Financiera
**Fase:** 02 - Core Business
**Total RF:** 4
**Ultima actualizacion:** 2025-12-05

---

## Resumen

Este modulo proporciona las bases del sistema contable: plan de cuentas, manejo multi-moneda, periodos contables y registro de asientos. Es el fundamento sobre el que se construyen los modulos financieros de las verticales (facturacion, CxC, CxP, tesoreria).

---

## Lista de Requerimientos

| ID | Titulo | Prioridad | Estado | SP |
|----|--------|-----------|--------|---:|
| [RF-FIN-001](./RF-FIN-001.md) | Plan de Cuentas | P0 | Draft | 13 |
| [RF-FIN-002](./RF-FIN-002.md) | Monedas y Tipos de Cambio | P0 | Draft | 10 |
| [RF-FIN-003](./RF-FIN-003.md) | Periodos Contables | P0 | Draft | 10 |
| [RF-FIN-004](./RF-FIN-004.md) | Asientos Contables | P0 | Draft | 13 |

**Total Story Points:** 45 SP (estimado en _MAP.md, validado aqui)

---

## Dependencias

### Depende de:
- **MGN-001 Auth:** Para autenticacion y permisos
- **MGN-004 Tenants:** Para aislamiento multi-tenant
- **MGN-005 Catalogs:** Para catalogos de monedas, paises

### Requerido por:
- **Verticales Financieras:** Facturacion, CxC, CxP, Tesoreria

---

## Entidades Principales

| Entidad | Descripcion |
|---------|-------------|
| ChartOfAccounts | Plan de cuentas |
| Account | Cuenta contable |
| Currency | Moneda |
| ExchangeRate | Tipo de cambio |
| FiscalYear | Año fiscal |
| FiscalPeriod | Periodo contable |
| JournalEntry | Asiento contable |
| JournalLine | Linea de asiento |
| CostCenter | Centro de costo |

---

## Endpoints Principales

| Metodo | Endpoint | RF |
|--------|----------|-------|
| GET | /api/v1/financial/charts | RF-FIN-001 |
| GET | /api/v1/financial/charts/:id/accounts | RF-FIN-001 |
| POST | /api/v1/financial/charts/:id/accounts | RF-FIN-001 |
| GET | /api/v1/financial/currencies | RF-FIN-002 |
| POST | /api/v1/financial/currencies/convert | RF-FIN-002 |
| GET | /api/v1/financial/fiscal-years | RF-FIN-003 |
| POST | /api/v1/financial/periods/:id/close | RF-FIN-003 |
| GET | /api/v1/financial/journal | RF-FIN-004 |
| POST | /api/v1/financial/journal | RF-FIN-004 |
| POST | /api/v1/financial/journal/:id/post | RF-FIN-004 |

---

## Reportes Relacionados

| Reporte | Descripcion |
|---------|-------------|
| Balance General | Estado de situacion financiera |
| Estado de Resultados | Ingresos vs Gastos |
| Balanza de Comprobacion | Saldos por cuenta |
| Libro Mayor | Movimientos por cuenta |
| Libro Diario | Asientos cronologicos |

---

## Notas de Implementacion

1. **Precision:** Usar DECIMAL(18,4) para montos
2. **Moneda Base:** Siempre almacenar en moneda base adicionalmente
3. **Periodos:** Validar fecha en cada operacion
4. **Asientos:** Transaccion atomica al contabilizar
5. **Indices:** Optimizar consultas de saldos por periodo

---

## Integracion con Verticales

Los modulos financieros de verticales extienden este modulo:

```
MGN-010 Financial (Base)
    │
    ├── Facturacion (genera asientos de venta)
    ├── CxC (concilia asientos)
    ├── CxP (genera asientos de compra)
    └── Tesoreria (registra pagos)
```

---

**Generado por:** Requirements-Analyst
**Fecha:** 2025-12-05
