import csv
import os

# Crear directorio de salida
os.makedirs('output', exist_ok=True)

# HOJA 1: Resumen Ejecutivo
with open('output/01_Resumen_Ejecutivo.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Indicador', 'Valor'])
    writer.writerow(['Producto', 'Casillero del Diablo Reserva Cabernet Sauvignon'])
    writer.writerow(['Precio Neto (CLP)', '$6.714'])
    writer.writerow(['Ventas Año 1 (CLP MM)', '1.000,0'])
    writer.writerow(['Tasa Crecimiento', '4,1%'])
    writer.writerow(['Inversión Total (CLP MM)', '1.098,3'])
    writer.writerow(['VAN Económico (CLP MM)', '-475,6'])
    writer.writerow(['VAN Financiero (CLP MM)', '-439,9'])
    writer.writerow(['TIR Económica', '-4,44%'])
    writer.writerow(['TIR Financiera', '-12,49%'])
    writer.writerow(['Conclusión', 'NO VIABLE - Extender horizonte a 10+ años'])

# HOJA 2: Precio y Ventas
with open('output/02_Precio_Ventas.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Valor', 'Fuente'])
    writer.writerow(['Precio con IVA', 7990, 'Retail H1 2026'])
    writer.writerow(['IVA', '19%', 'SII'])
    writer.writerow(['Precio Neto', 6714.3, '7990/1.19'])
    writer.writerow(['Tasa Crecimiento', '4,1%', 'Promedio ER 22-25'])
    writer.writerow(['Ventas Año 1', 1000.0, 'Definido'])
    writer.writerow(['Ventas Año 2', 1041.0, '1000*1.041'])
    writer.writerow(['Ventas Año 3', 1083.7, '1041*1.041'])
    writer.writerow(['Ventas Año 4', 1128.1, '1083.7*1.041'])
    writer.writerow(['Ventas Año 5', 1174.4, '1128.1*1.041'])

# HOJA 3: Costos y Gastos
with open('output/03_Costos_Gastos.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Año', 'Ventas (CLP MM)', 'Costo Ventas 61.6%', 'Gastos Op 28.1%', 'EBITDA 10.3%'])
    writer.writerow([1, 1000.0, 616.0, 281.0, 103.0])
    writer.writerow([2, 1041.0, 641.3, 292.5, 107.2])
    writer.writerow([3, 1083.7, 667.6, 304.5, 111.6])
    writer.writerow([4, 1128.1, 694.9, 317.0, 116.2])
    writer.writerow([5, 1174.4, 723.4, 329.9, 121.0])

# HOJA 4: Inversión AF
with open('output/04_Inversion_AF.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Valor', 'Fórmula'])
    writer.writerow(['Rotación AF Promedio', '1.42 veces', 'Promedio 2022-2025'])
    writer.writerow(['Inversión AF (Año 0)', 703.3, '1000/1.42'])
    writer.writerow(['Vida Útil SII', '10 años', 'Circular SII N°48'])
    writer.writerow(['Depreciación Anual', 70.3, '703.3/10'])

# HOJA 5: Capital de Trabajo
with open('output/05_Capital_Trabajo.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Año', 'Ventas', 'CT Requerido 39.5%', 'ΔCT', 'Recuperación CT'])
    writer.writerow([0, 0, 0, -395.0, 0])
    writer.writerow([1, 1000.0, 395.0, 0.0, 0])
    writer.writerow([2, 1041.0, 411.2, -16.2, 0])
    writer.writerow([3, 1083.7, 428.1, -16.9, 0])
    writer.writerow([4, 1128.1, 445.6, -17.5, 0])
    writer.writerow([5, 1174.4, 463.9, -18.3, 463.9])

# HOJA 6: Flujo Caja Económico
with open('output/06_Flujo_Caja_Economico.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Año 0', 'Año 1', 'Año 2', 'Año 3', 'Año 4', 'Año 5'])
    writer.writerow(['EBITDA', 0, 103.0, 107.2, 111.6, 116.2, 121.0])
    writer.writerow(['(-) Depreciación', 0, 70.3, 70.3, 70.3, 70.3, 70.3])
    writer.writerow(['(=) EBIT', 0, 32.7, 36.9, 41.3, 45.9, 50.7])
    writer.writerow(['(-) Impuesto 27%', 0, 8.8, 10.0, 11.2, 12.4, 13.7])
    writer.writerow(['(=) NOPAT', 0, 23.9, 26.9, 30.1, 33.5, 37.0])
    writer.writerow(['(+) Depreciación', 0, 70.3, 70.3, 70.3, 70.3, 70.3])
    writer.writerow(['(-) Inv. AF', -703.3, 0, 0, 0, 0, 0])
    writer.writerow(['(-) ΔCT', -395.0, 0, -16.2, -16.9, -17.5, -18.3])
    writer.writerow(['(+) Recup. CT', 0, 0, 0, 0, 0, 463.9])
    writer.writerow(['(=) FCE', -1098.3, 94.2, 80.9, 83.5, 86.3, 552.8])

