What's Changed
📎 File attachments on transactions
You can attach receipts, invoices and other files to a transaction in MoneyMatter. Open a transaction and drop files into the new Attachments field: JPEG, PNG and WebP images, plus PDFs. Each transaction holds up to 10 files of 10 MB each, and your account has 1 GB in total. Transactions with files show a paperclip in the list, and a new filter narrows the list to transactions with or without attachments. Attachments are part of every plan.
If you self-host, pull the updated docker-compose.yml before you upgrade. It adds a volume for attachments, and without it the files disappear when the container is recreated. You can point attachments at S3-compatible storage instead.
📤 More in the data export
The export in Settings → Data Management has a payees file, and each transaction row carries its payee, payment type, link, reference and location. You can limit the export to the accounts you pick. Transfers and refunds that cross into an account you left out still name the other side.
🐞 Bug Fixes
- Importing a large set of statements ended with a 504 error, although the transactions still got imported. The reported case had 178 transactions. The import now runs in the background and shows its progress. If you submit again while one is running, the app returns you to the running import, so nothing gets imported twice. Imports of a few dozen transactions were never affected.
- The account deletion dialog counted only the transactions loaded on the page, so an account with hundreds could show 30. It shows the full count now, including planned transactions and balance adjustments, which get deleted with the account.
- When an Enable Banking consent expired, sync failed with a generic error and the sync icon in the header looked fine. The app now marks the connection as expired and asks you to reconnect, and the icon turns red when a sync fails or a connection needs reconnecting. Connections with a valid consent synced as usual.
- On self-hosted instances without a logo.dev token, the Brand tab let you pick a logo for an account group, and the group then showed a letter, as if the logo was not saved. The tab now says the token is missing, and the picker opens on letters. Instances with the token set were never affected.
✨ Other Improvements
- Transaction templates remember the original currency, so a template for a foreign-currency purchase restores that currency.
- Currency pickers list your own currencies first, in a "Your currencies" section.
- The investment transactions import accepts dividend rows. You could already map them, but the review step blocked them. Fee and tax rows are still rejected.
- Self-hosted instances show the app version in the user menu, with a link to the exact commit.
📝 Code Changes
- feat: Add file attachments to transactions by @letehaha in #624
- feat: Add payees, transaction details and account filter to data export by @letehaha in #622
- feat: Save original currency in templates by @letehaha in #621
- feat: Support importing dividend transactions by @letehaha in #620
- feat: Show app version and commit link for self-hosted instances by @letehaha in #619
- fix: Fix bunch of issues by @letehaha in #618
- feat: Landing improvements by @letehaha in #616
Full Changelog: v0.28.2...v0.29.0