SheetLink
how to

How to Build a Monthly Budget in Google Sheets with Real Bank Data

A practical guide to building a monthly budget in Google Sheets that actually updates — powered by live bank transactions from SheetLink, not manual entry.

Rudy·Founder, SheetLink
··4 min read

Most budget spreadsheets fail for the same reason: they depend on you to enter every transaction by hand. You do it for a week, maybe two, then you stop. The spreadsheet becomes a monument to good intentions.

The fix is automatic data. When your transactions sync themselves, the budget stays current whether you think about it or not.

Here's how to build one that works.

Three sheets:

  1. Transactions — raw data from SheetLink (auto-synced, don't edit)
  2. Categories — your budget targets by category
  3. Budget — actual vs. target, updated every sync

Install SheetLink, connect your bank accounts, and link a Google Sheet. Hit Sync Now. You'll get a Transactions sheet with all Plaid transaction fields — including date, description_raw, merchant_name, amount, category_primary, and more.

If you haven't done this yet, start here.

Add a column called My Category at the end of the Transactions sheet. This is where you map each transaction to a budget line item.

For manual entry, add a dropdown via Data → Data validation — list your budget categories. Pick from the dropdown as new transactions come in.

For recurring merchants, use a VLOOKUP against a two-column helper sheet called MerchantMap (column A = merchant name, column B = category). Reference the merchant_name cell in the same row:

=IFERROR(VLOOKUP(merchant_name_cell, MerchantMap!$A:$B, 2, 0), "")

Create a sheet called Categories. Two columns: Category and Monthly Target.

Keep it realistic. A usable budget has 8–12 categories, not 40:

CategoryMonthly Target
Groceries600
Dining Out300
Gas150
Subscriptions80
Entertainment100
Shopping200
Health & Medical75
Other150

Create a sheet called Budget. Set up columns: Category, Target, Actual, Variance.

In column A, list your categories (or reference them: =Categories!A2).

In column B, pull the target: =Categories!B2.

Column C is where SUMIFS does the work. Use MATCH to find the right columns by header name, since SheetLink writes many columns:

=SUMIFS(
  INDEX(Transactions!$A:$AJ, 0, MATCH("amount", Transactions!$1:$1, 0)),
  INDEX(Transactions!$A:$AJ, 0, MATCH("My Category", Transactions!$1:$1, 0)), A2,
  INDEX(Transactions!$A:$AJ, 0, MATCH("date", Transactions!$1:$1, 0)), ">="&DATE(YEAR(TODAY()), MONTH(TODAY()), 1),
  INDEX(Transactions!$A:$AJ, 0, MATCH("date", Transactions!$1:$1, 0)), "<"&DATE(YEAR(TODAY()), MONTH(TODAY())+1, 1)
)

This formula:

  • Sums the amount column
  • Where My Category matches this row's label
  • Where date falls in the current calendar month

If you want to see a specific month instead of always-current, put a date in a named cell (e.g., BudgetMonth = 2025-12-01) and replace TODAY() with BudgetMonth.

Column D is one formula:

=C2-B2

Actual minus target. Positive means you went over. Negative means you have room left.

Select your Variance column. Go to Format → Conditional formatting. Add two rules:

  • Greater than 0 → red background (over budget)
  • Less than or equal to 0 → green background (on track)

Now you can scan the whole month in two seconds. Red rows need attention; green rows are fine.

For the Actual column, add a second rule: Greater than the value in the corresponding Target cell. This flags rows in red before you even look at variance.

Once this is built, your monthly check-in takes about 10 minutes:

  1. Open SheetLink → Sync Now (pulls any transactions since last sync)
  2. Scroll through new Transactions, assign My Category to uncategorized rows (~5 min)
  3. Open the Budget sheet — it's already updated

That's it. No exports, no copy-paste, no re-entering anything.

The data lives in a sheet you own. You can add columns, change categories, build charts, or share it with a partner — without learning new software or paying another monthly subscription.

google sheetsbudgetmonthly budgetbank transactionsSUMIFS

Connect your bank via SheetLink so transactions sync automatically. Then use SUMIFS to sum spending by category and month. This gives you actual vs. budget comparisons without any manual data entry.

Add a 'Category' column to your Transactions sheet. Use a dropdown (Data Validation) with your budget categories. For recurring merchants, a VLOOKUP against a merchant map sheet auto-fills the category.

Yes — put your targets in a separate column and use a simple formula: =actual-target. Conditional formatting (red if over, green if under) makes it easy to scan.