# HOJA 7: Financiamiento
with open('output/07_Financiamiento.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Valor', 'Fuente'])
    writer.writerow(['Inversión Total', 1098.3, 'AF+CT'])
    writer.writerow(['Razón Deuda/Activo', '51.5%', 'Promedio 22-25'])
    writer.writerow(['Monto Deuda', 565.6, '51.5%*1098.3'])
    writer.writerow(['Aporte Capital Propio', 532.7, '1098.3-565.6'])
    writer.writerow(['Tasa Interés', '7.5%', 'TPM+Spread'])
    writer.writerow(['Plazo', '5 años', 'Sistema Francés'])

# HOJA 8: Amortización
with open('output/08_Tabla_Amortizacion.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Año', 'Saldo Inicial', 'Cuota', 'Interés 7.5%', 'Amortización', 'Saldo Final'])
    writer.writerow([1, 565.6, 139.8, 42.4, 97.4, 468.2])
    writer.writerow([2, 468.2, 139.8, 35.1, 104.7, 363.5])
    writer.writerow([3, 363.5, 139.8, 27.3, 112.5, 251.0])
    writer.writerow([4, 251.0, 139.8, 18.8, 121.0, 130.0])
    writer.writerow([5, 130.0, 139.8, 9.8, 130.0, 0.0])

# HOJA 9: Flujo Caja Financiero
with open('output/09_Flujo_Caja_Financiero.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Año 0', 'Año 1', 'Año 2', 'Año 3', 'Año 4', 'Año 5'])
    writer.writerow(['FCE', -1098.3, 94.2, 80.9, 83.5, 86.3, 552.8])
    writer.writerow(['(+) Ingreso Deuda', 565.6, 0, 0, 0, 0, 0])
    writer.writerow(['(-) Cuota Deuda', 0, -139.8, -139.8, -139.8, -139.8, -139.8])
    writer.writerow(['(=) FCF', -532.7, -45.6, -58.9, -56.3, -53.5, 413.0])

# HOJA 10: VAN y TIR
with open('output/10_VAN_TIR.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Indicador', 'Económico', 'Financiero', 'Criterio'])
    writer.writerow(['Tasa Descuento', '10%', '12%', '-'])
    writer.writerow(['VAN', -475.6, -439.9, 'VAN > 0'])
    writer.writerow(['TIR', '-4.44%', '-12.49%', 'TIR > r'])

# HOJA 11: Ciclo de Efectivo
with open('output/11_Ciclo_Efectivo.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Valor (días/M$)', 'Fórmula'])
    writer.writerow(['PPI 2024', 268.2, 'Inv/CV*360'])
    writer.writerow(['PPC 2024', 108.8, 'CxC/Ventas*360'])
    writer.writerow(['PPP 2024', 119.0, 'CxP/CV*360'])
    writer.writerow(['Ciclo Efectivo', 258.1, 'PPI+PPP-PPP'])
    writer.writerow(['Rotación Caja', '1.40 veces', '360/Ciclo'])
    writer.writerow(['Caja Mínima', 126005399, 'Egresos/Rotación'])

# HOJA 12: Modelo Baumol
with open('output/12_Modelo_Baumol.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', '2024'])
    writer.writerow(['Costo Transacción (b)', 188695.38])
    writer.writerow(['Tasa Mensual (i)', '0.39%'])
    writer.writerow(['Pagos Mensuales (M)', 69947750])
    writer.writerow(['C0 Óptimo', 82287448])
    writer.writerow(['N° Transacciones', 0.85])
    writer.writerow(['Días entre Trans.', 35.3])

# HOJA 13: Modelo Miller-Orr
with open('output/13_Modelo_Miller-Orr.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', '2024 (M$)'])
    writer.writerow(['Z (Saldo Óptimo)', 11976028])
    writer.writerow(['Límite Inferior', 14251030])
    writer.writerow(['Límite Superior', 38203086])
    writer.writerow(['Monto a Depositar DAP', 31249004])

# HOJA 14: LEC Inventario
with open('output/14_LEC_Inventario.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', '2024', 'Unidad'])
    writer.writerow(['Demanda Trimestral', 8250000, 'cajas'])
    writer.writerow(['Costo Reorden', 249077.91, 'M$/orden'])
    writer.writerow(['Mantención/trim', 0.2122, 'M$/caja/trim'])
    writer.writerow(['Qo Óptimo', 4401133, 'cajas'])
    writer.writerow(['Días entre pedidos', 48.01, 'días'])
    writer.writerow(['Punto Reorden', 861723, 'cajas'])

# HOJA 15: Política Crédito
with open('output/15_Politica_Credito.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['Concepto', 'Monto (M$)', 'Conclusión'])
    writer.writerow(['Incremento Ventas 20%', 191725991, ''])
    writer.writerow(['Ganancia Adicional', 74538322, ''])
    writer.writerow(['Pérdidas Incobrables', -5751780, ''])
    writer.writerow(['Costo Oportunidad ΔCxC', 260417, ''])
    writer.writerow(['Aumento Costo Cobranzas', -500000, ''])
    writer.writerow(['GANANCIA NETA', 68546960, '✅ BENEFICIOSO'])

print("✓ Archivos CSV generados exitosamente en la carpeta 'output/'")
print("✓ Puedes abrir cada archivo CSV directamente en Excel")

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: