transactions6 minPRO

Tracking RSUs

How to track restricted stock units (RSUs) in TrackMyShares by creating separate portfolios for vested and unvested shares, with correct cost basis and tax reporting.

If part of your compensation comes in restricted stock units, you need to track vest dates, cost basis per lot, holding periods, and how your vested shares fit into your overall portfolio. This guide shows you how to do that in TrackMyShares using two transaction-based portfolios.

The two-portfolio approach

Create one portfolio for shares you've already received, and another for shares that are still on a vesting schedule.

  • Vested RSUs — a transaction-based portfolio that holds your actual shares. Each vest event is recorded as a transaction with the correct date and market value. When you sell, cost basis and capital gains are calculated automatically.
  • Unvested RSUs — a separate portfolio where you track upcoming vests. This gives you visibility into what's coming without mixing unvested grants with real holdings.

This separation keeps your vested portfolio accurate for tax reporting while still giving you a complete picture of your RSU compensation.

Setting up the vested portfolio

Create a new transaction-based portfolio and name it something like "Vested RSUs" or "Company name — vested".

Recording vest events

When shares vest, add a transaction to record the new shares. You have two options:

Option 1: Use a BUY transaction — enter the vest date, number of shares, and the market price on that date. This is the simplest approach and works well for most situations.

Option 2: Use a TRANSFER_IN transaction — this has an additional original purchase date field. If you're backdating vests (importing your full RSU history at once), TRANSFER_IN lets you set the correct vest date as the acquisition date for capital gains purposes. This matters for the 12-month long-term holding discount in Australia or the short-term vs long-term classification in the US.

For both options:

  • Date — the vest date
  • Price — the market price per share on the vest date (this becomes your cost basis)
  • Quantity — the number of shares that vested
  • Fees — if your employer charges brokerage or there's a sell-to-cover fee, record it here

Recording sell-to-cover

Many RSU plans automatically sell a portion of shares at vest to cover tax withholding. To record this:

  1. Add the full vest as a BUY or TRANSFER_IN (the total number of shares that vested)
  2. Add a SELL transaction on the same date for the shares sold to cover tax

This gives you an accurate record of both the vest event and the immediate sale, with the correct cost basis on the sold shares.

Selling vested shares

When you sell shares later, add a SELL transaction with the date, quantity, and sale price. TrackMyShares uses FIFO (first in, first out) by default to match the sale against your oldest vest lot first, calculating the capital gain or loss for each lot individually.

You can also use specific lot selection when adding a sell transaction. Toggle on "Select specific lots" to choose exactly which vest lots you're selling. This is useful when you want to sell newer lots first (to realise short-term losses) or older lots (to qualify for long-term capital gains rates).

If you've held shares from an early vest for over 12 months, those lots qualify for the long-term capital gains discount (50% in Australia). Shares from more recent vests that haven't hit 12 months are classified as short-term.

Australian 30-day ESS rule

In Australia, if you sell RSU shares within 30 days of vesting, capital gains tax does not apply — the income tax assessed at vest already covers it.

If you're selling recently vested shares while also holding shares from earlier vests, don't use FIFO. Instead, use specific lot selection and select the most recent vest lot. This ensures the sale is matched to the correct lot and your tax report reflects the 30-day exemption.

Setting up the unvested portfolio

Create a second transaction-based portfolio named "Unvested RSUs" or "Company name — unvested".

How to use it

Add a BUY transaction for each RSU grant, using the grant date and the share price at grant. This won't be perfectly accurate — unvested shares aren't truly "owned" yet — but it gives you a rough view of the value sitting on your vesting schedule.

As shares vest, add a SELL transaction in the unvested portfolio (to remove them) and a corresponding BUY or TRANSFER_IN in your vested portfolio.

This approach lets you see your total RSU position across both portfolios from the dashboard, which shows the combined value of all your portfolios.

Tax reporting

The vested portfolio is where tax reporting matters. At tax time:

  1. Open your vested RSU portfolio
  2. Go to ActionsTax report
  3. Select the financial year and your tax region

The report breaks down:

  • Short-term capital gains — from shares held less than 12 months
  • Long-term capital gains — from shares held 12 months or more, with the applicable CGT discount
  • Dividend income — if your company pays dividends on vested shares

Each holding is listed individually, so you can see the capital gains breakdown per vest lot.

Keep in mind the FIFO limitation described above — if you've sold shares within 30 days of vesting, the tax report may show capital gains that don't apply under ESS rules. Cross-reference with your own records or speak with a tax professional.

For more details on tax reports, see generating tax reports.

Importing your RSU history

If you have several years of vest history to record, you can import it all at once using a CSV file instead of adding transactions one by one.

Preparing your CSV

Create a file with these columns:

ColumnExample
SymbolGOOG
Typebuy
Date2024-03-15
Quantity50
Price142.50
Fees0
MarketUS
NotesQ1 2024 vest

Include one row per vest event. If you also want to record sell-to-cover transactions, add those as sell rows on the same dates.

You can use the CSV merge tool to combine data from multiple sources before importing.

Importing

  1. Open your vested RSU portfolio
  2. Click Import transactions
  3. Upload your CSV and map the columns
  4. Review the preview, then import

For a full walkthrough, see importing transactions.

Tips

  • Name your portfolios clearly — you'll see them in the dashboard dropdown alongside any other portfolios you have
  • Use the notes field — add context like "Q2 2025 vest" or "Annual grant #3" to each transaction so you can identify vest lots later
  • Record dividends — if your vested shares pay dividends, add DIVIDEND transactions to keep your income tracking complete
  • Check your cost basis — click on any holding to see the lot-by-lot breakdown, including acquisition dates and per-lot cost basis

Want dedicated RSU tracking?

This two-portfolio approach works well, but it's not the same as having built-in RSU support with automatic vest schedules, grant management, and sell-to-cover calculations. If that's something you'd find valuable, let us know so we can prioritise it.