Hacker News new | past | comments | ask | show | jobs | submit login

A while ago I built a simple SMS bot for my partner and I to track finances like this, and it works fairly well. The workflow is whenever we spend money we text it with "spend <amount>" or "sp <amount>", and whenever we receive money we do "add <amount>", and "save <amount>" whenever we move money to savings.

I added some minimal polish like an undo command, a minimal GUI accessible via a short-lived link it sends us on request where we can add and edit recurring bills, subscriptions, and upcoming one-time or yearly major expenses. It has support for debts/loans (we can do "cc <debt> <amount>" for increasing debt, e.g. by paying with a credit card, and "pay <debt> <amount>" for payments). It sends us nightly and weekly reports letting us know progress towards savings goals and warning us if we're about to run into a tight spot based on what it knows about our spend rate, and upcoming bills and big expenses. It also bugs us if it notices we haven't transferred anything to savings recently.

The fact that it doesn't sync automatically with our bank accounts is actually a feature, because the ritual of having to text it whenever we spend money forces some mindfulness of our spending habits, and the regular reports (where it chides us if we're not saving much or exceeding our spending goals) add some gamification -- we joke about how we want to make it proud of us. :)

Shameless plug - I wrote a SaaS that's pretty much just a SMS <-> google spreadsheet mapper. https://byobudget.com

That said, yours looks a lot more full-fledged than mine. Mine can only record transactions and then send a response (which it reads calculated from the spreadsheet based on the last transaction, which I'm very proud of for the level of customization it provides), but I've been noodling over how to add custom commands.

FTR, I shameless stole my idea from an earlier HN comment sometime last year; if you're considering implementing a SMS/spreadsheet system yourself, I'd check it out https://news.ycombinator.com/item?id=17313321

Edit: I really am happy with my solution because it basically lets you take any google sheets based transaction you have and add SMS as an input method.

Edit 2: Sorry if you encounter any rough edges if you go to use BYOB - I haven't marketed it widely, but my wife and I do use it. Any feedback is very much welcome.

Edit 3: If you don't want the manual import of transactions (but do want the freedom of a spreadsheet) then I'd suggest TillerHQ instead https://tillerhq.com I haven't used em, but I came across them when doing research before launching BYOB.

haha, I actually saw that comment shortly after I wrote the first version of mine. Did some searching on HN to see if anyone else was doing something like this -- it made me feel a little less weird about my idea to know that someone else was, in fact. Cool to know that you are too!

I also like that yours is generic -- I'm curious what other use cases might exist for an SMS based query system for sheets.

Another minor feature I added was lists so that my partner and I could keep our shopping list synchronized -- I could imagine it working well for that too

Well, I like the idea of timer to watch stuff. I could see it being a 3-7 day timer to trigger a text if you haven't updated the spreadsheet in some way.

As for queries, I'd like to add queries to get the categories and query the amount left in a category. But that's more special casing - maybe it's a purist in me. I'm leaning towards letting people define a keywords area with three columns - the first is the word to trigger the command, the second is where anything after the keyword gets put (in some sanitized manner - like stripping whitespace) and the third would be the place to read the response.

I like the shopping list idea.

I haven't really taken the time to polish up some operational bits (we have really good logging/metrics where I work, and I miss it) or to market it though. So it's basically just my wife and I right now. I think the push to get something shipped (and my perfectionism) drained me, but reading this stories comments has been invigorating, and I an probably go about improving things in a more measured manner.

WoW, your app is exactly what I had been looking for, most budgeting apps have gorgeous Graphs and stats but keeping it updated is really annoying, using SMS as the medium is genius. In fact, when I got some free time I'm going to make my own version but with WhatsApp or telegram on top of the SMS.

Yeah, I'm thinking something along the lines of using Bot Framework maybe to maximize the number of possible message platforms. You could also easily see it as a "skill" for Alexa/Cortana/et al, too.

You can make a google form that accepts the same information and then stores it in a sheet. You put a link to the form on your phone. Easy, free, integrated solution.

Nice! I use YNAB and have an AWS environment set up that logs all my credit card transactions instantly. My bank sends me an email with the transaction info, which I receive with Simple Email Service. Then I use Lambda to parse the email and log it in YNAB using their API. Fun and useful project. https://github.com/buzzlawless/ynab-live-import

I totally get the benefits of ritually entering though. I’m definitely lazier about non-credit card transactions now... motivation to expand my program to other types of accounts and get fully automated!

Wow, that's amazing. I'm totally going to use this. YNAB unfortunately don't allow live feeds from Australian banks so using middle-ware is a great idea. I never even considered broking the service myself. Awesome!

Thanks! Glad to hear others are getting use out of this idea. Feel free to ask any questions if you run into stumbling blocks setting it up.

I surely will, thanks again!

I do something similar. Banks in Germany offer a so called HBCI/FinTS interface (I think it is mandatory for them). There are some open source libraries available to read transaction through this interface. I made a time triggered azure function to read all transactions from the bank for the day before and add them to YNAB via their REST API. Was a fun weekend projet...

We then add categories manually to all transaction on the YNAB app, so... we go through each transaction every couple of days.

Curious to know which free libraries you are using. Additionally appreciate a comment about reliability. Cheers!

Hey! Which library to interact with the HBCI/FinTS interface are you using?

My partner and I have been happy users of GoodBudget.com for a while for this purpose. (Not affiliated just a happy user.) It's an envelope-budget SaaS product and has many of these features minus the SMS and open-source things

I've setup something very similar at my hobby project spendlight.com. The public site is now largely neglected with too many placeholder images, but I landed at the same conclusion that no sync is a feature... because mindful spending.

Nice landing page! I actually like your placeholder images :)

This sounds cool... have you shared the code anywhere?

Thanks! I haven't yet, mainly because I want to clean some things up first -- for instance, it's currently writing to a JSON file, with a job that archive a copy of it every few hours in case it gets corrupted.

Which is probably totally fine for most use cases, but I plan to port it to SQLite and open source it soonish.

I have been in search of what you’ve put together. My wife and I have tried unsuccessfully various strategies along these lines that were more lofi, but always come back to the spreadsheet. Another vote for open sourcing! I would be willing to contribute in my spare time to something like this. It’s a big gap for many, and all these beautiful iOS apps fall short in every way (but mainly I can’t bring myself to put my bank info on any of them!!).

Open source it now and someone might add different storage adapters -- you have eyes on it.

+1 for please open source it! That sounds like my ideal budget tracker.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact