227 points | by import-base641 month ago
Some categories have the same thing logged over and over (like for the "Gas" category I always made the title "Gas") so when you select the "Gas" category it prefills the title field with the most common transaction title for that category. Also works in reverse, if you enter the transaction title first it will guess the category.
I also optimized the date picker. We budget month to month, so when you're in this month's budget, all you have to select is the day. No need to select month and year, as so many default date pickers do.
Just some tidbits in case they interest you as well!
I don’t use an expense tracking tool - apologies if my question may is missing context.
https://www.canada.ca/en/financial-consumer-agency/services/...
- I write myself an appointment on Monday to remind myself to plan a meal for next Friday, so the app silently moves the Monday app to Friday without telling me just because the words "next Friday" appeared in the event title
- I want to quickly note an appointment for a specific time including an address in the title, when the street number is something like 10A - the app aggressively decides (again without warning me) that I want the appointment to be at 10 a.m. instead of the time I originally suggested when creating the event
In the case of that particular app, I just turned off the "natural language" feature globally - shame because it could have been useful if it was less aggressive in its interpretations and silent modifications of my previous choices, but the app developers told me other users are happy with it so there is no reason to fix it.
https://chatgpt.com/share/67a8ef08-de44-800a-a0e2-b2523035ee...
Initially I was still missing quite a lot of transactions, as there isn't a SMS for non-CC payments, but then I realized I could just grab the information from the 2FA confirmation, as it had all the important details.
I'm not so good on the frontend, so I'm still using redash to build charts, dashboards and alerts, but it's fine for keeping an overview.
Long-term I would still like to switch to parsing the statement PDF from the bank, especially since there's an option to receive them automatically at the end of the month, but I'm dragging my feet on that one, as parsing tables from PDF is surprisingly difficult. Even though the actual text is embedded in the PDF, getting it in the correct layout has proven impossible so far. Or maybe I'm just missing some piece of the puzzle?
I am not sure how this system handles US tips though; the notification may come in before the tips are added and the CC transaction is finalized.
I’m partly lucky because I live in Taiwan and almost any receipt here comes with itemised breakdown as a QR code, so I can scan that from my phone and pipe it off to a queue for ingestion
Didn’t want to use LLMs, but wanted automated categorisation of transactions, did that with some vector embeddings and Semantic Router (https://github.com/aurelio-labs/semantic-router).
… oh and it’s run off a RPi, yes the embeddings as well
I might apply for the 載具 API at some point, but for now it works great
Any code you want to share?
I wrote an app like this a while ago in Node.js, the problem was that I found it annoying having to remember evrrything until I get back home and boot up my laptop to add new entries, so I decided to rewrite the backend in Golang so that it can run as an executable file, embedded the frontend React.js files into the Golang executable file, changed the DB from MongoDB to SQLite, and ran it on my Android phone using Termux.
I could have run it without rewriting the backend and changing the database, but I don't want to run Node.js and MongoDB on my phone...
Don't most personal finance apps have this? You can set a budget for a category per day/week/month and see how much you spent and how much you have left to spend.
I agree, if you need insights related to budgeting, then I recommend Actual or Firefly, as noted in readme. This app is strictly intended to be simpler. no budgeting, just tracking.
A few years ago I did a deep dive on expense-tracking apps/services - ostensibly to write a big comparison blog post about them all - but that never happened - but really because I wanted something just like this but without all the bells and whistles that most apps have.
The two biggest gripes I remember having when I did that deep dive:
1) It sounds so simple, but most apps/services which promised "import your statements and we'll take care of the rest" simplicity fell down over the simplest issue: If I have my monthly rent auto-drafted, and some months it shows up on the 31st and other months on the 1st, for example, the apps absolutely could not handle that (and I'd have a month with double-rent showing in my breakdown).
2) I just had no interest in budgeting functionality built in. Lots of people do. I didn't - I just wanted to see a simple breakdown of expenses just like ExpenseOwl (hence my extra thank-yous). SO many apps assumed that budgeting functionality was a must-have that they over-complexified things and forced the user to enter budgets, etc.
Because I built mine but it's a bit more rudimentary
At one point I started to design a motorized receipt reader but also another way that could work, a sandwiching mechanism like a scanner, lay em all down like a masonry grid, flatten and scan
Probably phone app is easiest
I didn't see anyway to connect with my bank accounts and pull this information. Would you be open to adding an integration like this? Maybe through Stripe financial connections, or the Plaid APIs?
(Tools with integrations like these are generally incredibly useful though, they tend to be paid and would need to run as a service)
different intent from my project, but glad you introduced it to me! thanks
That's a really good thing, you don't always need heavyweight solutions with bunches of features that love to eat a lot of RAM (and CPU), sometimes a simpler option is fully sufficient.
Especially because this one doesn't try to tackle complex problems like auth, if it's for personal use, you can just put basicauth (over TLS), mTLS, OIDC (Relying Party) or whatever your heart desires in front of it.
This is the same idea I had building Simple Wallet (https://simplewallet.app). I didn’t want a budgeting app telling how and where to spend. I simply wanted an app to track and organize my money.
I’ve been thinking about how to visualize money. I don’t think pie charts are the way to go. I’m thinking something like RuleMark on SwiftUI.
1. Setup the google sheet
2. Create a simple AppScript script that accepts Name/Amount/?Date
3. Attach AppScript to the google sheet
4. Set up shortcut through the Apple Shortcuts app to ask for the inputs and create a simple POST to the script URL
So adding an expense is simply clicking the Shortcut icon and entering in the data. No need to open sheets itself
Aside: I built my own expense tracker [1] as well to categorise expenses using LLMs as I needed a quick way to log the entries. I’ve been meaning to export these to Actual budget for a detailed analysis but haven’t done that yet.
I'm glad that something like this exists!
I like the simplicity. It’s just a quick add and then it’s in the pie chart. Think this could ever be integrated with bank spending automatically? I think that running locally would make you feel safe doing do.
Theres a couple tiny things I wish would be implemented that Ive suggested on Github, but the core is solid.
As a customer you cannot gain access, at least easily. You need to apply for accreditation as a third party financial services provider.
1] https://play.google.com/store/apps/details?id=dev.hemanths.p...
I was looking for something like this just a few days ago. Ended up going with Flow[1], an open source Android app, because I wanted something that I could enter data on from my phone and run completely locally there. I don't yet have Tailscale running, or some other solution to access my homelab on the go. But it's great to see more and more software designed to run on people's local networks. And from the screenshots ExpenseOwl is the next tool I'd try if Flow doesn't work out... Getting Tailscale or a similar solution up and running is also on the to-do list.
I know other people want direct integration with banking APIs, but for me it's actually a feature to have to enter everything manually. I'm deliberately working on better spending habits, and having a local set of data with me which is actually sometimes ahead of my bank in terms of cleared transactions is good. It means I build the habit of entering and categorizing each time I spend money, and it means I have to regularly reconcile accounts. It's only a hypothesis, but I suspect in the era of checkbooks the practical fact of having to keep up the books manually enforced better spending habits.
[1a]: https://play.google.com/store/apps/details?id=mn.flow.flow
[1b]: Also, github: https://github.com/flow-mn/flow
N.B. There's another expense tracker on the Play store, also called "Flow", which AFAICT isn't open source.
Edit: ah, it's not available on web or desktop which is a shame (looks like you can build and run it but it's more so DIY and no UI optimizations for larger screens, they say on the README), I would do more serious personal finance work on a bigger screen rather than a phone. They could easily add these platforms as it's on Flutter, not sure why they haven't already.
also, on a side note, for non streaming workloads, i prefer cloudflare tunnels over a vpn solution like tailscale, feel free to check that out too :)
cheers!
How's the simplicy of setting up and accessing cloudflare tunnels over a VPN for the near-totally computer illiterate, in comparison to Tailscale?
Part of setting up a homelab and self-hosting more and more of my digital life has been working toward being able to offer family and very-close friends an off-ramp from the world of cloud-controlled data and computing. Especially among family, there are some folks who will not be able to easily grok things even you, I, and casual power uses would consider "basic."