Personal Finance

How to Build an Investment Tracker for Dividend Reinvestment and Tax-Loss Harvesting

Plain-English money guides · no sponsors · GriswoldLabs
Updated July 1, 2026 6 min read

Brokerage apps are good at showing you today’s portfolio value. They’re mediocre at two jobs long-term investors actually care about: tracking the income stream from reinvested dividends, and keeping tax-lot detail organized enough to harvest losses intelligently. A custom tracker in Google Sheets or Excel fills both gaps in an afternoon of setup — no coding required.

One honest framing before we start: dividend reinvestment is something your broker automates and your tracker records. Tax-loss harvesting is a strategy you execute manually and your tracker supports. No spreadsheet — and, for self-directed accounts, no consumer app — will sell your losers for you. What a tracker does is make the opportunities and the tax paperwork visible.

Start With the Holdings Sheet

Create a sheet with one row per position. In Google Sheets, the GOOGLEFINANCE() function pulls live prices for stocks, ETFs, and most mutual funds, so current value updates itself:

ColumnFormula / entry
TickerVYM (example)
Shares100 (example)
Cost basis (total)from your brokerage records
Current price=GOOGLEFINANCE(A2, "price")
Market value=Shares * Price
Unrealized gain/loss=Value - Basis
AccountTaxable / IRA / 401(k)

The “Account” column matters more than it looks: dividend tax treatment and tax-loss harvesting rules differ between taxable and retirement accounts, and the wash-sale rule (more below) reaches across all of them.

Track Dividend Reinvestment Properly

If you’ve turned on DRIP (dividend reinvestment) at your broker, every payout buys fractional shares automatically. Great for compounding, messy for record-keeping — each reinvestment is a new tax lot with its own purchase date and cost basis.

Add a dividend log sheet with one row per payout:

  • Date and ticker
  • Dividend per share and total received
  • Shares purchased by the reinvestment, and at what price
  • Running annual income — a SUMIFS() over the trailing 12 months

Two things this gives you that a brokerage screen doesn’t:

  1. A real income trend. Watching trailing-12-month dividend income grow — from both reinvestment and dividend raises — is the single most motivating chart for an income investor, and no mainstream app draws it well across accounts.
  2. Cost-basis verification. Reinvested dividends raise your cost basis. Brokers usually track this correctly now (covered-shares rules require it), but if you ever transfer accounts or hold older positions, your own log is the backstop that keeps you from paying capital-gains tax on dividends you already paid income tax on.

As an illustrative example: a $50,000 position yielding 3% reinvests about $1,500 a year. At a steady price, that’s roughly 3% more shares each year, each throwing off its own dividends — the log makes the compounding visible instead of theoretical.

Add a Tax-Lot View for Loss Harvesting

Tax-loss harvesting means selling positions that are down to realize a capital loss, which can offset realized gains and up to $3,000 of ordinary income per year (excess carries forward). To do it well you need lot-level detail, because a position that’s up overall can still contain individual lots bought at higher prices that are down.

Build a lots sheet:

ColumnPurpose
Ticker + lot dateidentifies the lot (DRIP creates many small ones)
Shares / basis per lotfrom brokerage records
Current valueprice × shares
Unrealized lossflags candidates when negative
Last purchase date (any account)wash-sale check

Then add conditional formatting: highlight any lot whose unrealized loss exceeds a threshold you choose (say, $250 — enough to be worth the paperwork). That’s your harvest-candidate list.

The wash-sale trap, and why DRIP makes it worse: if you buy the same or a substantially identical security within 30 days before or after selling at a loss, the loss is disallowed. An automatic dividend reinvestment counts as a purchase. So if you plan to harvest a loss in a DRIP’d position, either turn off reinvestment for that holding first or time the sale well clear of the payout date. Your dividend log — which shows exactly when reinvestments happen — is what makes this checkable.

This is also worth stating plainly: consumer budgeting and portfolio apps do not do this for you. Some robo-advisors harvest automatically, but only inside portfolios they manage. For a self-directed account, the workflow is: tracker flags the lot → you confirm the wash-sale window is clear → you place the sale yourself → you log the realized loss for tax season.

Where Apps Fit Alongside the Spreadsheet

You don’t have to choose one or the other. A sensible stack:

  • Empower Personal Dashboard — free, links brokerage accounts, good for overall allocation and fee visibility across accounts.
  • Monarch Money or Copilot Money — solid for seeing investment balances in the context of your whole financial picture.
  • Your spreadsheet — the only layer with a dividend log, lot-level loss flags, and wash-sale dates.

The apps answer “how am I doing overall?” The spreadsheet answers “what should I do next, and what will I owe taxes on?”

Mistakes to Design Out of Your Tracker

A few failure modes worth guarding against from day one:

  • Tracking only account totals. A single “brokerage: $85,000” row (example figure) hides every lot-level loss and every dividend trend. The value of this tracker is entirely in the detail rows.
  • Ignoring retirement accounts in the wash-sale check. Buying a security in your IRA within 30 days of selling it at a loss in taxable still triggers the rule — and the loss can be permanently disallowed. Your “Account” column exists for this.
  • Letting harvested cash sit idle. Selling a loser without a plan to redeploy into a similar-but-not-identical fund leaves you out of the market. Note your replacement candidate in the tracker before you sell.

Maintenance: 20 Minutes a Month

The tracker stays useful only if it stays current. A realistic routine: once a month, paste in new dividend rows from your brokerage statements, confirm share counts match after reinvestments, and glance at the loss-candidate highlights. Then once near year-end, do a deliberate harvesting review while there’s still time to act before December 31 — realized losses only count for the tax year in which you sell.

That’s the whole system: prices update themselves via GOOGLEFINANCE(), dividends get logged as they arrive, and loss candidates surface automatically. The decisions stay yours — which is exactly where they should be.

Tags #investment tracking #dividend reinvestment #tax-loss harvesting
Share X / Twitter Facebook
Keep reading