13.1 Qué es un flujo de fondos
Un flujo de fondos es una secuencia de movimientos monetarios ordenados en el tiempo. Cada movimiento contiene, como mínimo, un momento y un importe.
Un flujo puede representar cobros, pagos, aportes, devoluciones o cualquier otro movimiento relevante para la persona o entidad cuyo punto de vista estamos estudiando.
13.2 Primero debemos elegir una perspectiva
Un mismo pago es un egreso para quien lo realiza y un ingreso para quien lo recibe. Por eso la convención de signos solo tiene sentido después de responder:
La perspectiva debe mantenerse sin cambios durante todo el análisis.
13.3 Una convención práctica de signos
Dinero que entra: se representa con un valor positivo.
Dinero que sale: se representa con un valor negativo.
En ese momento no existe entrada ni salida registrada.
Podría adoptarse otra convención, pero debe declararse y aplicarse de forma consistente.
13.4 Los ingresos
Un ingreso aumenta el efectivo disponible desde la perspectiva elegida. Algunos ejemplos son cobrar una venta, recibir un préstamo, recuperar un depósito o percibir una devolución.
La causa económica no determina por sí sola el signo: recibir un préstamo es un ingreso inicial aunque cree una obligación futura.
13.5 Los egresos
Un egreso reduce el efectivo disponible: pagar una compra, entregar un capital, abonar una cuota o afrontar un costo. Se escribe con signo negativo.
El signo no significa que la decisión sea “mala”. Solo indica la dirección del movimiento desde la perspectiva seleccionada.
13.6 Representación mediante flechas
Sobre una línea de tiempo es habitual dibujar los ingresos hacia arriba y los egresos hacia abajo. El valor cero permanece sobre el eje.
13.7 Importe, signo y momento forman una unidad
Escribir +$50.000 no basta si no sabemos cuándo ocurre. Del mismo modo, escribir t = 3 no informa si existe un cobro o un pago.
El concepto es descriptivo; el signo y el momento permiten operar con el dato.
13.8 La misma operación desde dos perspectivas
| Momento | Quien recibe inicialmente | Quien entrega inicialmente |
|---|---|---|
| t = 0 | +$100.000 | −$100.000 |
| t = n | −$112.000 | +$112.000 |
Los flujos tienen iguales magnitudes y signos opuestos. Ninguna columna debe mezclar movimientos de ambos participantes.
13.9 Suma algebraica nominal
Podemos sumar los importes con signo para obtener un resumen aritmético: ingresos menos egresos. Si los movimientos ocurren en fechas diferentes, esa suma no representa automáticamente ganancia, rentabilidad ni equivalencia financiera.
Advertencia temporal: la suma nominal ignora el valor del dinero en el tiempo. En este tema se utiliza únicamente para practicar signos y controlar datos.
13.10 Orden y acumulación aritmética
Recorrer el arreglo en orden temporal permite calcular un saldo acumulado puramente contable:
const flujos = [-100000, 20000, -10000, 45000, 70000];
let acumulado = 0;
for (const flujo of flujos) {
acumulado += flujo;
console.log(acumulado);
}Este recorrido ayuda a detectar el efecto aritmético de cada movimiento, pero no traslada capitales entre fechas.
13.11 Flujos como objetos de JavaScript
Una estructura explícita conserva el significado de cada dato:
const flujos = [
{ periodo: 0, importe: -100000, concepto: "aporte inicial" },
{ periodo: 1, importe: 20000, concepto: "cobro" },
{ periodo: 2, importe: -10000, concepto: "pago" }
];
const ingresos = flujos.filter(flujo => flujo.importe > 0);
const egresos = flujos.filter(flujo => flujo.importe < 0);
console.log("Cantidad de ingresos:", ingresos.length);
ingresos.forEach(flujo => console.log(`Ingreso en t=${flujo.periodo}: ${flujo.importe}`));
console.log("Cantidad de egresos:", egresos.length);
egresos.forEach(flujo => console.log(`Egreso en t=${flujo.periodo}: ${flujo.importe}`));En el tema siguiente profundizaremos la representación completa con objetos y arreglos.
13.12 Simulador de flujos y signos
Ingresá un movimiento para cada período. Los valores positivos se dibujan hacia arriba, los negativos hacia abajo y los ceros permanecen sobre el eje.
Secuencia de ingresos y egresos
Resumen nominal para practicar la convención de signos.
| Momento | Importe con signo | Interpretación |
|---|---|---|
| t = 0 | Egreso | |
| t = 1 | Ingreso | |
| t = 2 | Egreso | |
| t = 3 | Ingreso | |
| t = 4 | Ingreso |
La suma de $25.000,00 es nominal: no compara financieramente fechas diferentes.
13.13 Comprobaciones útiles
- Declarar la perspectiva antes de asignar signos.
- Rechazar valores vacíos o no numéricos.
- Ordenar los movimientos por fecha o período.
- Distinguir un flujo cero de un dato faltante.
- Conservar el signo original al formatear el importe.
- No llamar rentabilidad a una suma nominal de fechas distintas.
13.14 Ejercicio propuesto
Desde la perspectiva de un proyecto se realiza un desembolso inicial de $80.000 y luego se reciben $25.000, $30.000 y $40.000 al final de los períodos 1, 2 y 3.
- Asigná el signo de cada movimiento.
- Representá los flujos sobre una línea de tiempo.
- Calculá la suma algebraica nominal.
- Guardá la secuencia en un arreglo de objetos.
- Explicá por qué esa suma no demuestra por sí sola que el proyecto sea conveniente.
Ver solución y código
La secuencia es [-80000, 25000, 30000, 40000]. La suma nominal es +$15.000, pero combina importes de fechas diferentes sin aplicar un modelo temporal.
const flujos = [
{ periodo: 0, importe: -80000 },
{ periodo: 1, importe: 25000 },
{ periodo: 2, importe: 30000 },
{ periodo: 3, importe: 40000 }
];
const sumaNominal = flujos.reduce(
(total, flujo) => total + flujo.importe,
0
);
console.log(sumaNominal); // 1500013.15 Ideas para recordar
- Todo flujo debe tener momento, importe y perspectiva.
- Los ingresos se representan con signo positivo y los egresos con signo negativo.
- El signo indica dirección, no conveniencia.
- La operación vista por la contraparte invierte los signos.
- El cero es un movimiento nulo; no equivale a un dato ausente.
- Sumar flujos de fechas distintas no establece equivalencia financiera.
En el próximo tema representaremos operaciones financieras mediante objetos y arreglos.