Tooling

GnuCash & Double-Entry Desktop Accounting

GnuCash, HomeBank, KMyMoney, Money Manager Ex, Skrooge, Eqonomize — the desktop OSS double-entry accounting landscape.

The desktop OSS finance landscape is dominated by GnuCash — a venerable, somewhat ugly, very capable double-entry accounting app that has run households + small businesses for two decades. Lighter alternatives (HomeBank, Money Manager Ex) trade depth for friendliness. GPLv2 / GPLv3 across the board. For envelope budgeting see Actual Budget; for plain-text accounting see Beancount + Fava; for the broader self-host OSS personal index see Self-Hosted Personal Apps; for SMB-business accounting see Accounting & Bookkeeping; for the post-Mint paid hosted side see Bill Tracking & Household Finance.

The tools

  • ★ ★ GnuCash — free OSS (GPLv2); the venerable double-entry accounting desktop; cross-platform (macOS / Linux / Windows); SQLite + XML backends; mature 2002+; supports investments, business invoicing, payroll-light, multi-currency.
  • HomeBank — free OSS (GPLv2); lighter than GnuCash; great charts; cross-platform; not double-entry. Best fit for "I want a clean desktop personal-finance tracker, not full bookkeeping."
  • KMyMoney — free OSS (GPLv2); KDE-flavored; double-entry; mature; cross-platform but feels best on KDE.
  • Money Manager Ex (MMEX) — free OSS (GPLv2); cross-platform; clean UI; SQLite-backed; growing community; Android companion (read-mostly).
  • Skrooge — free OSS (GPLv3); KDE-flavored; double-entry-ish; nice reports; smaller community.
  • Eqonomize! — free OSS (GPLv2); Linux-only; lightweight; somewhat dated.

When to pick double-entry desktop

  • ★ Multi-account household with investments + multiple currencies — GnuCash handles this cleanly; many spreadsheet workflows do not.
  • ★ Want a bookkeeper-style audit trail — every transaction has two sides; balances reconcile or you find the bug.
  • ★ Long-term commitment — GnuCash files you opened in 2008 still open today.
  • ★ Privacy-respecting — pure desktop; no cloud; no Plaid; you control everything.

When desktop double-entry is wrong

  • Mobile-first lifestyle — desktop OSS apps have weak mobile stories; GnuCash Mobile is read-mostly.
  • Want envelope budgeting — Actual Budget is a much better fit.
  • Want web-app + sync across devices — Firefly III (Firefly III Deep) or Beancount + Fava (Beancount + Fava).
  • Want bank aggregation built-in — most desktop OSS imports CSV/OFX manually.

Investments + multi-currency in GnuCash

  • Stock + mutual fund accounts — GnuCash treats them as commodity accounts; great cost-basis + lot tracking.
  • Multi-currency — built-in; daily exchange rates via Finance::Quote (Yahoo / AlphaVantage / etc.).
  • Reports — net worth, cash flow, asset allocation, investment performance; HTML output; configurable.
  • Crypto — works as a commodity; manual price updates or scripts.

Business / freelance use

  • Customers + Vendors + Invoices — built-in; print-ready; AR/AP tracking.
  • Payroll — light; usable for tiny shops; outgrow it for real payroll.
  • Tax export — TXF export for US tax software (TurboTax, FreeTaxUSA).
  • See also Accounting & Bookkeeping and Freelance Bookkeeping (Wave).

Mobile + sync stories (the weak spot)

  • GnuCash Mobile (Android): companion data-entry; export and import on desktop; not real-time sync.
  • GnuCash file in Syncthing / Nextcloud: works but requires single-writer discipline — opening on two devices simultaneously corrupts.
  • MySQL / Postgres backend — GnuCash supports this; experienced sysadmins use it for multi-device sync, but most stick with SQLite.

Backups + file format

  • ★ Default XML format — text-friendly; diff-able if you must.
  • ★ SQLite backend — single file; back up daily; rotating snapshots.
  • MySQL / Postgres — for power users; allows multi-user but adds operational burden.

License / pricing

  • GnuCash, HomeBank, KMyMoney, Money Manager Ex, Skrooge, Eqonomize: free OSS (GPL family).
  • Companion mobile apps: free.
  • Finance::Quote: free OSS perl module for price feeds.

Pick this if…

  • Default OSS desktop double-entry, household + investments: GnuCash.
  • Lighter than GnuCash, just want clean tracking: HomeBank.
  • KDE user, want native: KMyMoney or Skrooge.
  • Cross-platform clean SQLite-backed personal finance: Money Manager Ex.
  • Want web UI / multi-device: Firefly III or Actual Budget instead.
  • Want plain-text in git, not desktop: Beancount + Fava instead.

On this page