github letehaha/budget-tracker v0.18.0
v0.18.0 – Payees & auto-categorization

latest releases: v0.27.10, v0.27.9, v0.27.8...
3 months ago

What's Changed

🧾 Payees & auto-categorization

MoneyMatter now tracks Payees as a first-class entity alongside accounts, categories, and tags. Each payee can hold a primary name, aliases for the messy variants banks emit (AMZN MKTP US*1Z, Amazon.com, etc.), and an ignored-name list so noisy strings stop polluting matches. Fuzzy name matching links incoming transactions to the right payee even when the source label drifts.

Most importantly, payees support a per-payee auto-categorization mode that overrides AI categorization – if you tell MoneyMatter "every Spotify charge is Subscriptions", that rule wins over the AI guess on every future match, no more correcting the same merchant every month. Manage payees from a new section under Settings, filter the transactions list by payee, and bulk-assign a payee across many transactions at once. Payees are owner-scoped on shared accounts, so shared-account writes resolve against the account owner rather than the acting user. Payees are also exposed via MCP tools for AI agents.

🧭 Settings & sidebar reorganization

The header now hosts Settings and Feedback directly, freeing space in the sidebar and surfacing them from anywhere in the app. Theme and Language moved into a unified Preferences group, and Settings navigation is now split into Personal and Workspace sections so it's clearer which knobs affect you vs. the whole workspace. You can also hide the Portfolios, Ventures, and Vehicles sidebar sections from Preferences when you don't use them.

The sidebar itself got a small ergonomic upgrade: opening a nav section auto-collapses the others, so the menu stays compact instead of growing into a tall scroll.

🧹 Wipe all user data

A new "Wipe all user data" action under Settings deletes every account, transaction, portfolio, vehicle, venture, payee, and preference for your user – useful for starting clean after a demo, an export, or before handing the workspace to someone else. The action is destructive and confirmed explicitly.

🐛 Bug Fixes

  • Setting the base currency on fresh deploys no longer fails – the self-pair (X→X) rate is treated as 1 directly instead of being looked up from a provider that never emits it.
  • Monobank GeoBlocking errors are now handled and surfaced clearly instead of failing the sync opaquely.
  • CSV import duplicate detection no longer crashes when every parsed row is invalid; the file is rejected with a real error instead.
  • Investments provider 402 paywall errors no longer create Sentry noise – they're expected upgrade prompts, not bugs.

📝 Code Changes

Full Changelog: v0.17.0...v0.18.0

Don't miss a new budget-tracker release

NewReleases is sending notifications on new releases.