# 📑 ÍNDICE DE REFERENCIAS - REPORTES FINANCIEROS
## 📊 Reportes Implementados
### **1. FLUJO DE EFECTIVO**
**Archivo**: `flujo_efectivo.php`
**Líneas**: 364
**Tamaño**: 16 KB
#### Funciones Clave
- `obtenerSaldoCuenta()` - Calcula saldo de cuenta en fecha específica
- Agrupación por concepto - Entrada/Salida
- Cálculo de flujo neto
#### Variables Principales
- `$saldoInicialCaja`, `$saldoInicialBancos`
- `$saldoFinalCaja`, `$saldoFinalBancos`
- `$flujosPorConcepto` - Array agrupado
#### Tablas Utilizadas
- `pda_detalle` - Movimientos contables
- `pda_maestro` - Asientos maestros
- `f_cuentas_fin` - Catálogo (códigos 1101, 1102)
---
### **2. BALANCE GENERAL COMPARATIVO**
**Archivo**: `balance_general_comparativo.php`
**Líneas**: 435
**Tamaño**: 18 KB
#### Funciones Clave
- `obtenerSaldoCuenta()` - Saldo en dos fechas diferentes
- Agrupación por tipo (ACTIVO, PASIVO, CAPITAL)
- Cálculo de variaciones
#### Variables Principales
- `$fechaActual`, `$fechaAnterior`
- `$cuentasPorTipo[]` - Cuentas agrupadas
- `$totalActivos`, `$totalPasivos`, `$totalCapital`
#### Tablas Utilizadas
- `f_cuentas_fin` - Donde tipo_cuenta IN ('ACTIVO', 'PASIVO', 'CAPITAL')
- `pda_detalle`, `pda_maestro`
#### Fórmulas
```
Variación = Saldo Final - Saldo Inicial
Variación % = (Variación / Saldo Inicial) * 100
```
---
### **3. ANÁLISIS VERTICAL**
**Archivo**: `analisis_vertical.php`
**Líneas**: 498
**Tamaño**: 19 KB
#### Funciones Clave
- `obtenerSaldoCuenta()` - Saldos contables
- Cálculo de porcentajes
- Generación de gráficos de barras
#### Variables Principales
- `$totalActivos`, `$totalPasivos`, `$totalCapital`
- `$totalIngresos`, `$totalCostos`, `$totalGastos`
- `$pct` - Porcentaje calculado
#### Tablas Utilizadas
- `f_cuentas_fin` - Todos los tipos
- `pda_detalle`, `pda_maestro`
#### Fórmulas
```
% Activo = (Saldo Activo / Total Activos) * 100
% Gasto = (Gasto / Total Ingresos) * 100
% Utilidad = (Utilidad / Total Ingresos) * 100
```
---
### **4. CAMBIOS EN EL PATRIMONIO**
**Archivo**: `cambios_patrimonio.php`
**Líneas**: 407
**Tamaño**: 19 KB
#### Funciones Clave
- `obtenerSaldoCuenta()` - Saldos iniciales y finales
- Cálculo de utilidad neta
- Conciliación de patrimonio
#### Variables Principales
- `$saldoInicialCapitalSocial`, `$saldoFinalCapitalSocial`
- `$saldoInicialUtilidades`, `$saldoFinalUtilidades`
- `$utilidadNeta` = Ingresos - Costos - Gastos
#### Tablas Utilizadas
- `f_cuentas_fin` - WHERE tipo_cuenta = 'CAPITAL'
- `pda_detalle`, `pda_maestro`
#### Fórmulas
```
Patrimonio Final = Capital Social + Utilidades + Acumuladas
Utilidad Neta = Ingresos - Costos - Gastos
Variación = Final - Inicial
```
---
## 🔐 Seguridad Implementada
### En Todos los Reportes
#### 1. **Validación de Sesión**
```php
session_start();
if (!isset($_SESSION['usuario_id'])) {
header('Location: login.php');
exit;
}
```
#### 2. **Prepared Statements**
```php
$stmt = $pdo->prepare("SELECT ... WHERE id_cuenta = ?");
$stmt->execute([$idCuenta, $empresaId, $fecha]);
```
#### 3. **Aislamiento por Empresa**
```php
WHERE id_empresa = ?
$stmt->execute([$empresaId, ...]);
```
#### 4. **Escape de HTML**
```php
echo htmlspecialchars($variable);
```
---
## 🎨 Estructura HTML Común
### Todas los reportes incluyen:
```html
Reporte - ERP
Título Reporte
```
---
## 📊 Códigos de Cuentas Utilizadas
### Movimientos de Efectivo
- `1101` - Caja General
- `1102` - Bancos
### Tipos de Cuentas
- `ACTIVO` - Activos
- `PASIVO` - Pasivos
- `CAPITAL` - Capital/Patrimonio
- `INGRESO` - Ingresos
- `COSTO` - Costos
- `GASTO` - Gastos
---
## 🔍 Consultas SQL Principales
### Obtener Saldo de Cuenta
```sql
SELECT
COALESCE(SUM(d.debito), 0) as total_debito,
COALESCE(SUM(d.credito), 0) as total_credito
FROM pda_detalle d
INNER JOIN pda_maestro m ON d.id_asiento = m.id_asiento
WHERE d.id_cuenta = ?
AND m.id_empresa = ?
AND m.fecha_asiento <= ?
```
### Obtener Resultados
```sql
SELECT
c.tipo_cuenta,
COALESCE(SUM(d.debito), 0) as total_debito,
COALESCE(SUM(d.credito), 0) as total_credito
FROM pda_detalle d
INNER JOIN pda_maestro m ON d.id_asiento = m.id_asiento
INNER JOIN f_cuentas_fin c ON d.id_cuenta = c.id_cuenta
WHERE m.id_empresa = ?
AND m.fecha_asiento BETWEEN ? AND ?
AND c.tipo_cuenta IN ('INGRESO', 'COSTO', 'GASTO')
GROUP BY c.tipo_cuenta, ...
```
---
## 🎯 Parámetros GET Utilizados
### Flujo de Efectivo
- `desde` - Fecha inicial (default: primer día del mes)
- `hasta` - Fecha final (default: hoy)
### Balance General Comparativo
- `fecha_actual` - Fecha a comparar (default: hoy)
- `fecha_anterior` - Fecha anterior (default: hace 1 año)
### Análisis Vertical
- `fecha` - Fecha del análisis (default: hoy)
### Cambios en Patrimonio
- `fecha_inicio` - Inicio del período (default: 1 enero)
- `fecha_fin` - Fin del período (default: hoy)
---
## 📚 Documentación Asociada
### Guías de Uso
1. `NUEVOS_REPORTES_FINANCIEROS.md` - Qué es cada reporte
2. `GUIA_LECTURA_REPORTES.md` - Cómo usarlos
3. `IMPLEMENTACION_REPORTES_FINANCIEROS.md` - Detalles técnicos
### Resúmenes
- `IMPLEMENTACION_ESTADOS_FINANCIEROS.txt` - Resumen ejecutivo
---
## 🔧 Integración en Menu.php
```php
'contabilidad' => [
'titulo' => 'CONTABILIDAD',
'icono' => 'bi bi-book-fill',
'submenu' => [
['titulo' => 'Catálogo de cuentas', 'url' => 'catalogo_cuentas'],
['titulo' => 'Asientos contables', 'url' => 'asientos'],
['titulo' => '--- REPORTES ---', 'url' => '#'],
['titulo' => 'Diario general', 'url' => 'diario_general'],
['titulo' => 'Mayor general', 'url' => 'mayor_general'],
['titulo' => 'Balance general', 'url' => 'balance_general'],
['titulo' => 'Balance comparativo', 'url' => 'balance_general_comparativo'],
['titulo' => 'Estado de resultados', 'url' => 'estado_resultados'],
['titulo' => 'Flujo de efectivo', 'url' => 'flujo_efectivo'],
['titulo' => 'Análisis vertical', 'url' => 'analisis_vertical'],
['titulo' => 'Cambios patrimonio', 'url' => 'cambios_patrimonio']
]
]
```
---
## 💾 Resumen de Archivos
| Archivo | Tipo | Líneas | Tamaño |
|---------|------|--------|--------|
| `flujo_efectivo.php` | PHP | 364 | 16 KB |
| `balance_general_comparativo.php` | PHP | 435 | 18 KB |
| `analisis_vertical.php` | PHP | 498 | 19 KB |
| `cambios_patrimonio.php` | PHP | 407 | 19 KB |
| `NUEVOS_REPORTES_FINANCIEROS.md` | MD | 200+ | 6.5 KB |
| `GUIA_LECTURA_REPORTES.md` | MD | 180+ | 6 KB |
| `IMPLEMENTACION_REPORTES_FINANCIEROS.md` | MD | 220+ | 7 KB |
| `menu.php` | PHP | ✏️ Modificado | - |
---
## ✅ Checklist de Verificación
- [x] Todos los archivos PHP creados
- [x] Seguridad validada (prepared statements)
- [x] Menú actualizado con enlaces
- [x] Documentación completa
- [x] Pruebas funcionales pasadas
- [x] Estilos responsivos verificados
- [x] Impresión funcional
- [x] Multi-empresa soportado
- [x] Sesiones validadas
- [x] XSS prevention implementado
---
**Referencia Completa**
Versión: 1.0
Fecha: Diciembre 2025
Estado: LISTO PARA PRODUCCIÓN ✅