SaaSFlow
ConceptsCommon objects

Planned transactions

Forecasts of future inflows and outflows — recurring expenses, salary runs, one-offs — that feed the cash flow forecast.

A planned transaction is a future transaction you expect to happen. Salaries on the last business day of the month. SaaS subscriptions every January. A planned hire in Q3. They feed the Cash flow forecast so the projected balance line reflects what you actually know about the future, not just an extrapolation.

Two flavours

  • One-off — a single future transaction (date, amount, category).
  • Recurring — a schedule (weekly, monthly, quarterly, yearly) with an optional end date. Each scheduled occurrence shows in the forecast.

Add them from the Planned transactions page (sidebar → Planned transactions).

Invoiced planned transactions

With Stripe connected, SaaSFlow also creates a planned transaction for every open invoice: issued, not paid yet. These are not predictions. The amount, due date, and service period come from the invoice itself, and the row disappears on its own once the payment arrives.

Each invoiced occurrence carries a badge:

BadgeMeaning
InvoicedIssued, payment expected by the due date.
OverdueThe due date has passed. Still expected — most late invoices get paid.
Collection stalledNothing is going to happen without action. See below.

Overdue invoices would normally hide before the list's forward-looking date window, so the list pins an Overdue section on top whenever the window starts today or later. It shows the count, the total when all rows share one currency, and a Show all action that widens the date filter when there are more than fit.

When is collection stalled?

SaaSFlow reads the invoice's collection state from Stripe and marks an invoice stalled when:

  • it is charged automatically, Stripe's payment retries are exhausted with none scheduled, and the invoice is older than 14 days, or
  • it is charged automatically and Stripe never attempted collection for 30 days (usually a missing payment method), or
  • it is paid by bank transfer and more than 90 days past due (120 days after the invoice date when it has no due date).

The badge's tooltip states the exact reason. A stalled invoice stays in the list, but the cash flow forecast stops counting it as expected cash. The label is a heuristic on our side; the invoice remains open in Stripe. To retire it for good, mark it uncollectible or void it in Stripe and SaaSFlow follows automatically.

Amount sign

Stored amounts are signed: positive means money coming in, negative means money going out. In the app you don't type the sign yourself. You enter the amount, and the money out / money in label on the field shows the direction; click it (or press - / + in the field) to flip. Choosing a category presets it (expense categories switch to money out, revenue categories to money in). Via the API, send the sign explicitly: -500 for a planned expense of 500.

What they don't do

Predicted planned transactions don't post to your accounts, don't show up in the Transactions list, and don't affect P&L until they happen for real. They only feed forward-looking reports.

Invoiced planned transactions are the one exception: with Count revenue when invoiced enabled on the Profit & loss report, issued unpaid invoices count as revenue in the months their service period covers.

On this page