Blog · July 30, 2026 · 7 min read
The 20-minute cash flow forecast for a small business
A cash flow forecast for a small business takes about twenty minutes and fits on one page. Write down what is in the operating account this morning. Put the next 8 to 13 weeks down the left side, one row per week. For each row, fill in what you expect to collect that week and what you have already committed to pay, then carry the balance forward. That column of ending balances is the forecast.
You are hunting one number in it. The lowest one, and the week it lands in. Call it the pinch week. Everything after that is picking a lever and pulling it before the week arrives, in a particular order, with borrowing at the bottom of the list.
Thirteen weeks, because four weeks hides the quarterly bills and twelve months is fiction. I will take a sloppy thirteen weeks over a beautiful twelve months every time.
The number in your bank app this morning
Open the bank app and write down the real balance. Your accounting software is a week behind and still counting checks nobody has cashed, so leave it closed.
Then two short lists, from memory. Money in: what walks through the door in an average week, what you invoice in an average month, how long customers actually take to pay you, and which of them pay by card, because that money sits two days behind the sale. The "how long they actually take" part matters more than the terms printed on your invoice, and most people writing this list for the first time get it wrong by two weeks.
Money out: rent and the day it hits, payroll and its exact dates, supplier bills, loan payments, subscriptions, your own draw, whatever you set aside for tax.
Rough is fine. "About $1,300 a week at the counter" beats stopping to reconcile. Precision at this stage is a procrastination device. If you open the books to check, you will not finish today.
Take Ridgeline Signs, a five-person shop off a state highway doing vehicle wraps and storefront signage. On Monday, August 3, Dana has $18,400 in checking. Counter work brings in around $1,300 a week, same day. She invoices about $27,400 a month to commercial customers on net 30, and they pay her in 44 days on average. Going out: $3,900 rent on the 1st, $9,200 payroll every other Friday, roughly $4,500 a month to the vinyl supplier on net 15, an $1,180 printer loan on the 10th, and a $2,500 draw for herself.
Lay out the weeks, one row at a time
Put thirteen dates down the page. August 3, August 10, and on through October 26.
An invoice sent is not cash. Date every receivable by when the money actually shows up. If the school district has taken 44 days every time for two years running, put it at 44 days.
Biweekly payroll produces a three-paycheck month roughly twice a year, and it is never the month you brace for. October is Dana's: paydays on the 2nd, the 16th, and the 30th.
Annual and quarterly bills are what ambush people. General liability renews October 15 at $4,300. Sales tax for the quarter is due October 20, about $3,100.
Then add the seasonality you already know about without being told. If January is always dead, the sketch should show January dead.
Find the pinch week
Dana's balance sits between $14,000 and $21,000 through all of August and September. Ten rows of nothing.
Then the printer loan drafts Monday October 12, the insurance renewal drafts Thursday the 15th, payroll runs Friday the 16th, and $8,100 comes in against $14,680 going out. She ends that week at $11,800, which still looks fine.
Week of October 19: sales tax Tuesday, the vinyl bill Friday. Only counter money comes in, because her two biggest September invoices are the two that are late. She ends at $5,500.
Week of October 26: her draw on Monday, the third payroll of the month on Friday the 30th. About $1,600 arrives against a normal week of roughly $8,000. Friday close is negative $4,600.
Now look one row past the end of the window, which is the part people skip. Rent drafts Monday, November 2, and takes her to negative $8,500. The $11,400 the school district owes on the September 21 invoice lands Wednesday, November 4, at their usual 44 days, and the account is fine again by lunchtime. The money exists. It arrives five days late. My thirteenth row is almost always a lie for exactly this reason, so I sketch fourteen and read the last two together.
The output is a sentence you can say out loud to a business partner: "We're fine until the last week of October, when the third payroll of the month lands on top of sales tax and the supplier bill, and we're about $4,600 in the hole until the district pays us the following Wednesday."
If your column never dips, say so plainly and go back to work. An all-clear with a date on it is a complete answer.
Work the levers in this order
Start at the top. Stop as soon as the gap closes.
Collect faster. Print the aging report before you do anything else. Dana's shows $11,400 from the school district billed September 21, and $6,900 from a property management company sitting at 68 days. One phone call in early October to the accounts payable clerk, by name, does more than a fourth emailed copy of the invoice. She also batches her invoicing at month end, which quietly adds eleven days to every job. Invoicing the day the wrap comes off the vehicle would close her gap by itself.
Move the timing. Ask early. In August, asking the vinyl supplier for net 30 instead of net 15 is a boring conversation between two businesses. In late October the same request is a distress signal and gets heard that way. Meanwhile one call to her insurance agent turns the $4,300 annual premium into about $375 a month, which pulls $3,925 out of October and shrinks the hole to under $700.
Trim the quiet leaks. Dana pays $84 a month for a design seat belonging to someone who left in March. Another $60 goes to a web host that duplicates what her site builder already includes. Small, and permanent.
Sell into the gap. Pick the promotion by when its money lands. Margin is the second question. Booster club banner season opens in September, and taking a 50% deposit at order puts about $3,000 in the account three weeks ahead of the pinch.
Borrow last. A line of credit bridges timing, and that is the whole of what it does. If your sketch shows the balance falling every week regardless of when customers pay, the operation is losing money, and borrowing buys you a losing operation with interest attached.
Dana used two levers. The bigger one was a five-minute phone call to her insurance agent, which is usually how it goes.
Some findings outrank the forecast
Occasionally the sketch turns up something that matters more than the pinch week, and you should stop and deal with it.
Tax money doing double duty as working capital. Dana was surprised by the $3,100 sales tax bill, which means she has been operating on money she collected on behalf of the state. Payroll withholding is the same mistake with a much worse ending. The fix is a second checking account and a weekly sweep, and I would open it before finishing the forecast.
Revenue down three periods running. Two down months is weather. Three is a trend, and no forecast fixes a trend.
One customer being most of the money coming in. If the school district is 40% of Ridgeline's revenue, Dana's cash position belongs to their accounts payable department, and she should know that clerk by name in months when she needs nothing at all.
Write it down and set the next date
Ridgeline's entire forecast, in three lines: comfortable through September. About $4,600 short the week of October 26. Insurance moved to monthly billing, called the district's AP clerk on September 8.
Put today's balance and the pinch date next to it. Four weeks from now you open with "last time we were watching October 26, here's how that went," which is a considerably better meeting than starting from a blank page. I have never seen anyone get much value out of a forecast they built once.
Scaffle is an AI advisor for businesses. It learns how yours actually runs, and once you connect the tools you already use, it keeps watch on things like the pinch week instead of waiting for you to go looking. You can see it at scaffle.ai.