8 ms·
Show HN: ExpenseOwl – Simple, self-hosted expense tracker
- ramon156 2y agoI'll give this a go So far Actual Budget is pretty good, although I wish the dashboard was a bit more extensive.
- agent531c 2y agoIm curious what you dont like about the dashboard? Ive been using Actual since the day it went open sourced, and the Custom Reports really make the 'dashboard' whatever I want it to be. Theres a couple tiny things I wish would be implemented that Ive suggested on Github, but the core is solid.
- smcleod 2y agoActual is cool but its lack of solid integration with the open banking standard (as is used in Australia and other countries) made it a bit annoying as its partnered integrations are pretty rough.
- dugite-code 2y agoThe open banking standard isn't actually all that open. As a customer you cannot gain access, at least easily. You need to apply for accreditation as a third party financial services provider.
- throwway120385 2y agoI wish I could figure out how to take pictures of receipts and OCR them into something like this.
- Ninjinka 2y agoNo need to OCR, just use Gemini Flash 2.0. It's great at this.
- remram 2y agoHow is it not OCR?
- BOOSTERHIDROGEN 2y agoYes I’m curious too.
- ge96 2y agopytesseract 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
- websap 2y agoChecked out the readme and the screenshots and this looks quite polished. 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?
- ahar083 2y agoOnce third party integrations like those come into play, I feel that this may become less “simple” and more of a full time job for the maintainer. (Tools with integrations like these are generally incredibly useful though, they tend to be paid and would need to run as a service)
- import-base64 2y agothank you! glad you like it! currently the intent is to be a simple and fast expense tracker, so there are no plans to integrate banks and auto-combing transactions.
- lknuth 2y agoHow about a CSV import? My banks all have an option to export transactions to a CSV file. You would need an import tool to create the mapping though.
- codecraze 2y agoI suppose you could parse csv file yourself and the api with curl? No need to add this feature in the app.
- import-base64 2y agoyes, this is the intended way for now
- Ninjinka 2y agoI built my own similar tool for my wife and I, with the same goal of making entering transactions as fast as possible, and one thing I found useful was predictive form filling. 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!
- import-base64 2y agothank you! those are good thoughts!
- fragmede 2y agoI can't find the library right this second but there's a JavaScript library that takes human date descriptions, like "last Friday" and creates a date object. Depending on users' typing speed that might be another convenience factor thing.
- FearNotDaniel 2y agoThese sound great in theory but as an app user I have found their implementation can range from deeply irritating to downright broken. Anti-use cases off the top of my head might be (this was from a calendar/reminder app): - 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.
- sfRattan 2y agoThis is super cool! 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 https://play.google.com/store/apps/details?id=mn.flow.flow [1b]: Also, github: https://github.com/flow-mn/flow 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.
- import-base64 2y agothank you! totally with you on building the habit of manually tracking and being aware of where my money goes! hopefully you like it more when you give it a try, open source, simplicity, and self-hosting are at the core for this. 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!
- sfRattan 2y agoThanks for the suggestion! 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."
- Thaxll 2y agoNot sure if this beats an excel file shared on Google drive?
- travisr 2y agoEntering data into a Google Sheet on mobile is not fun in my opinion.
- LordKeren 2y agoThe approach I took to make entering data in to sheets a little less awful: 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
- import-base64 2y agohaha! i hope it can! lemme know!
- zakki 2y agoYes, for sure. The entries in this app is not scanned by Google.
- ocdtrekkie 2y agoThis looks super simple to pull into Sandstorm to provide authentication around it... so we're going to give it a try!
- import-base64 2y agothanks! also my first time learning about Sandstorm, will read more about it!
- aayushdutt 2y agoI have been using Spliit (https://github.com/spliit-app/spliit https://github.com/spliit-app/spliit). We've added over 5k transactions on it and don't have any complaints so far.
- import-base64 2y agonice that's a pretty cool project! different intent from my project, but glad you introduced it to me! thanks
- xvfLJfx9 2y agoThe UI looks nice, but feature wise, I think I would rather go with Firefly III. It is a lot more complete.
- import-base64 2y agofor sure, i agree with you! i mention firefly and actual both in my readme as much more fleshed out options. intent behind this app was strictly to be simple.
- zeagle 2y agoThat's cool and thanks for sharing! If you are looking for future direction generating reports by category and overall and ability to add attachment of PDF/photo receipts to individual items is really helpful. I use these type of tools to keep track of business expenses for my corp (employee n=me) for my accountant come tax time and have never found the right tool for it. Tried even abusing invoiceninja, craterapp, a few others outside their use case. Eventually I settled on paperless-ngx (pulls from scanner, email address off phone) manual entry into excel now seatable for this on this but still not ideal. Firefly III seemed useful but daunting. I don't need double ended accounting or care about budgeting where I spend money... just receipt, table, report, print all and end of year.
- import-base64 2y agothank you! that's a good suggestion! i kept the pie charts monthly for simplicity. I think adding an annual or all time report doesn't take away from simplicity. I'll look into prepping an insights pdf and having a button for that. cheers:)
- jBBQ_dev 2y ago[dead]
- ktimespi 2y agoI've been building something similar for calorie tracking as well. A lot of the apps I've tried don't let me add meals quickly enough (repeat meals from the past, or new ones) or let me enter calorie formulae, and there's a bunch of unnecessary features like goal-setting. I'm glad that something like this exists!
- import-base64 2y agothank you! look forward to your calorie tracker app!!
- FearNotDaniel 2y agoGenerally looks like a promising idea even in a deeply-competitive space, however the "selling point" of having pie charts to summarize your monthly spending does absolutely nothing for me - I know, banks etc use them in their marketing of "modern" online tools too, so they look kind of cool, but in practice for decision making about personal finance I find them absolutely useless. What I need to know on a regular basis, during a given month and at the end of the month, is: how much have I spent in general, compared with how much I planned to spend? Am I overspending in a particular category that I need to correct to keep my monthly budget on track, e.g. a fixed allowance for eating out per month, have I spent it all by week three or can I afford to have one more fancy dinner with my wife or with friends and still stay within my budget? Ninjinka's tips sound pretty positive about making the UI friction-free for keeping transactions up to date, because it's my responsibility to put good data in; however if the reporting/charts doesn't tell me anything actionable in an easy to read format then there's no point.
- import-base64 2y agothank you, i'll take this as food for thought and see if i can improve the datavis! 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.
- mieses 2y agoalmost none such tools touch the problem of future planning or projection. it's kind of strange but perhaps it reflects culture. nothing beats making your own spreadsheets.
- satvikpendem 2y agoWhat kind of future projection are you looking for? My main issue is not all months are the same, sometimes I might spend way more in a given month for a given category (perhaps a one-off purchase like new furniture) that I don't aim to replicate for the next month, so how would the projection work in that case?
- mattfrommars 2y agoHaha, I guess people making their own expense tracker a thing. Because I built mine but it's a bit more rudimentary
- adhamsalama 2y agoVery nice! 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...
- mr-karan 2y agoLooks like a solid project, will be interested in giving it a shot 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. [1]: https://github.com/mr-karan/gullak https://github.com/mr-karan/gullak
- import-base64 2y agothanks! yours looks great too, love the report aspect
- budududuroiu 2y agoBuilt my own expense tracker on top of Teable. 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 https://github.com/aurelio-labs/semantic-router). … oh and it’s run off a RPi, yes the embeddings as well
- thangngoc89 2y agoJust curious, you didn’t use the e-invoice solution (載具)?
- budududuroiu 2y agoWanted to build my own dashboards for spend, instead of using an app, that’s basically it. I might apply for the 載具 API at some point, but for now it works great
- endofreach 2y agoInteresting. Any code you want to share?
- budududuroiu 2y agoWill wrap it up in a blog post, stay tuned. I think the interesting part is the categorisation
- jakemanger 2y agoI’ve been wanting something like this for a while. Was even thinking of building one myself. You beat me to it. 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.
- import-base64 2y agothank you! for now the intent is to self host and keep it simple and private; so there's no plan to integrate banks.
- grbi 2y agoDid something similar based on Metabase for the UI. Transaction stored in a basic Postgres table and regex on my bank transaction export for categorisation.
- Daveenjay 2y agoVery simple expense tracker. I like it. This is the same idea I had building Simple Wallet (https://simplewallet.app 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.
- piyuv 2y agoI use a simple spreadsheet and I like inputting my transactions manually instead of automating imports. Makes me think twice about my spending. Spreadsheets are flexible enough so I can extend functionality if and when I want.
- import-base64 2y ago100% agree, that's the precise use case for this app!
- nlh 2y agoThanks for building and sharing this! 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.
- import-base64 2y agoappreciate it! thank you for showing support!
- vednig 2y agoi use paisa currently, this seems cool too 1] https://play.google.com/store/apps/details?id=dev.hemanths.paisa&hl=en_IN https://play.google.com/store/apps/details?id=dev.hemanths.p... 2] https://paisa-tracker.app/ https://paisa-tracker.app/
- KronisLV 2y agoThis reminds me of Kanboard in how focused and simple it is: https://kanboard.org https://kanboard.org 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.
- import-base64 2y agothank you! glad you like it!
- aitchnyu 2y agoTangential, is there a service manager which can run 10 X 100 MB services in a 800MB homelab computer by hibernating services which didnt receive requests?