
- Last updated:
- 14 min read
Title: Free Freelance Cash Flow Forecast Template for Excel and Google Sheets
Meta description: Download a free freelance cash flow forecast template for Excel and Google Sheets. This freelance cash flow projection works by payment date, week by week, with a 13-week view and a worked example.
If your freelance income hits in lumps, a monthly spreadsheet can look fine while your balance dips midweek. Download this free freelance cash flow forecast template for Excel and Google Sheets to plan cash by payment date, week by week. You get a 13-week and 12-month view, a pipeline that separates confirmed from likely work, and a worked example that shows the gap between the day you invoice and the day you get paid.
Take Maya. She runs a two-person brand studio, bills one $2,400 monthly retainer plus milestone projects on Net 15 to Net 45, and has one client who is reliably a week late. Her $1,450 studio rent is due on the 15th. More than once it has landed in the gap between sending an invoice and getting paid, while her monthly sheet said she was fine.
Download your Freelance Cash Flow Forecast Template
Instant access
Download the Excel template. It also opens in Google Sheets. The structure follows best practice recommended by the SBA: opening balance, cash in, cash out, ending balance over time.
When your pipeline and bills grow beyond a static sheet, try Cash Flow Calendar's calendar view with a projected balance and optional bank connection (trial details are on our pricing page).
What's inside the template
- Dashboard: weeks of runway, the first week cash drops below your minimum, your lowest balance, and confirmed invoices already past due.
- Pipeline: one row per expected payment, with Client, Amount, Status (Confirmed, Likely, Possible, or Paid once it lands), Invoice Date, Net Terms, Client Delay, and a calculated Expected Pay Date.
- Expenses: monthly bills on their due dates, weekly costs, one-off costs on a set date, subcontractor payments, and owner pay.
- 13-Week Forecast: week by week, Monday to Sunday.
- 12-Month Forecast: the same math by month, for planning.
- Assumptions: start date, cash today, minimum cash, tax set-aside rate, and the Likely percentage.
Lean vs Expected. Both forecast tabs show two lines. Lean counts Confirmed money only. Expected adds your chosen share of Likely work, so with the Likely percentage at 60%, a $3,000 Likely project adds $1,800 to Expected and nothing to Lean. Plan bills around Lean. Use Expected to decide whether to take on more.
Why this template is different
The templates we tried before building ours were monthly and ran on invoice dates. This one forecasts by payment date and gives each client their own delay, which the invoice date section below walks through.
Milestone and partial billing get one row per payment, so a $6,000 project split 50/50 shows up as two dated $3,000 receipts. A month total can't show that rent leaves on a Wednesday and the money arrives the following Monday. Weekly buckets catch it. If you'd rather not maintain formulas at all, a calendar view shows your projected balance and upcoming bills and income without them.
How the template works at a glance
From opening cash to runway
Every period, weekly or monthly, runs on five numbers:
- Opening cash: what's in the account when the period starts. Week 1 uses cash today from Assumptions. Every later week starts with the previous week's closing cash.
- Net cash: money in minus money out during that period, by payment date.
- Closing cash: opening cash plus net cash.
- Minimum cash: the floor you set. The Dashboard flags the first week closing cash falls below it.
- Weeks of runway: roughly how many weeks until you cross that floor at your current pace.
Say a week opens at $2,750, $1,950 goes out, and nothing comes in. Closing cash is $800. With a $2,500 minimum, that's your warning week, even if $7,000 arrives the week after.
One rule runs underneath all of it. The model uses payment dates, not invoice dates, and gets each one by adding Net Terms and Client Delay to the Invoice Date.
Invoice date vs payment date, net terms, and late payments
An invoice date is when you ask for money. A payment date is when you can spend it. The gap is Net Terms plus however late that client usually runs.
Here's a separate illustration, outside the six-week example further down. Say Maya invoices Client D $3,200 on Monday, March 16, on Net 30, and Client D usually pays 5 days late.
- Invoice date: Monday, March 16
- Due date (Net 30): Wednesday, April 15
- Expected pay date (plus 5 days): Monday, April 20
Her $1,450 rent is due Wednesday, April 15. A monthly view shows April with $3,200 in and $1,450 out, up $1,750. A weekly view shows the week of April 13 with rent leaving and nothing arriving. If she has $1,200 that Monday, she's $250 short for five days.
Without the Client Delay, even a weekly view would put the payment on April 15, the same day as rent. The delay is what makes the problem visible.
Entering terms, delays, and partial payments
- Type the number of days in Net Terms (30, not "Net 30") and the client's usual lateness in Client Delay. Use 0 until you see a pattern.
- Base Client Delay on recent payments, not hopes. If a client ran 4, 6, and 5 days late, enter 5.
- For a partial payment, split the row. Mark the paid part Paid and keep the unpaid balance as its own row, then push its date later by raising Client Delay on that row. Leave Expected Pay Date (column G) alone.
Set up your freelance cash flow forecast template in Excel (and Google Sheets)
- Fill in Assumptions. Start date (a Monday keeps weeks clean), cash today from your bank, minimum cash, tax set-aside rate, and Likely percentage. Maya uses Monday, March 2, $6,000, a $2,500 minimum, a 25% tax set-aside, and 60%.
- Add fixed expenses with due dates. Rent on the 15th, software on its renewal date, insurance, phone.
- Add variable and one-off costs. Subcontractors, owner pay, equipment, and quarterly tax payments.
- Add pipeline rows, one per payment. A retainer gets one row per month. A milestone project gets one row per milestone.
- Enter Net Terms and Client Delay. Expected Pay Date calculates from them, and a weekend date moves to Monday. Check one row by hand before trusting the rest.
- Mark Status and set the Likely percentage. Confirmed means signed with a date. Likely means a verbal yes or a renewal you expect. Possible means a proposal is out, and it stays out of the cash.
- Check the 13-week view first. Read the Lean line and find the first week closing cash dips below your minimum.
Freelance revenue forecast Excel: step-by-step
Here are two of Maya's rows and how they reach the 13-week view.
Retainer row. Client A, $2,400, Confirmed, Invoice Date Monday, March 2, Net Terms 15, Client Delay 0. Expected Pay Date is Tuesday, March 17, so it lands in the week of March 16.
Milestone row. Client C, $3,000, Confirmed, Invoice Date Friday, March 13, Net Terms 15, Client Delay 7. That adds up to Saturday, April 4, which rolls to Monday, April 6, so it lands in the week of April 6.
The 13-Week tab adds every Expected Pay Date that falls between a week's Monday and Sunday. If Client C pays $1,500 on April 6 and promises the rest later, split the row into $1,500 Paid and $1,500 Confirmed, then raise Client Delay on the Confirmed row to push its date. Leave column G alone.
Key formulas you can copy (Excel and Google Sheets)
These assume Pipeline columns B Amount, C Status, D Invoice Date, E Net Terms, F Client Delay, G Expected Pay Date, and H Weighted Amount. WORKDAY, IF, SUMIFS, and ROUNDDOWN use the same syntax in Excel and Google Sheets.
Expected Pay Date (G2): `=WORKDAY(D2+E2+F2-1,1)` The common version, `=WORKDAY(D2+E2+F2,0)`, returns the date unchanged, Saturdays included. Subtracting 1 and adding 1 workday keeps weekday dates as they are and moves weekend dates to Monday.
Weighted amount for Expected (H2): `=IF(C2="Confirmed",B2,IF(C2="Likely",B2*Assumptions!$B$5,0))` Possible and Paid rows count as zero.
Weekly bucket, Expected line (B1 holds that week's Monday): `=SUMIFS(Pipeline!$H:$H,Pipeline!$G:$G,">="&B$1,Pipeline!$G:$G,"<="&B$1+6)` For the Lean line, sum column B and add `Pipeline!$C:$C,"Confirmed"` as another criteria pair.
Weeks of runway (on the Dashboard tab): `=IF(Dashboard!B4>=0,"Not burning cash",ROUNDDOWN((Dashboard!B2-Dashboard!B3)/-Dashboard!B4,0))` These are Dashboard cells, not Assumptions cells. Dashboard!B2 is cash today, Dashboard!B3 is minimum cash, and Dashboard!B4 is average weekly net cash, the average of the Lean line's weekly net cash on the 13-Week tab. With $6,000 cash, a $2,500 minimum, and an average weekly net of minus $700, that's 5 weeks.
Model irregular income like a pro
Lumpy income is mostly a sequencing problem. For each project, run these timeline checks:
- Delivery date: when the work is done.
- Invoice date: ideally the same day. Each day of lag pushes the pay date back a day.
- Expected pay date: Invoice Date plus Net Terms plus Client Delay.
- Subcontractor pay date: often fixed, and often before the client pays.
- Margin if the client pays late: Maya's $4,000 job uses an $1,800 subcontractor, so the margin is $2,200. She pays the subcontractor March 31 and the client pays April 8, so she floats $1,800 for 8 days. If the client slips 15 days, she floats it for 23, and any card interest comes straight out of the $2,200.
When a retainer client says "let's pause after March," flip April onward from Confirmed to Likely so Lean stops counting it. The Likely percentage applies to every Likely row, so if this renewal feels shakier than your others, mark it Possible instead.
Taxes and compliance baked in for freelancers
According to 2026 guidance from the Internal Revenue Service, self-employed people generally pay estimated income and self-employment taxes quarterly, with the year divided into four payment periods that each have a due date. The template handles the cash side of that in three ways.
- Reserve from each receipt. At a 25% set-aside, Maya's $2,400 retainer payment becomes $600 reserved and $1,800 spendable.
- Date each quarterly payment. Enter it as an outflow on that period's due date so you can see it coming.
- Keep the reserve out of spendable cash. The template does this for you. The forecast reserves your set-aside share of every receipt as it arrives, so closing cash and runway use spendable money only. If you reserve from receipts, the quarterly payment comes out of the reserve, so don't subtract it from spendable cash a second time.
We don't know your right rate. That depends on your income, deductions, and state, and a tax professional can help you pick it. The template only makes sure the rate you choose comes off the top.
Project freelance cash flow under uncertainty with scenarios
Run three versions:
- Base (Lean): Confirmed only, with terms and delays as entered.
- Expected: Lean plus your Likely percentage.
- Downside: add 10 to 15 days to every Client Delay and lower the Likely percentage, say from 60% to 40%.
Lean and Expected already sit side by side. For Downside, the quickest method we've found is a copy of the file named "Downside" where you make those changes. Delete it afterward so you never update the wrong file.
Three what-ifs from Maya's forecast:
- Client B pays 12 days late. The $4,000 moves from April 8 to April 20, and the week of April 6 closes at $2,150 instead of $6,150, under her minimum.
- You lower the Likely percentage from 60% to 40%. The $3,000 Likely row's contribution to Expected for the week of April 20 falls from $1,800 to $1,200. Lean doesn't move.
- A new $1,500 retainer starts April 1 on Net 30. It pays May 1, in the week of April 27, so it helps May but does nothing for the dip in the week of March 30, the shortfall that matters here.
Cash flow projection freelance: example walkthrough using the freelance cash flow forecast template
Here's Maya's six weeks, built on Monday, March 2, 2026. To keep the arithmetic readable, we've left out the tax reserve.
Starting point: $6,000 opening cash, $2,500 minimum.
Money in:
- Client A retainer, $2,400, invoiced on the first Monday of the month (March 2), Net 15, paid Tuesday, March 17
- Client C milestone, $3,000, invoiced March 13, Net 15 plus 7-day delay, paid Monday, April 6
- Client B website, $4,000, invoiced March 9, Net 30, paid Wednesday, April 8
Money out:
- $150 a week in running costs
- $1,500 owner pay every other Friday (March 13, March 27, April 10)
- $1,450 rent, Sunday, March 15
- $600 annual design software renewal, Thursday, March 26
- $1,800 subcontractor, Tuesday, March 31
Closing cash by week:
- Week of March 2: $5,850
- Week of March 9: $2,750
- Week of March 16: $5,000
- Week of March 23: $2,750
- Week of March 30: $800 (below minimum by $1,700)
- Week of April 6: $6,150
Over six weeks, $9,400 comes in and $9,250 goes out. She ends ahead, but rent and the software bill land before the Net 30 payment, and the subcontractor gets paid the week before Client B and Client C pay.
Because she's seeing this four weeks early, she has two levers:
- Front-load a 50% deposit. Bill $1,500 of the Client C milestone when the phase starts on March 2. With their 7-day delay, it arrives March 24, and the week of March 30 closes at $2,300. Better, still $200 short.
- Move retainer billing earlier. Invoice April's $2,400 retainer on March 16 instead of the first Monday of April (April 6). It arrives March 31, and the week of March 30 closes at $3,200 on its own.
Together, that week closes at $4,700. One honest catch: the retainer move borrows from mid-April, so check the 13-week view for a new dip there.
Reconcile forecast to actual bank cash weekly
A forecast you don't check drifts quietly. Every Monday, Maya runs this loop:
- Check the bank balance and type it into cash today.
- Mark invoices Paid that arrived last week.
- Roll forward anything unpaid by raising Client Delay on that row, so it doesn't sit in a past week. Leave Expected Pay Date (column G) alone.
- Compare last week's forecast closing cash to the bank. If the forecast said $5,850 and the bank says $5,820, find the $30.
- Adjust Client Delay or amounts if the same gap shows up two or three weeks running.
Common causes of drift:
- Duplicated rows, often from copying a retainer row twice.
- Dates stored as text, which SUMIFS skips without warning.
- Formulas typed over with a number "just this once."
Best practices to keep your forecast accurate
- Invoice the day a milestone is done.
- Update on Monday, before the week's bills, using the reconcile loop above.
- Keep business and personal money separate, and treat owner pay as an expense.
- Fold payout lag into Client Delay. A Stripe payout that lands two business days after the client pays is part of the delay.
- Prevent spreadsheet errors:
- Protect formula ranges, including Expected Pay Date, Weighted Amount, and every forecast tab.
- Use data validation so date columns only accept dates and Status only accepts the listed options.
- Avoid merged cells, which break sorting and formula ranges.
- Keep Assumptions as the single source of truth, and never type 25% straight into a formula.
Compare options: free vs premium templates and tools
A free template fits when you like spreadsheets and actually do the Monday update. An app fits when the update is the part you skip, or when one formula slip has already cost you a bad week.
Picture Maya in a busy March. If she skips the Monday update on March 23, her sheet still shows last week's bank balance and unpaid rows sitting in past weeks, so the $800 low on March 31 can show up wrong or not at all. That missed Monday is the cost a spreadsheet puts on you.
Cash Flow Calendar is the dynamic option we built. It reduces spreadsheet maintenance and formula drift, since there are no formulas for you to keep.
There's a free trial, and the details are on the pricing page.
Static template vs dynamic calendar view forecasting
Here's Maya's weekly upkeep both ways. Our 2026 explainer on the irregular income calendar covers the calendar side in more depth, including that the app works on the web, iOS, and Android.
- Spreadsheet: copy the retainer row every month. Calendar: set a recurring item once (weekly, biweekly, semi-monthly, monthly, or custom).
- Spreadsheet: scan weekly closing cash for the warning week. Calendar: the projected balance shows the exact date, such as Tuesday, March 31, when it would dip too low.
- Spreadsheet: type in the bank balance and mark rows Paid. Calendar: an optional Plaid connection pulls real transactions and balances, and manual entry works fully without it.
- Spreadsheet: protect formulas and validate dates. Calendar: nothing to protect.
- Spreadsheet: separate files for studio and household. Calendar: multiple calendars per account, with transfers between accounts.
- Spreadsheet: build your own category totals. Calendar: budgets by category and reports.
What the app doesn't do is guess when your client will pay. You still choose that date. If you want probability-weighted pipeline math, keep it in the template and put confirmed income and bills on the calendar.
Next steps
Download the freelance cash flow forecast template, set up the 13-week view with this Monday's bank balance, and read the Lean line for your first warning week. That Lean view showed Maya her March 31 dip four weeks early. Then make a Downside copy with 12 extra days of delay to see how much worse a slow month could get. When the weekly updates start eating your Mondays, try Cash Flow Calendar's calendar view and projected balance, with an optional bank connection, and check pricing for trial details.

Written by
Philipp AlbrechtPhilipp Albrecht is the founder of Cash Flow Calendar. He spent years as a freelancer and built the app after missing a rent payment while waiting on client invoices — not because he didn't have the money, but because it hadn't landed yet. Everything on this blog comes from that problem: knowing what's coming in, what's going out, and on which day.
FAQs
Start with the sum of fixed bills that could cluster in a tight stretch, then add a cushion you can sleep on. For example, if rent, payroll, and software in a typical two‑week span total 2,800, choose a floor between 2,800 and 4,000 based on risk comfort. Recheck the number after a quarter of actuals and raise it if your lowest weeks came too close for comfort. Keep the target round so it’s easy to spot when you’re under it.
Related Articles

Income Smoothing for Freelancers with a Steady Paycheck
Nov 2, 2026

Proof of Income Self Employed With a Dated Payment Log
Oct 31, 2026

Profit First for Freelancers Scheduled on a Calendar
Oct 30, 2026

One Weekly Rule for Freelance Taxes and Set-Asides
Oct 29, 2026

Self Employed Budget on One Calendar, Projected Balance
Oct 26, 2026

Quarterly Estimated Tax Calendar For Freelancers Due Dates
Jun 25, 2026

Visual Budget Planner for Gig Workers in 15 Minutes
Jun 17, 2026

How to Pay Yourself a Salary as a Freelancer, 90-Day Method
Jun 16, 2026

Best Gig Economy Platforms to Earn Extra Money by Net Pay
Apr 12, 2026

How to Price Freelance Services: Set Rates and Cash Flow
Apr 12, 2026

Best Tax Advisor for Freelancers and How to Choose
Apr 11, 2026

How to Estimate Quarterly Taxes for Freelancers With 4 Dates
Apr 11, 2026

Tax Deductions for Freelancers You Can Claim This Year
Apr 10, 2026

How to Build a Safety Net as a Freelancer
Aug 19, 2025

Top 7 Budgeting Apps for Freelancers to Manage Finances Efficiently
Aug 18, 2025

The best ways to track expenses as a freelancer
Aug 19, 2025

How to Create an Invoice as a Freelancer
Aug 19, 2025

YNAB (You Need a Budget) for Freelancers: Is It Worth It?
Aug 19, 2025

Wave vs FreshBooks: Which Invoicing Tool is Best for Freelancers?
Aug 19, 2025

The Freelancer’s Guide to Invoicing
Aug 19, 2025

How to Track and Deduct Business Expenses as a Freelancer
Aug 18, 2025

How to Save for Vacation as a Freelancer
Aug 18, 2025

How to Separate Business and Personal Finances as a Freelancer
Aug 18, 2025

How to forecast Income as a Freelancer
Aug 18, 2025