Expense Sorted

I've downloaded dozens of expense tracker templates over the years. They're either too simple (just columns for date and amount) or too complex (50 tabs with formulas I don't understand and can't modify).

The best expense tracker is one you build yourself. Not because you're trying to prove something, but because when you build it, you understand it. When it breaks, you can fix it. When you want to add a feature, you know where it goes.

This tutorial walks you through building a functional expense tracker from scratch in under an hour. By the end, you'll have something that:

  • Tracks transactions across multiple accounts
  • Automatically categorizes expenses
  • Shows spending by category
  • Displays monthly trends
  • Updates a dashboard in real-time

No prior spreadsheet experience needed. Just follow along.

What We're Building

Before diving in, here's the end result:

Three main sheets:

  1. Transactions - Where all your spending gets logged
  2. Categories - Your spending taxonomy
  3. Dashboard - Visual summary of your spending

Key features:

  • Drop-down categories (no typos)
  • Automatic calculations
  • Month-to-date spending
  • Spending by category
  • Simple visual charts

We're keeping this deliberately simple. You can add complexity later. First, build something that works.

Step 1: Create Your Google Sheet (2 Minutes)

  1. Go to sheets.google.com
  2. Click "Blank" to create a new spreadsheet
  3. Rename it "Expense Tracker 2025" (click "Untitled spreadsheet" at the top)
  4. You'll see one sheet tab at the bottom called "Sheet1"

That's your starting point.

Step 2: Set Up the Transactions Sheet (10 Minutes)

Rename "Sheet1" to "Transactions":

  • Right-click the "Sheet1" tab at the bottom
  • Click "Rename"
  • Type "Transactions"
  • Press Enter

Add Column Headers

In row 1, create these headers:

A1: Date B1: Description
C1: Category
D1: Amount
E1: Account
F1: Notes

Format the header row:

  1. Highlight row 1 (A1:F1)
  2. Click the Bold button (or Ctrl+B)
  3. Click the background color button and choose a light gray
  4. This makes your headers stand out

Format the Date Column

  1. Click the column letter "A" to select the entire column
  2. Go to Format → Number → Date
  3. This ensures dates display consistently

Format the Amount Column

  1. Click column "D" to select it
  2. Go to Format → Number → Currency
  3. Choose your currency (USD, EUR, etc.)

Now your sheet is ready to receive data.

Step 3: Create the Categories Sheet (5 Minutes)

Create a second sheet for your spending categories:

  1. Click the "+" button at the bottom left (next to the Transactions tab)
  2. A new sheet appears called "Sheet2"
  3. Rename it to "Categories"

Add Your Categories

In column A, starting at A2 (skip row 1 for now), list your spending categories:

A2: Housing
A3: Utilities
A4: Groceries
A5: Dining Out
A6: Transportation
A7: Healthcare
A8: Entertainment
A9: Shopping
A10: Personal Care
A11: Subscriptions
A12: Income
A13: Other

These are starter categories. Adjust based on your life.

Add a Header

A1: Category Name (bold this)

Your Categories sheet is done for now.

Step 4: Add Drop-Down Categories (5 Minutes)

Back in the Transactions sheet, make the Category column use drop-downs:

  1. Go to the Transactions sheet
  2. Click on cell C2
  3. Go to Data → Data validation
  4. Under "Criteria," select "List from a range"
  5. Click the range selector icon
  6. Go to the Categories sheet
  7. Select A2:A13 (your list of categories)
  8. Click OK
  9. Check "Show dropdown list in cell"
  10. Click "Save"

Now copy this drop-down to all future rows:

  1. Click on C2 (the cell with the drop-down)
  2. Copy it (Ctrl+C or Cmd+C)
  3. Click on C3
  4. Shift+Click on C100 (or however many rows you want)
  5. Paste (Ctrl+V or Cmd+V)

Now column C has drop-downs in every row. No more typos in category names.

Do the Same for Account Column

Repeat the process for column E (Account):

  1. Go back to Categories sheet

  2. In column B, add account types:

    • B1: Account Type (header)
    • B2: Checking
    • B3: Savings
    • B4: Credit Card
    • B5: Cash
  3. Create data validation in Transactions column E using Categories!B2:B5

Now your Account column has drop-downs too.

Step 5: Add Your First Transactions (5 Minutes)

Time to add some real data. In the Transactions sheet, starting in row 2:

Example entries:

DateDescriptionCategoryAmountAccountNotes
10/15/2025SafewayGroceries$78.43Credit CardWeekly shop
10/16/2025Shell GasTransportation$52.00Credit Card
10/17/2025Electric BillUtilities$127.50Checking
10/18/2025NetflixSubscriptions$15.99Credit Card
10/19/2025StarbucksDining Out$6.75Credit Card

Enter at least 10-15 transactions to have data for the dashboard.

Tip: Enter expenses as positive numbers. We'll handle income differently later.

Step 6: Create the Dashboard Sheet (15 Minutes)

Create a third sheet:

  1. Click the "+" button at the bottom
  2. Rename to "Dashboard"

This is where the magic happens.

Set Up Dashboard Sections

A1: SPENDING DASHBOARD (make this big and bold) A3: Total Spent This Month A4: Number of Transactions A5: Average Transaction A7: Spending by Category

Calculate Total Spent

In cell B3 (next to "Total Spent This Month"):

=SUM(Transactions!D:D)

This adds up everything in the Amount column of your Transactions sheet.

Calculate Number of Transactions

In cell B4:

=COUNTA(Transactions!B:B)-1

This counts all entries in the Description column, minus 1 for the header.

Calculate Average Transaction

In cell B5:

=B3/B4

Total spent divided by number of transactions.

Format these cells:

  1. Highlight B3:B5
  2. Format → Number → Currency

Show Spending by Category

In cell A8:

Category

In cell B8:

Amount Spent

Bold these header cells.

Now, list categories starting in A9:

=Categories!A2

Drag this formula down to A20 (covers all your categories).

In cell B9 (next to the first category):

=SUMIF(Transactions!C:C, A9, Transactions!D:D)

What this does: Looks at the Transactions sheet, finds all rows where the category matches A9, and sums those amounts.

Drag this formula down to B20.

Now you see spending by category!

Add a Chart

Let's visualize spending:

  1. Highlight cells A8:B20 (your category table including headers)
  2. Go to Insert → Chart
  3. Chart type: Pie chart (or column chart, your choice)
  4. The chart appears on your Dashboard
  5. Drag it to position it nicely
  6. Click the three dots on the chart → Edit chart
  7. Under Customize → Chart title, name it "Spending by Category"

Boom. Visual dashboard.

Step 7: Add Date Filtering (10 Minutes)

Right now your dashboard shows ALL transactions ever. Let's make it show just this month.

Add Month/Year to Transactions

In the Transactions sheet:

  1. Insert a new column between A and B:

    • Right-click column B (Description)
    • Click "Insert 1 column left"
  2. New column B appears

  3. In B1, type: "Month"

  4. In B2, enter this formula:

=TEXT(A2,"MMM YYYY")

This converts the date to "Oct 2025" format.

  1. Drag this formula down to all rows with data

Filter Dashboard by Month

Back in the Dashboard sheet, we'll modify our formulas.

First, add a month selector:

D3: Current Month: E3: (dropdown - we'll make this)

Create a month list in Categories sheet:

  1. Go to Categories sheet
  2. In column D, starting at D2, list months:
    • D1: Month (header)
    • D2: Oct 2025
    • D3: Nov 2025
    • D4: Dec 2025
    • etc.

Back to Dashboard:

  1. Click E3
  2. Data → Data validation
  3. List from range: Categories!D2:D13 (or however many months)
  4. Save

Now modify your dashboard formulas to filter by month:

Total Spent (B3):

=SUMIF(Transactions!B:B, E3, Transactions!D:D)

Number of Transactions (B4):

=COUNTIF(Transactions!B:B, E3)

Category spending (B9):

=SUMIFS(Transactions!D:D, Transactions!C:C, A9, Transactions!B:B, $E$3)

Drag this down to B20.

Now when you select a month in E3, your entire dashboard updates!

Step 8: Make It Look Good (5 Minutes)

Polish the appearance:

Transactions Sheet

  1. Freeze the header row: View → Freeze → 1 row
  2. Add filters: Data → Create a filter
  3. Adjust column widths by double-clicking the column borders

Dashboard Sheet

  1. Format the title (A1): Bigger font, different color
  2. Add borders around your sections:
    • Highlight B3:B5
    • Click the borders button
    • Choose "All borders"
  3. Format negative numbers in red (optional)

Color Code Categories (Optional)

In the Categories sheet, add a color column:

  • C1: Color
  • C2: 🟦 (blue emoji)
  • C3: 🟨 (yellow emoji)
  • etc.

Use emojis as visual category markers.

Step 9: Test It (3 Minutes)

Add a new transaction:

  1. Go to Transactions sheet
  2. Add a new row with today's date
  3. Fill in description, category, amount, account
  4. Go to Dashboard
  5. Verify that:
    • Total Spent increased
    • Number of Transactions increased
    • Category spending updated
    • Chart updated

If all of this works, congratulations! You've built a functional expense tracker.

Step 10: Using Your Tracker Daily

Weekly Routine (5 minutes)

Option 1: Manual Entry

  1. Gather receipts/check bank transactions
  2. Open Transactions sheet
  3. Add each expense as a new row
  4. Use drop-downs for category and account

Option 2: CSV Import

  1. Download bank statement CSV
  2. Open it in Google Sheets
  3. Copy the relevant columns
  4. Paste into your Transactions sheet
  5. Map dates, descriptions, amounts
  6. Add categories using the drop-down

Monthly Review (10 minutes)

First of each month:

  1. Open Dashboard
  2. Review previous month's spending
  3. Note any surprises or overspending
  4. Adjust current month's budget accordingly
  5. Select the new month in your month drop-down

Common Issues and Fixes

Issue: Formula shows #REF! error

Fix: You deleted a column or sheet the formula references. Undo (Ctrl+Z) or rewrite the formula.

Issue: Drop-down doesn't work

Fix: Check your data validation range. Make sure it points to the right cells in Categories sheet.

Issue: Chart doesn't update

Fix: Click the chart → three dots → Refresh. Or delete and recreate the chart.

Issue: Dashboard shows $0

Fix: Check that your formulas reference the right columns. If you inserted columns, the letters shifted.

Issue: Can't find a transaction

Fix: Use Ctrl+F (or Cmd+F) to search the Transactions sheet.

Next Level: Adding Features

Once comfortable with the basics, add these:

Budget Tracking

In Categories sheet:

  • Add column C: "Budget"
  • Enter monthly budget for each category
  • In Dashboard, compare actual vs budget

Income Tracking

  • Add "Income" to your categories
  • Enter income as negative numbers (so it subtracts from expenses)
  • Or create a separate Income sheet

Multiple Month Comparison

  • Create a second chart showing spending trends over 6 months
  • Use a pivot table to summarize by month

Tags

  • Add a "Tags" column to Transactions
  • Use tags like "reimbursable," "tax-deductible," "vacation"
  • Filter and sum by tag

Receipt Links

  • Add a column for Google Drive links to receipt photos
  • When reviewing expenses, click link to see the receipt

Why This Works Better Than Templates

You built it, so you understand it. When something breaks, you know how to fix it because you created the formulas.

It's exactly what you need. No extra features cluttering it up, no missing features you wish were there.

You can modify it. Want to track something different? Add a column. Need different categories? Change them.

You learned spreadsheet skills. SUMIF, data validation, charts—these are useful far beyond expense tracking.

From Basic to Advanced (Your Roadmap)

You now have a functional expense tracker. Here's how to evolve it:

Month 1: Use it as-is, get comfortable with daily entry
Month 2: Add CSV import workflow for faster data entry
Month 3: Add budget tracking to compare actual vs planned
Month 4: Create multi-month trends and year-over-year comparison
Month 5: Add AI categorization for automatic category suggestions
Month 6: Build custom reports for specific insights you want

Each month, add one feature. In six months, you'll have a sophisticated system that's completely tailored to your life.

The Real Value: Financial Awareness

The expense tracker itself isn't the point. The awareness it creates is the point.

When you actively categorize every transaction, you start noticing patterns:

  • "I spent HOW MUCH on coffee last month?"
  • "My subscriptions total $180/month?"
  • "I eat out 23 times a month?"

These realizations change behavior. Not because you're forcing yourself to budget, but because you finally see where money goes.

That's worth more than any template or app.

Start Tracking Today

You've built an expense tracker from scratch. It took less than an hour. It costs nothing. And it's completely yours.

Now use it:

  1. Add today's expenses
  2. Set a reminder to add expenses every evening (or weekly, whatever works)
  3. Review your dashboard this weekend
  4. Adjust and improve next month

The tracker doesn't save money by itself. But it makes the invisible visible. And once you see your spending patterns clearly, better financial decisions follow naturally.

Your expense tracker is ready. Your financial clarity journey starts now.


Related Articles

Ready-Made Templates:

Automation:

Business Tracking:

Stop Manual Expense Tracking

Let AI categorize your transactions automatically. See exactly where your money goes.

Try Free AI Categorization

Financial Dashboard

Upload bank statements, get AI insights

Try Free →

F*** You Money

Calculate financial independence number

Calculate →

Google Sheets Add-on

AI categorization in your spreadsheet

Get Add-on →