arrow_backBack to blog

Cash flow forecasting for QuickBooks Online users

April 10, 20267 min readby FlowCast Team

The good news

If you're on QuickBooks Online, you already have every piece of data you need to build a clean direct-method 13-week cash flow forecast: open AR, open AP, bank balances, payment history, and a P&L for the recurring-outflow run-rate.

The bad news

None of it is in the right shape. QBO's built-in cash flow planner uses a budget-style approach and rolls everything into a single "projected income" line. You can't see the underlying invoices, you can't scenario, and the dates are driven by your budget assumptions rather than customer payment behavior.

What to pull and where it lives

  • Invoices → Sales > Customers > Invoices. Filter to "Open" and export to CSV. The DueDate column is what matters.
  • Bills → Expenses > Bills. Same filter, same export.
  • Bank balances → Accounting > Chart of accounts. Bank-type accounts only.
  • Payments history → Sales > Customers. For each customer you care about, look at the average gap between invoice DueDate and payment receipt — that's your days-to-pay.
  • P&L → Reports > Profit and Loss for the trailing 90 days. Look for Payroll, Rent, Utilities, Insurance — divide each by 13 to get a weekly run-rate.

Building the spreadsheet

Lay out 13 weekly columns. Schedule each invoice into the week of its expected payment date (DueDate + that customer's days-to-pay). Schedule each bill into the week of its DueDate. Add the recurring outflows as a flat row per week. Roll the ending balance.

Why this falls apart fast

Every new invoice in QBO means re-exporting. Every paid bill means deleting a row. Every new bank balance means typing it in. Most finance owners rebuild this sheet weekly and lose 2–4 hours doing it.

The automated path

FlowCast does all of the above automatically over a read-only OAuth connection to QBO. We subscribe to QuickBooks CloudEvents webhooks so the forecast stays fresh, encrypt your tokens at rest with AES-256-GCM, and rotate your refresh token on every use per Intuit's requirements.