Portfolio Overview
Holdings Summary
No holdings yet. Click "Sync" to process contract notes.
All Transactions
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
- Sign in with your Google account.
- Go to Accounts and create at least one brokerage account.
- Go to Admin and set your Contract Notes folder in Google Drive.
- Upload a PDF contract note to that folder.
- Go to Import β the app auto-scans and shows unprocessed files. Click Process.
- 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.
- 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.