Spendwise Expense Tracker
Spendwise is an open-source desktop application to track expenses by importing Bank of America PDF statements. It features intelligent merchant categorization, monthly spending statistics, and interactive heatmap visualizations to help you understand your spending patterns.
Features
- PDF Statement Import - Import Bank of America PDF statements with automatic transaction extraction
- Smart Categorization - Intelligent merchant recognition with fuzzy matching (90% accuracy threshold)
- Transaction Management - Add, edit, delete, and search transactions with pagination
- Monthly Statistics - View net income and top spending categories by month
- Spending Heatmap - Interactive calendar showing daily spending intensity with color-coded visualization
- Auto-Recategorization - Update a merchant's category once, and similar transactions are automatically recategorized
Installation
Spendwise is installed as a Python package. It is strongly recommended to install the package via uv.
Latest versions of Spendwise can be seen in the Release page.
Requirements
- Python 3.11 or higher
- macOS, Linux, or Windows
Quick Install
First, install uv if you haven't already:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Then, install Spendwise Tracker:
uv tool install spendwise-tracker
Run the GUI after installation:
expense-tracker
Quick Start
Importing Transactions
- Click the Import Statement button in the Transactions tab
- Select a Bank of America PDF statement
- Transactions are automatically parsed and categorized
Managing Transactions
- View: Browse transactions with pagination (100 per page)
- Search: Use the search bar to filter transactions by keyword
- Add: Click "Add Expense" to manually enter a transaction
- Edit: Double-click a transaction or select and click "Edit"
- Delete: Select a transaction and click "Delete"
Viewing Statistics
- Navigate to the Statistics tab
- Use the
<and>buttons to browse months with transaction data - View monthly net income and top spending category
Analyzing Spending Patterns
- Navigate to the Heatmap tab
- View daily spending amounts on an interactive calendar
- Darker colors indicate higher spending
- Click on any day to filter transactions by that date
License
Spendwise is released under MIT License.
Release files for spendwise-tracker 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spendwise_tracker-0.2.1.tar.gz | 26.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spendwise_tracker-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.1 kB
Release files / spendwise_tracker-0.2.1.tar.gz
| Download URL | spendwise_tracker-0.2.1.tar.gz |
|---|---|
| Size | 26.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55f496c0e627dac83119446705295979306887050ea1765af3b2da93591d26e1
|
|
BLAKE2b-256 checksum How to use checksums |
b31b7f76c745692a69882dfec20e2871f52cad8e3191ba51a62104c7ff7b1f42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / spendwise_tracker-0.2.1-py3-none-any.whl
| Download URL | spendwise_tracker-0.2.1-py3-none-any.whl |
|---|---|
| Size | 34.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5c6da317d604f9ca4c30bc4e8e6e5c8288c07b7c5fe59d16dac6b69c297ca29
|
|
BLAKE2b-256 checksum How to use checksums |
d552e7dc5ee6206e53a0914ccf602dbc51824d4764dbe0b1de82f364d8340b86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|