1. What It Is
A system to log personal financial transactions through a Google Form and visualise them in a Google Sheets dashboard — with filters, charts, and summary metrics that update automatically as new entries come in.
2. How It Was Built
The form:
- Created a Google Form with sections for income, expenses, and savings
- Used conditional logic so the category options change depending on which type you select
The Sheets dashboard:
- Form responses land in a raw sheet; a separate Transactions sheet cleans and standardises the data using formulas
- Dashboard has date filters (Today / This Week / This Month / Custom range) that update all metrics automatically
- Metrics calculated: total expenses, total income, net balance, transaction count, average daily spend, largest single expense
- Charts: expense breakdown by category (pie), daily spending trend (line), month-over-month comparison
- A top-expenses table shows the biggest individual transactions for the selected period
3. Issues Solved
- Category columns: The conditional form produces multiple separate category columns depending on which section the user filled. Had to merge them into a single column in the Transactions sheet using formulas.
- Empty periods: Weeks or months with no income or savings entries caused query errors. Fixed with
IFERROR()wrapping throughout. - Date filters: Getting the filter range to update all charts and metrics without creating circular references took some restructuring.
4. Future Improvements
Move the dashboard to Google Data Studio (Looker Studio) to get proper chart types and avoid the limitations of Sheets charting.