Contract value isn't cash. If your forecast treats a signed statement of work like money in the bank, you'll find out the difference the week payroll is due.
A firm billing $95,000 in a month can still come up short on payroll that same month, because none of that $95,000 clears the bank the day the invoice goes out. Some of it sat as unbilled hours for two weeks before anyone ran the invoice batch. Some of it is on a 45-day term with a client who pays on day 52 anyway. And some of the "revenue" for the month is actually a milestone that won't be billable until a client sign-off that keeps slipping. Subscription businesses forecast cash by drawing a smooth line through MRR. Project-based firms can't, because revenue arrives in lumps, on different terms, at different stages of completion. This is a method for forecasting cash when the underlying business runs on projects, not one that pretends it runs like SaaS.

Most cash flow templates assume revenue is recognized and billed on roughly the same day, and collected on a predictable term shortly after. That's a fine assumption for a subscription business. It's a bad one for an agency, consulting firm, or dev shop, where a $150,000 engagement might be earned in daily two-hour increments over four months but only invoiced at three milestones. Between the day work is done and the day cash lands, there are at least two separate delays stacked on top of each other: the billing delay (how long unbilled work sits before someone turns it into an invoice) and the collection delay (how long that invoice sits unpaid after it's sent).
Both delays are measurable, and both are usually longer than owners assume. If your average days sales outstanding is 38 days and your billing cycle only runs every two weeks, you're looking at roughly 45 to 50 days between finishing work and having the cash from it. A forecast that ignores this and just projects "revenue" forward month by month will always be optimistic, sometimes by a lot. We cover DSO and its relatives in more depth in our KPI guide for agencies and consulting firms, but for cash forecasting specifically, DSO isn't a scorecard number, it's an input you plug directly into the model.
Stop trying to forecast cash from a single "expected revenue" line. Break it into three layers that behave completely differently, and forecast each one on its own terms before adding them together.
Layer one you can forecast almost to the day. Layer two you can forecast within a week if you know your own billing habits. Layer three should carry a wide margin of error and never be treated as committed cash, no matter how good the sales call felt. Firms that run their CRM, time tracking, and invoicing as one connected system, which is the whole premise behind how Autovella's CRM, projects, and billing modules are wired together, can pull all three layers from the same place instead of reassembling them from three exports every Friday afternoon.
Monthly forecasting is too slow for a project-based business. A milestone that was supposed to be invoiced on the 10th can quietly slip to the 24th, and if you only look at cash once a month you won't notice until it's already affected a payroll run. Move to a weekly cadence instead:
Every week, pull the current unbilled WIP balance and ask why it's grown if it has. A rising WIP balance, week over week, usually means someone stopped running invoices on schedule, not that the team suddenly got more productive. Every week, check which invoices crossed 30 and 45 days unpaid, and have someone actually call those accounts rather than waiting for an automated reminder to do the work. And every week, roll the 13-week forecast forward by one week rather than rebuilding it from scratch, so you can see trend, not just a snapshot.
Thirteen weeks is the right horizon for the detailed, week-by-week version of this forecast, because it covers a full invoicing-and-collection cycle with room to see problems coming. Beyond that, a rougher monthly view out to five or six months is enough to inform hiring and capacity decisions, since precision that far out is mostly theater.
Suppose the 13-week model shows week 7 dipping below one month of payroll. That's not a crisis yet, it's a lead time. You have six weeks to do something about it, which is the entire point of forecasting this way instead of finding out from the bank balance.
The fastest lever is almost always billing speed, not sales. Closing a new deal today doesn't produce cash for 60 to 90 days once you account for delivery ramp-up and collection. Shrinking the gap between finished work and a sent invoice, or moving a client from monthly to milestone-based billing, can pull cash forward inside the same forecast window you're trying to fix.
Beyond billing speed, the practical options are limited and worth naming plainly: negotiate a deposit or upfront milestone on the next signed deal instead of net-30 terms throughout, delay a planned hire by one payroll cycle, draw on a line of credit before you need it rather than after, or, if a client is chronically slow to pay, decide whether that relationship is worth the working capital it ties up. None of these are exciting. All of them are far easier to execute with six weeks of notice than six days. If you're evaluating whether a platform that connects delivery and billing data is worth the switch, the pricing page breaks down what's included at each plan level, including the invoicing and forecasting views described here.
Get a walkthrough of how Autovella turns WIP, invoices, and pipeline into one rolling cash view instead of a spreadsheet someone rebuilds every Friday.
Run a rolling 13-week forecast at weekly granularity, since that's roughly one full invoicing and collection cycle for most services firms, then extend a rougher monthly view out to 6 months for staffing and hiring decisions. Anything longer than 6 months on a project-based business is a guess dressed up as a plan.
Treating signed contract value as if it were cash in the bank. A $200,000 statement of work might release cash in four milestone payments over five months, with 30 to 45 days of collection lag after each one. The contract number and the cash number are not the same number, and mixing them up is how firms end up surprised by a payroll gap.
Every hour logged against a project but not yet invoiced is revenue you've earned that hasn't started its collection clock. If WIP sits for two weeks before someone runs the invoice batch, you've added two weeks to however long that cash was already going to take to arrive. Shrinking the gap between logging time and sending the invoice is one of the fastest ways to pull cash forward without changing a single client relationship.