Skip to content

Repository files navigation

Wealthsimple Export Transactions

A Tampermonkey userscript that exports your Wealthsimple transactions to a CSV file.

Features

  • Date range presets (Last 30 days, 3/6/12 months, Year to date, All time) — choose how far back to export
  • Smart loading optimization — stops loading more transactions once past the selected date range
  • Automatically loads transactions by clicking "Load more" until the date range is covered
  • Expands each transaction's detail panel to extract full information
  • Exports 9 data columns: Date, Time, Payee, Category, Amount, Currency, Status, Account, Card Number
  • Handles transfers by including the destination account in the payee field
  • Normalizes Unicode minus signs and extracts currency codes
  • Persists across SPA navigation — the export button re-injects when you navigate back to Activity
  • Shows a progress spinner during export with status updates

Prerequisites

Installation

From a built script

  1. Build the project (see Development) or obtain the built .user.js file
  2. Open the .user.js file in your browser — Tampermonkey will prompt you to install it
  3. Click Install

From source

git clone https://github.com/dashed/wealthsimple-export-transactions.git
cd wealthsimple-export-transactions
make install
make build

The built userscript will be in dist/. Open it in your browser to install via Tampermonkey.

Usage

  1. Log in to Wealthsimple and navigate to the Activity page
  2. Select a date range from the dropdown next to the "Activity" heading (defaults to "Last 3 months")
  3. Click the Export transactions button
  4. Wait for the script to load and process transactions within the selected range
  5. A CSV file will download automatically when complete

See docs/USAGE.md for detailed usage instructions and CSV format.

Development

make install        # Install dependencies
make dev            # Start dev server (auto-injects userscript via Tampermonkey)
make build          # Build for production
make test           # Run unit tests
make test-watch     # Run tests in watch mode
make lint           # Lint with oxlint
make lint-fix       # Lint and auto-fix
make format         # Format code with oxfmt
make format-check   # Check formatting
make clean          # Remove dist/ and node_modules/

See docs/DEVELOPMENT.md for project structure, architecture, and contribution guidelines.

CI

GitHub Actions runs on every push to main and on pull requests: lint, format check, type check, tests, and build. See .github/workflows/ci.yml.

CSV Format

The exported CSV includes 9 columns with full transaction details:

Column Format Example
Date YYYY-MM-DD 2026-05-27
Time Free text 12:15 am
Payee Free text Uber Canada/Ubertrip
Category Free text Purchase
Amount Dollar value -$37.36
Currency 3-letter ISO CAD
Status Free text Settled
Account Free text Credit card • Wealthsimple credit card
Card Number Masked ••••3025

Example output:

"Date","Time","Payee","Category","Amount","Currency","Status","Account","Card Number"
"2026-05-27","12:15 am","Uber Canada/Ubertrip","Purchase","-$37.36","CAD","Settled","Credit card • Wealthsimple credit card","••••3025"
"2026-05-27","","Hetzner Online Gmbh","Purchase","-$251.35","CAD","Pending","Credit card • Wealthsimple credit card",""

Credits

This project is based on the original userscript by:

Original gist: rksully1/decaf7f770727bb39450bbe290501caa

License

MIT

About

Userscript/Tampermonkey script to export Wealthsimple transactions

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages