Skip to content
Sarg338Public

About

Here's A Free Budget: a free, open-source, local-only envelope budgeting app for Windows. Your budget is one file you own.

Topics

Resources

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

HAFB — Here's A Free Budget

CI

A free, open-source envelope-budgeting app for Windows. It does what the popular paid budgeting apps do, giving every dollar a job, without a subscription, an account or a server. Your budget is one SQLite file on your PC that you own. MIT licensed.

Status: beta (0.9.1). Everything is built; it's in testing before 1.0. Bug reports are welcome in Issues.

Download

Get the installer (.msi) or the portable zip from Releases. HAFB needs Windows 10 22H2 or later, or Windows 11, on x64. docs/install.md covers installing, upgrading, uninstalling (your data stays) and checking a download.

What it does

  • Planning: Ready to Assign, Assigned / Activity / Available, cash and credit overspending, moving money, and covering overspending from future months.
  • Targets: weekly, monthly, yearly and custom. Also Auto-Assign, Focused Views, Plan Reset and Cost to Be Me.
  • Accounts: checking, savings, credit cards with payment categories, loans with interest, escrow and a payoff planner, and tracking accounts.
  • The register: splits, transfers, flags, photo attachments, scheduled transactions, bulk edits, search, reconciling, undo and redo.
  • Reports: Spending Breakdown, Spending Trends, Net Worth, Income v Expense and Age of Money.
  • Getting data in: import a plan exported from the leading paid budgeting app, to the cent (docs/migrating.md), and import bank files (CSV, OFX, QFX, QIF).
  • Optional bank sync through SimpleFIN Bridge, a service you sign up for and pay yourself. HAFB never sees your bank password.
  • Windows: keyboard shortcuts throughout, light, dark and high-contrast themes, text up to 200%, and WCAG 2.2 AA accessibility.

Your data stays yours

  • No account, no telemetry, no update checks and no ads. HAFB works with the network unplugged.
  • The one exception is bank sync, which stays off until you link it. Then it talks only to SimpleFIN. docs/privacy.md has the details and how it was checked.
  • Each plan is a single file saved where you choose, and any SQLite tool can read it. Backups run every time you open a plan. A password can lock a plan with SQLCipher (AES-256).
  • To use it on more than one PC, put the file in OneDrive, Dropbox or Syncthing.

Docs

Building from source

Every push is built and tested by GitHub Actions, and releases are built there too. To build it yourself, you need:

  • Windows 10 22H2+ or Windows 11 (x64) with the WebView2 Evergreen runtime. It's preinstalled on Windows 11.
  • Node.js ≥ 22.12 and pnpm 12 (npm install -g pnpm@12.10.1).
  • Rust stable (MSVC) with clippy (rustup component add clippy), plus Visual Studio Build Tools with the C++ workload.
  • For pnpm build:arm64 only: rustup target add aarch64-pc-windows-msvc and Visual Studio's MSVC ARM64 build tools component.
  • Strawberry Perl (winget install StrawberryPerl.StrawberryPerl). OpenSSL's build scripts need it, because SQLCipher (plan passwords) uses OpenSSL's ciphers (ADR 0010). The first Rust build compiles OpenSSL in about 9 minutes.
pnpm install
pnpm dev            # run the app with hot reload (Tauri + Vite)
pnpm test           # Vitest, all packages
pnpm test:engine    # engine only
pnpm test:rust      # Rust tests
pnpm lint           # tsc (strict) + ESLint + cargo clippy
pnpm build          # license notices, then .msi + portable .zip + SHA-256 checksums, then prints sizes
pnpm build:arm64    # the same for Windows on ARM
pnpm smoke          # end-to-end tests that drive the built app (after pnpm build)
pnpm version:set 0.9.1   # set the version everywhere (Cargo.toml, package.json, Cargo.lock)

Release builds go through pnpm build; a bare cargo build --release makes a dev-mode exe.

packages/engine     pure TypeScript budget engine (no DOM, no Tauri, no I/O)
packages/store      plan data, commands and undo, imports and exports
packages/shared     types shared by engine and UI (Minor money, ISODate/Month)
apps/desktop        Tauri 2 app: React UI in src/, Rust in src-tauri/
docs/decisions      architecture decision records

License

MIT (see LICENSE). The third-party components HAFB is built with, and their licenses, are listed in THIRD-PARTY-NOTICES.txt.

About

Here's A Free Budget: a free, open-source, local-only envelope budgeting app for Windows. Your budget is one file you own.

Topics

Resources

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages