Sensible Folio + Australian Bank Statement Downloader
A community fork of Sensible-Analytics/folio
Download Sensible Folio
·
Official Repository
·
Report Issues
Tutorial — complete written walkthrough is in the Tutorial section below.
This is a community fork of Sensible Folio — the local-first, open-source desktop investment tracker — with one extra feature added:
Bank Connect: automatically download bank statements (PDF) from Australian banks directly inside the Sensible Folio desktop app.
Everything else — portfolio tracking, performance analytics, activities, goals — is the same as the upstream project.
The Bank Connect feature lets you log in to your Australian bank's website inside Sensible Folio and download statements without leaving the app.
| Bank | Login URL |
|---|---|
| ING Australia | ing.com.au |
| CommBank (CBA) | netbank.com.au |
| ANZ | anz.com.au |
| Bank of Melbourne | ibanking.bankofmelbourne.com.au |
| Beyond Bank | ibank.beyondbank.com.au |
- Go to Bank Connect in the sidebar
- Click Open Login for your bank — a browser window opens at the bank's real login page
- Log in normally (two-factor, biometrics, whatever your bank requires)
- Once logged in, click Start Download — the app collects your statement download links
- PDFs are saved to
~/BankStatements/{bank}/on your computer
Your login session is stored locally (per bank, isolated). No credentials are sent anywhere — the app only talks directly to your bank's website.
In Settings → Bank Connect you can configure:
- Download folder (default:
~/BankStatements) - How many years back to download (default: 7, max 10)
- Which banks are enabled
- Whether to overwrite existing files
This fork tracks the main branch of
Sensible-Analytics/folio. The
only changes on top of upstream are:
| Change | Description |
|---|---|
feat(bank-connect) |
The Bank Connect feature described above |
ci: test suite |
Multi-layer test suite (property tests, Kani formal proofs, migration integrity, Playwright E2E) |
docs(claude) |
Development notes for AI-assisted development |
If you want the base investment tracker without Bank Connect, use the official app: Sensible Folio.
- Node.js ≥ 20
- pnpm ≥ 9
- Rust (stable toolchain)
- Tauri prerequisites for your OS
# Clone this fork
git clone https://github.com/Sensible-Analytics/folio.git
cd folio
# Install Node dependencies
pnpm install
# Run in development mode (opens the desktop app)
pnpm tauri dev# TypeScript tests
pnpm test
# Rust tests
cargo test
# Type check
pnpm type-checkEverything below is from the upstream Sensible Folio project.
- Portfolio Tracking — Track investments across multiple accounts and asset types
- Performance Analytics — Detailed performance metrics and historical analysis
- Activity Management — Import and manage all trading activities
- Goal Planning — Set and track financial goals with allocation management
- Local Data — All data stored locally with no cloud dependencies
- Multi-Currency — Support for multiple currencies with exchange rate management
- Cross-Platform — Available on Windows, macOS, and Linux
- Extensible — Powerful addon system for custom functionality
Run Sensible Folio in a browser via a local Axum server:
pnpm run dev:webSee the original README for full web mode and Docker documentation.
folio/
├── apps/frontend/ # React + Vite frontend
├── apps/tauri/ # Tauri desktop app (Rust IPC commands)
│ └── src/banks/ # Bank automation scripts (Bank Connect)
├── apps/server/ # Axum HTTP server (web mode)
├── crates/core/ # Business logic, models, services
│ └── src/bank_connect/ # Bank Connect core logic
├── crates/storage-sqlite/ # SQLite storage (Diesel ORM, migrations)
├── addons/ # Example addons
├── packages/ # Shared TypeScript packages
└── docs/ # Documentation
└── testing/ # Testing strategy and learnings
This tutorial walks you through installing Folio, tracking a portfolio, and downloading Australian bank statements from scratch.
# Prerequisites: Node ≥ 20, pnpm ≥ 9, Rust stable
# https://tauri.app/start/prerequisites/
git clone https://github.com/Sensible-Analytics/folio.git
cd folio
pnpm install
pnpm tauri dev # opens the desktop appThe first pnpm tauri dev compiles Rust (~2–5 min). Subsequent runs are fast.
App → Accounts → + New Account
Name: My Broker
Type: Securities
Currency: AUD
Folio stores everything locally in SQLite — nothing leaves your machine.
Activities → Import
↳ Drop a CSV or use "Add Activity" for manual entry
Supported activity types: BUY, SELL, DIVIDEND, INTEREST, DEPOSIT,
WITHDRAWAL, FEE, TAX, SPLIT, and more.
After import the Dashboard updates instantly with portfolio value, performance chart, and allocation breakdown.
Sidebar → Bank Connect
┌────────────────────────────────────────────────────────────┐
│ Bank Connect │
├──────────────────────┬─────────────────────────────────────┤
│ [ING] [CBA] │ Log │
│ [ANZ] [BOM] │ 10:42 INFO Opening ING window… │
│ [Beyond] │ 10:43 INFO Login detected ✓ │
│ │ 10:43 INFO Downloading… │
│ │ 10:44 OK 12 files saved │
└──────────────────────┴─────────────────────────────────────┘
- Click Open Login next to your bank.
- A browser window opens at the bank's real login URL — log in normally.
- Once logged in, click Start Download.
- PDFs land in
~/BankStatements/{bank}/.
Your credentials never touch Folio — the embedded browser talks directly to the bank.
Settings → Bank Connect
Download folder: ~/BankStatements (change to any path)
Years back: 7 (1 – 10)
Enabled banks: ☑ ING ☑ CBA …
Overwrite files: off
Goals → + New Goal
Name: Emergency Fund
Target: $20,000 AUD
Allocate accounts → link Cash accounts
The goal card shows current value vs target and a progress bar that updates whenever new activities are imported.
| Action | Shortcut |
|---|---|
| Open command palette | Cmd/Ctrl + K |
| New activity | Cmd/Ctrl + N |
| Refresh quotes | Cmd/Ctrl + R |
| Toggle sidebar | Cmd/Ctrl + B |
If you want to record a screen capture and embed it here, a few good tools:
- macOS:
Cmd + Shift + 5→ record screen → upload to YouTube/Loom - VHS: terminal-only GIF recorder
- Loom: quick shareable link, thumbnail embeds in GitHub
Once you have a YouTube or Loom URL, replace the #tutorial link in the
Demo badge at the top of this file.
This fork is maintained by Sensible Analytics.
For issues with the Bank Connect feature, open an issue here.
For issues with the core investment tracker, consider contributing upstream to Sensible-Analytics/folio.
Code is licensed under AGPL-3.0 — same as the upstream project. See
LICENSE.
Sensible Folio and the Sensible Folio logo are trademarks of Sensible Analytics. See TRADEMARKS.md.