Cashflow Forecasting

icon picker
Start here

About this Doc

This Cashflow Forecasting Template is a little tool to test out scenarios for your financial year.
Copy doc

What is in here

The actual cash flow table, including additional charts for better data visualisation.

Set up your forecasting
Name: A reference name for you
Monthly OR Yearly: Enter the amount either per month or the total sum per year
Total: An automated calculation of the total
Interval: Select if a transaction is monthly or yearly. Monthly transactions are spread evenly across all months. ​Don’t forget to add a “month” if you select yearly!
Month: If you select yearly, add a month where the transaction should be applied to
Revenue Cat OR Expense Cat.: Select in which category the transaction should be applied to. These are just examples, use whatever you prefer.
Apply / Remove: Other than fixed transactions, the forecast must be applied to be included in the cashflow. You can apply/remove per row or use the buttons on top of the page to apply/remove all. ​Note that changes here are not applied automatically! You need to remove and apply the row again if you change any column.

Set the starting values, as well as your income categories (e.g. clients) or expense categories.

How to use it

Go to and set your starting value, your clients and expense categories.
Go to and add your forecast
Go to . All applied forecast rows should be visible here now. I prefer to open the Cashflow in a new browser window and compare my changes live next to my forecast maker table.

How it works technically

Coda tables usually are like database tables not made to work like the Cashflow. But luckily we have a lot of formulas and workarounds to make almost everything possible – even in multiple ways.

Transpose in Cashflow

Have a look at and check out the formula in the column “Import Forecast”. A sequence goes through each month. Within the sequence, a switchIf parses the name of the row and creates outputs the respective values. In the end, each row has a list of 12 values.
In the columns for each month, the formula gets the list and pulls out the nth element of it – depending on the month.
Thanks to for the inspiration.

Automatic row names in Cashflow

I wanted the Cashflow table to be automated as much as possible. Adding a new expense by a new expense category should not require manually entering it also here. The formula in the name table creates a list of fixed rows like “starting balance” and dynamically adds the revenue and expense categories by getting it from the respective table. By using a , the formula then pulls the nth element of that list. The Cashflow table uses a filter to show the right amount of rows.


For the Forecast Maker, the “apply” button creates a row for each month for each forecasted transaction in . The data will then be used in the Cashflow formula. The rows are referenced via ID and a reference column to add/remove them. There are two problems with that, and I only solved one yet: 1. When you delete the row in the Scenario table, you can no longer remove it from the DB forecast. I solved this by checking if there are any references in DB Forecast, that do not exist in DB Scenario. In that case, I show a notice + button to resolve these kinds of data issues. 2. When you make a change in DB Scenario, it is not applied automatically in the Cashflow and you have no indicator that it is not. You need to manually remove and apply the scenario again. There are several ways to check for changes, but none is elegant enough for me yet to implement.

Next steps

This doc is only an extracted template of my very extensive finance doc. In there, I import my transactions from bank accounts and automatically generate a profit and loss list with categories. Once a month I manually update transactions that are not learned by the system yet. The profit and loss list then feeds the cash flow table. For upcoming months, I automatically see my fixed transactions and in addition, play around with the forecast maker. This doc is only the cashflow with the forecast maker.
But you can take this doc and expand it as much as you like.
And if you need help, reach out to me via , visit the , or .


Use at your own risk. No financial advice. Errors and mistakes are subject to change.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.