Complete user guide for indiBudget — privacy-focused personal finance for Linux, macOS, and Windows.
1. Getting Started
indiBudget is a privacy-focused personal finance application that runs entirely on your computer. All your financial data lives in a local SQLite database — no cloud account, no tracking, no subscription required.
When you first launch the app, you'll see an empty dashboard with quick-start prompts to guide you through setup.
Recommended First Steps
Create your first account (checking, savings, credit card, etc.) from Accounts.
Add some transactions manually or import from your bank.
The indiBudget window is organized into three areas:
Sidebar — Dark navigation panel on the left with links to all major sections. Can be collapsed to icons only.
Main content — The primary workspace where lists, forms, charts, and dashboards render.
Footer — Shows the app version.
Sidebar Navigation
The sidebar contains links to: Dashboard, Calendar, Transactions, Accounts, Budgets, Categories, Payees, Goals, Recurring, Reports, Import, Settings, and About.
Click the collapse button (double chevron) to toggle between full sidebar and icon-only mode. Your preference is remembered across sessions.
Theme Support
indiBudget supports Light, Dark, and System themes. Change your theme in Settings.
View and manage all transactions from the Transactions page.
Transaction Types
Income — Money coming in (salary, freelance, dividends, etc.)
Expense — Money going out (purchases, bills, etc.)
Transfer — Moving money between your own accounts
Transaction Fields
Date — When the transaction occurred
Description — What the transaction was for
Amount — Transaction amount
Category — Classification for budgeting and reports
Payee — Who you paid or received money from
Notes — Additional details
Status — Pending, Cleared, Reconciled, or Void
Transaction Status Workflow
Pending — Transaction hasn't cleared yet
Cleared — Transaction has posted to your account
Reconciled — Verified against a bank statement
Void — Cancelled transaction (preserved for records)
Filtering & Search
Filter transactions by account, category, type, date range, or use full-text search. Date presets include This Month, Last Month, This Year, Last 30 Days, and more.
Split Transactions
Divide a single transaction across multiple categories — useful for receipts that include items from different spending categories.
CSV Export
Export any filtered set of transactions to CSV for use in spreadsheets or other applications.
Create your own categories with custom names and colors. Categories can be either Income or Expense type.
Subcategories
Organize categories into parent/child groups. When creating or editing a category, select a parent category to nest it underneath.
Auto-Categorization
indiBudget includes an intelligent auto-categorization engine that recognizes hundreds of real-world merchants. Create custom rules based on payee name or description patterns (text or regex) with priority-based matching.
Track bills and regular income from the Recurring page.
Setting Up Recurring Transactions
Click Add Recurring
Select an account and transaction type (income/expense)
Enter amount, description, category, and payee
Choose frequency: Daily, Weekly, Bi-weekly, Monthly, Quarterly, or Yearly
Set the start date and optional end date
Configure reminder days before due date
Auto-Detection
indiBudget can automatically detect recurring patterns in your transaction history. Each detected pattern includes a confidence score to help you decide which to track.
Subscription Management
Mark recurring transactions as cancelled to track your savings. The app calculates estimated yearly savings from cancelled subscriptions.
Notifications
Receive native OS notifications when bills are coming due. Configure the reminder window in Settings.
Paste the URL into indiBudget (Settings → SimpleFIN)
Map your SimpleFIN accounts to indiBudget accounts
Sync transactions on demand or automatically
Privacy
Your bank credentials never touch indiBudget. SimpleFIN handles authentication with your bank — indiBudget only receives transaction data via an access token.
Click Export Backup to save a complete JSON backup of all your data: accounts, transactions, categories, budgets, goals, recurring transactions, and category rules.
Restoring from Backup
Click Restore from Backup
Select a backup JSON file
Data is validated and imported
Duplicates are automatically skipped
Backup Reminders
Enable backup reminders to get notified when it's been too long since your last backup.
All your data stays on your device. indiBudget never sends your financial information to any server (except SimpleFIN if you choose to enable bank sync).
Data Encryption
Enable optional AES-256-GCM encryption to protect your database at rest. When enabled:
AppImage: Make executable and run: chmod +x indiBudget-*.AppImage && ./indiBudget-*.AppImage
Data is stored in ~/.local/share/indibudget/ following the XDG Base Directory Specification.
macOS
Download the .dmg from the releases page. Open the DMG and drag indiBudget to your Applications folder. Data is stored in ~/Library/Application Support/indibudget/.
Windows
Download the MSI or NSIS installer from the releases page. Run and follow the prompts. Data is stored in %APPDATA%\indibudget\.
Balances are always computed from starting balance plus all transactions. Check that:
Your starting balance is correct
No transactions are missing or duplicated
Transfer transactions exist in both accounts
Import skips all transactions as duplicates
This usually means you've already imported this file. If you're sure transactions are new, check that the date format mapping is correct — incorrect date parsing can cause false duplicate matches.
SimpleFIN sync fails
Verify your access URL is correct. Access URLs expire — you may need to generate a new one from SimpleFIN. Check that your SimpleFIN subscription is active.
Blank or white window on startup (Linux)
Some GPU drivers cause WebKitGTK rendering issues. Try launching with:
WEBKIT_DISABLE_DMABUF_RENDERER=1 indi-budget
Forgot encryption password
There is no password recovery mechanism. If you forget your encryption password, you must delete the database and start fresh (or restore from an unencrypted backup).