What's Changed
💰 Envelope budgeting
MoneyMatter now supports envelope budgeting on a new Budget page. You split the budget into lines, each covering one or more categories, give every line an amount, and see what you've spent and what's left. Leftover or overspent money moves into the next period by the rollover rule you pick, and each line can have its own rule.
The budget resets monthly, twice a month, every two weeks, every week, or every few days or months that you choose, and it watches only the accounts you select. With Smart pre-fill on, you start with lines built from your last 3 months of spending, already grouped and named. A few optional setup questions shape them further. With no spending history, your answers stand in for it.
A goal on a line tells you how much to assign each period, whether it's a monthly bill, a yearly payment or a savings target. The side panel shows a line's breakdown, scheduled payments, spending pace and an assigned vs spent chart. Backups and data exports include your budget.
Budgeting comes with the Essential and Plus plans and the 40-day free trial. On the Early Adopter plan you can try it for 40 days, counted from the day you create your first budget. The Start budgeting guide walks you through it.
🏷️ Budgets are now Trackers
The old Budgets, which watch spending for a trip, a project or a set of categories against an optional limit, are now called Trackers. They work as before.
📊 New dashboard widgets
The Budget widget shows your current budget period. The Trackers widget lists each active tracker with how much of its limit you've used and its net.
🔑 Password reset
If you can't sign in, use the forgot password link on the sign-in page and MoneyMatter emails you a link to set a new password. It also works for accounts that only sign in with Google, GitHub or a passkey. The sign-in page also tags the method this browser used last, so you can see whether you signed in with Google, GitHub, a passkey or email. Self-hosted instances need email set up (RESEND_API_KEY) for reset links.
✨ Improvements
- Transactions table: drag a column's edge to resize it. MoneyMatter saves the widths to your account.
- Payees: search matches payee aliases too, and a clear button empties the search field.
- Landing page: the pricing section previews Premium, and you can vote for early access.
🐛 Bug Fixes
- On iPhone and iPad, the bottom navigation bar and the sticky period selector covered the bottom of each page. You can scroll to the end of the page again.
- The Investments page left out any portfolio holding securities in a currency missing from your currency list. Portfolios in your own currencies showed as usual.
- Connecting SimpleFIN while its server was down showed an unexpected error and could use up your setup token, so you had to create a new one. You now see a message that SimpleFIN can't be reached.
- An AI assistant connected through MCP could send a negative amount when it created, edited or split a transaction, and the transaction got saved with its sign flipped. The assistant now gets an error and can retry. Transactions you enter in the app were never affected.
- On macOS, swiping a dashboard widget list with nothing to scroll made it bounce, and the page didn't scroll.
- In the demo, the Export and backup buttons failed with an error. The demo now marks them as unavailable.
- In languages with longer labels, such as German and Ukrainian, the Counting label on the FIRE planner pushed its icons onto their own line.
📝 Code Changes
- feat: Envelope budgeting by @letehaha in #721
- chore(i18n): new Crowdin translations by @letehaha in #725
- feat: "Forgot password" flow by @letehaha in #726
- fix: [hotfix]: Orphan currency rate retrieving by @letehaha in #727
Full Changelog: v0.30.9...v0.31.0