Portfolio Overview

Accounts
Holders
Total Portfolio Value
$0.00
CAD
Total Invested
$0.00
CAD
Total Profit/Loss
$0.00
0.0%
Annualized Return (ARR)
0.0%
Portfolio weighted
Total Positions
0
Holdings
Accounts
0
Active accounts

Holdings Summary

No holdings yet. Click "Sync" to process contract notes.

All Transactions

Accounts
Holders

No transactions yet.

Import Contract Notes

Account Management

No accounts yet. Click "Add New Account" to create one.

Administration

Contract Notes Folder

Google Drive folder for contract notes: Loading…

Reporting Currency

All portfolio totals are converted to this currency.

Price Data

Price source: Yahoo Finance (free, no API key required). Prices are cached for 15 minutes.

Export Data

Download a full backup of your transactions and accounts.

Danger Zone

Permanently delete all transactions, accounts and settings. This cannot be undone.

Help

About StockTracker

StockTracker is a private, browser-based portfolio tracker. It connects to your own Google Drive to store data β€” nothing is saved on external servers. Use it to track stock purchases across multiple brokers and currencies, and see real-time portfolio performance.

Key Features

  • AI Contract Parsing β€” Upload PDF contract notes to Google Drive; the app uses Gemini Vision to extract transactions automatically.
  • Multi-Currency β€” Supports CAD, USD, GBP, EUR, AUD, CHF. Historical FX rates are locked in at transaction date; live rates update your current value.
  • Live Prices β€” Real-time stock quotes fetched via a secure proxy. Click the refresh icon on Overview to update. Prices are cached and stored in your Drive database so they load on all devices.
  • Analytics β€” P/L, ARR (Annualised Return Rate), ACB (Adjusted Cost Base), and total value calculated per holding and across the portfolio.
  • Filters β€” Filter by account or account holder across Overview and Transactions. Filters can be saved as favourites.

Getting Started

  1. Sign in with your Google account.
  2. Go to Accounts and create at least one brokerage account.
  3. Go to Admin and set your Contract Notes folder in Google Drive.
  4. Upload a PDF contract note to that folder.
  5. Go to Import β€” the app auto-scans and shows unprocessed files. Click Process.
  6. Review the extracted transactions in the validation screen. Verify the Settlement Ccy field β€” this is the currency in which the trade settled and drives your cost basis (ACB). Edit any fields, then click Save.
  7. Return to Overview and click the refresh icon to load live prices.

Tips

  • Use the currency selector on Overview to view your portfolio in any supported currency.
  • The ACB (Adjusted Cost Base) reflects your average cost per share in the selected currency, based on the Settlement Currency of each trade.
  • After a manual price refresh, prices are stored in your Drive database and available on all your devices automatically.
  • Export transactions as CSV from the Transactions page (download icon next to the title).
  • Download a full JSON backup from the Admin page at any time.
  • Sessions expire after approximately one hour. If you see a "Session expired" message, just sign in again β€” your data is safe.

Privacy Statement

What data is used

StockTracker accesses your Google account name and email (to display your profile), and your Google Drive (to store and retrieve your portfolio database file). No other Google data is accessed.

Stock price data is fetched via a secure server-side proxy (Cloudflare Pages Function). Your portfolio data is never sent to price services β€” only the ticker symbols you hold are used in API calls.

Currency exchange rates are fetched from frankfurter.app (European Central Bank). No account data is involved in these calls.

Where data is stored

All your portfolio data (transactions, accounts, settings) is stored in a single JSON file inside your own Google Drive, at /StockTracker/stock-tracker-database.json. You own this file and can delete it at any time from your Drive.

Your browser's localStorage stores your session token and display preferences (currency, initials). Stock prices are cached locally for 15 minutes and also saved to your Drive database after each manual refresh so they load on all your devices.

How data moves

All communication uses HTTPS. API calls to Gemini and price services are routed through a Cloudflare Pages Function β€” API keys never leave the server. Your portfolio JSON travels only between your browser and your own Google Drive.

There is no analytics, no tracking, and no data collection by StockTracker or any third party beyond the services listed above.

Loading...