{"id":"cash-flow-forecast","summary":"Daily cash balance over a horizon from expected payments and fixed costs.","method":"POST","inputSchema":{"type":"object","properties":{"openingBalance":{"type":"number","description":"Cash available on the reference date"},"invoices":{"type":"array","description":"Payments expected in","items":{"type":"object","properties":{"client":{"type":"string"},"amount":{"type":"number"},"expectedDate":{"type":"string","description":"YYYY-MM-DD"}},"required":["amount","expectedDate"]}},"recurring":{"type":"array","description":"Fixed monthly costs","items":{"type":"object","properties":{"label":{"type":"string"},"amount":{"type":"number"},"dayOfMonth":{"type":"number","description":"1-31, clamped to the month length"}},"required":["amount","dayOfMonth"]}},"otherMonthlySpend":{"type":"number","description":"Everything else per month, spread daily"},"today":{"type":"string","description":"YYYY-MM-DD reference date"},"horizonDays":{"type":"number","description":"Days to project (default 90)"}},"required":["openingBalance","today"]},"exampleInput":{"openingBalance":8000,"invoices":[{"client":"Adler Studio","amount":4000,"expectedDate":"2026-09-10"}],"recurring":[{"label":"Rent","amount":1400,"dayOfMonth":1}],"otherMonthlySpend":1500,"today":"2026-08-23","horizonDays":90},"exampleOutput":{"endingBalance":3300,"lowestBalance":3300,"lowestDate":"2026-11-20","firstNegativeDate":null,"totalInflow":4000,"totalOutflow":8700,"days":[{"date":"2026-08-23","inflow":0,"outflow":50,"balance":7950},{"date":"2026-08-24","inflow":0,"outflow":50,"balance":7900},{"date":"2026-08-25","inflow":0,"outflow":50,"balance":7850},{"date":"2026-08-26","inflow":0,"outflow":50,"balance":7800},{"date":"2026-08-27","inflow":0,"outflow":50,"balance":7750},{"date":"2026-08-28","inflow":0,"outflow":50,"balance":7700},{"date":"2026-08-29","inflow":0,"outflow":50,"balance":7650},{"date":"2026-08-30","inflow":0,"outflow":50,"balance":7600},{"date":"2026-08-31","inflow":0,"outflow":50,"balance":7550},{"date":"2026-09-01","inflow":0,"outflow":1450,"balance":6100},{"date":"2026-09-02","inflow":0,"outflow":50,"balance":6050},{"date":"2026-09-03","inflow":0,"outflow":50,"balance":6000},{"date":"2026-09-04","inflow":0,"outflow":50,"balance":5950},{"date":"2026-09-05","inflow":0,"outflow":50,"balance":5900},{"date":"2026-09-06","inflow":0,"outflow":50,"balance":5850},{"date":"2026-09-07","inflow":0,"outflow":50,"balance":5800},{"date":"2026-09-08","inflow":0,"outflow":50,"balance":5750},{"date":"2026-09-09","inflow":0,"outflow":50,"balance":5700},{"date":"2026-09-10","inflow":4000,"outflow":50,"balance":9650},{"date":"2026-09-11","inflow":0,"outflow":50,"balance":9600},{"date":"2026-09-12","inflow":0,"outflow":50,"balance":9550},{"date":"2026-09-13","inflow":0,"outflow":50,"balance":9500},{"date":"2026-09-14","inflow":0,"outflow":50,"balance":9450},{"date":"2026-09-15","inflow":0,"outflow":50,"balance":9400},{"date":"2026-09-16","inflow":0,"outflow":50,"balance":9350},{"date":"2026-09-17","inflow":0,"outflow":50,"balance":9300},{"date":"2026-09-18","inflow":0,"outflow":50,"balance":9250},{"date":"2026-09-19","inflow":0,"outflow":50,"balance":9200},{"date":"2026-09-20","inflow":0,"outflow":50,"balance":9150},{"date":"2026-09-21","inflow":0,"outflow":50,"balance":9100},{"date":"2026-09-22","inflow":0,"outflow":50,"balance":9050},{"date":"2026-09-23","inflow":0,"outflow":50,"balance":9000},{"date":"2026-09-24","inflow":0,"outflow":50,"balance":8950},{"date":"2026-09-25","inflow":0,"outflow":50,"balance":8900},{"date":"2026-09-26","inflow":0,"outflow":50,"balance":8850},{"date":"2026-09-27","inflow":0,"outflow":50,"balance":8800},{"date":"2026-09-28","inflow":0,"outflow":50,"balance":8750},{"date":"2026-09-29","inflow":0,"outflow":50,"balance":8700},{"date":"2026-09-30","inflow":0,"outflow":50,"balance":8650},{"date":"2026-10-01","inflow":0,"outflow":1450,"balance":7200},{"date":"2026-10-02","inflow":0,"outflow":50,"balance":7150},{"date":"2026-10-03","inflow":0,"outflow":50,"balance":7100},{"date":"2026-10-04","inflow":0,"outflow":50,"balance":7050},{"date":"2026-10-05","inflow":0,"outflow":50,"balance":7000},{"date":"2026-10-06","inflow":0,"outflow":50,"balance":6950},{"date":"2026-10-07","inflow":0,"outflow":50,"balance":6900},{"date":"2026-10-08","inflow":0,"outflow":50,"balance":6850},{"date":"2026-10-09","inflow":0,"outflow":50,"balance":6800},{"date":"2026-10-10","inflow":0,"outflow":50,"balance":6750},{"date":"2026-10-11","inflow":0,"outflow":50,"balance":6700},{"date":"2026-10-12","inflow":0,"outflow":50,"balance":6650},{"date":"2026-10-13","inflow":0,"outflow":50,"balance":6600},{"date":"2026-10-14","inflow":0,"outflow":50,"balance":6550},{"date":"2026-10-15","inflow":0,"outflow":50,"balance":6500},{"date":"2026-10-16","inflow":0,"outflow":50,"balance":6450},{"date":"2026-10-17","inflow":0,"outflow":50,"balance":6400},{"date":"2026-10-18","inflow":0,"outflow":50,"balance":6350},{"date":"2026-10-19","inflow":0,"outflow":50,"balance":6300},{"date":"2026-10-20","inflow":0,"outflow":50,"balance":6250},{"date":"2026-10-21","inflow":0,"outflow":50,"balance":6200},{"date":"2026-10-22","inflow":0,"outflow":50,"balance":6150},{"date":"2026-10-23","inflow":0,"outflow":50,"balance":6100},{"date":"2026-10-24","inflow":0,"outflow":50,"balance":6050},{"date":"2026-10-25","inflow":0,"outflow":50,"balance":6000},{"date":"2026-10-26","inflow":0,"outflow":50,"balance":5950},{"date":"2026-10-27","inflow":0,"outflow":50,"balance":5900},{"date":"2026-10-28","inflow":0,"outflow":50,"balance":5850},{"date":"2026-10-29","inflow":0,"outflow":50,"balance":5800},{"date":"2026-10-30","inflow":0,"outflow":50,"balance":5750},{"date":"2026-10-31","inflow":0,"outflow":50,"balance":5700},{"date":"2026-11-01","inflow":0,"outflow":1450,"balance":4250},{"date":"2026-11-02","inflow":0,"outflow":50,"balance":4200},{"date":"2026-11-03","inflow":0,"outflow":50,"balance":4150},{"date":"2026-11-04","inflow":0,"outflow":50,"balance":4100},{"date":"2026-11-05","inflow":0,"outflow":50,"balance":4050},{"date":"2026-11-06","inflow":0,"outflow":50,"balance":4000},{"date":"2026-11-07","inflow":0,"outflow":50,"balance":3950},{"date":"2026-11-08","inflow":0,"outflow":50,"balance":3900},{"date":"2026-11-09","inflow":0,"outflow":50,"balance":3850},{"date":"2026-11-10","inflow":0,"outflow":50,"balance":3800},{"date":"2026-11-11","inflow":0,"outflow":50,"balance":3750},{"date":"2026-11-12","inflow":0,"outflow":50,"balance":3700},{"date":"2026-11-13","inflow":0,"outflow":50,"balance":3650},{"date":"2026-11-14","inflow":0,"outflow":50,"balance":3600},{"date":"2026-11-15","inflow":0,"outflow":50,"balance":3550},{"date":"2026-11-16","inflow":0,"outflow":50,"balance":3500},{"date":"2026-11-17","inflow":0,"outflow":50,"balance":3450},{"date":"2026-11-18","inflow":0,"outflow":50,"balance":3400},{"date":"2026-11-19","inflow":0,"outflow":50,"balance":3350},{"date":"2026-11-20","inflow":0,"outflow":50,"balance":3300}]}}