Free cash flow dashboard from a CSV
Short answer: Choose a CSV of transactions and this free tool shows money in, money out and net cash flow by month and by category, with checks for repeated and unreadable rows. It runs in your browser: the file is not uploaded or sent to any AI. Try the 24-row sample first: $48,250 in, $32,840 out, $15,410 net.
Bring an export from your bank, card, QuickBooks or Xero. The tool reads it on your device, maps the columns, and builds the dashboard with checks you can trust: unreadable rows are listed, repeated rows are flagged, and you can compare the totals with your statement.
Make your dashboard
Choose a CSV file or drop it here. It is read on your device and never uploaded.
Bank, card, QuickBooks or Xero exports saved as CSV. Up to 20,000 rows.
1. Check the columns
2. Your cash flow dashboard
3. Check it against your source
What your CSV needs
- A date column. 2026-01-28, 01/28/2026 or Jan 28, 2026 all work. Day-first dates are detected when a day is above 12, or you can pick the format.
- Amounts. Either one amount column with payments as negative numbers, or two columns for money in and money out (credit and debit). Dollar signs, commas and amounts in parentheses are read correctly.
- Description and category, if you have them. Without a category column everything is grouped as Uncategorized.
- One header row. Report titles above the header, as in many accounting exports, are skipped automatically.
Exports differ between banks and accounting tools. Our bookkeeping guide shows which QuickBooks or Xero report to export for each task. To try the tool first, use the sample: 24 fictional coffee-shop transactions from January to June 2026 that must show $48,250 in, $32,840 out and $15,410 net.
How to read the checks
- Skipped rows. Rows whose date or amount could not be read are left out and listed with their line number. Fix them in the file or choose the right columns.
- Repeated rows. Rows with the same date, description and amount are often an export imported twice. Some are real, such as two identical sales on one day, so check before deleting.
- Empty months. A month with no transactions usually means the export stopped early or started late.
- Expected totals. The most important check. Enter money in and money out from your bank statement or accounting report. Differences usually come from transfers between your own accounts, pending items, a different date range, or card exports that show payments as positive numbers.
What happens to your file
The page reads the file with your browser’s FileReader and does every calculation in JavaScript on your device. The file is not uploaded to our server and is not sent to any AI service. Nothing is saved: close the tab and the data is gone. We count anonymous events such as “a file was loaded”, without the file name or any numbers, and not at all if your browser sends Do Not Track or Global Privacy Control. You can confirm this in your browser’s developer tools: the Network tab shows no request carrying your data.
Prefer Excel or Google Sheets?
The same dashboard is available as an Excel workbook: transactions tab, monthly table and chart, totals by category, and checks for duplicates, unreadable amounts and expected totals. It uses standard functions such as SUMIFS and COUNTIFS, so it should also work after import into Google Sheets; check the totals after import.
Download the Excel template ↓ 13-week forecast in Excel ↓
Turn it into your own app
This tool shows one standard view. If you need your own categories, a client’s name on the report, a weekly view or the same report every month from new exports, build it once with Claude Code. Start with how to build a cash flow dashboard with Claude Code, or see every way to build a financial dashboard with Claude.
Frequently asked questions
Is my financial data uploaded?
No. The file is read and processed in your browser. Nothing from the file is sent to our server or to any AI service; we only count anonymous events such as “a file was loaded”.
Which exports work?
Any CSV with a date column and either one amount column or separate money in and money out columns: bank and card statements, and QuickBooks or Xero reports saved as CSV. If the first lines are a report title, the tool finds the header row on its own.
Why don’t my totals match my bank statement?
Usually because of transfers between your own accounts, pending items, a different date range, or a card export that shows payments as positive numbers (tick “Flip signs”). Compare month by month to find the difference.
Is it free?
Yes. There is no sign-up and no limit beyond 20,000 rows per file. It is one of The Experts AI’s free resources for finance teams, alongside the Excel template and the Claude Code guide.
Turn a CSV into a working cash flow dashboard.
A self-paced Claude Code workshop for bookkeepers, accountants and FP&A: six lessons, one project, sample data with expected totals. Taught by CFO Leo Godnik.
See the six lessons — $69 → Or start with the free lesson ↗