6 ms·
I use YNAB (https://youneedabudget.com/ https://youneedabudget.com/), which requires inputting every one of your transactions by hand or importing them from you
by buzzy_hacker 7y ago
I use YNAB (https://youneedabudget.com/ https://youneedabudget.com/), which requires inputting every one of your transactions by hand or importing them from your bank. The downside of the import is it takes a few days for the transaction to show up and you need to give YNAB your bank username/password, which I'm not comfortable with.
I wrote this https://github.com/buzzlawless/ynab-live-import https://github.com/buzzlawless/ynab-live-import to import credit card transactions instantly with no need of giving up my bank credentials.
The whole stack runs on Amazon Web Services. Simple Email Service receives a notification email from the bank that I've made a purchase, saves it to S3, and triggers a particular lambda function tailored to whichever bank the notification came from. The lambda function retrieves the email from S3, parses it for transaction data (account, payee, amount, date), and writes that data to a DynamoDB table. The table has a stream enabled, which triggers another lambda function when the table is updated. The function reads the transaction data from the stream and posts the transaction to YNAB using their API.
I've mentioned this on HN once or twice before and got some positive interest with people even submitting pull requests, which is awesome :) Going to find the time soon to review those and maybe add more features
- aaron_m04 7y ago> you need to give YNAB your bank username/password Why don't they have oauth for this?
- lignux 7y agoWhat do you do about cash transactions?
- ralmeida 7y agoNot OP, but there's not much to do about them - best way is to enter manually in the app at the time of purchase or write them down in a notebook and enter them in batch once in a couple days or per week. If your cash spending is sufficiently small that you don't care much to tracking each cash transaction individually, you can just track money as a category instead of an account - just record an outflow transaction in your bank account when you withdraw.
- wry_discontent 7y agoI don't use ynab anymore, but when I did, I usually just didn't include cash in it. I almost never use cash, and so it made sense to just deduct the money when it became cash.
- bathtub365 7y agoThat sounds a lot more complicated than just downloading bank statements and uploading them to YNAB and adds a lot more points of failure
- ralmeida 7y agoIt does, but it also keeps YNAB more in sync with your bank account, since transactions will typically take a couple days to show up in the statement.
- bathtub365 7y agoSure, but a database? Isn’t that part of what YNAB provides?
- buzzy_hacker 7y agoYeah it could probably do without it, but initially made this for a hackathon so it’s by no means perfect
- aphit 7y agoOne of the key features of YNAB is using it to actually inform you before you make purchases. By having it near instant (manual, or by this method), your decisions are fully informed when you make them.
- ralmeida 7y agoYes, but a DB of "transaction notifications" your bank sent you could still be useful so you can reconcile/debug if needed, much like the actual bank statement. I do agree that the DB could be removed from the system, adding the transaction directly from the SES-triggered event, and that would work for most cases.
- Aaargh20318 7y ago> transactions will typically take a couple days to show up in the statement Wait, in what century do you live that your online banking transaction overview doesn't have up to date data ? Also, your bank allows you to log in with just a username/password ?
- RHSeeger 7y ago> you need to give YNAB your bank username/password I am constantly amazed by the people that are willing to do this for various value-added finance sites; people that I would normally consider sane. Unless your bank provides (and you used) a read-only account authentication, if something goes wrong and your money disappears from the bank, the bank is going to tell you to take a hike. I can't imagine taking this kind of risk with my money.
- avree 7y agoSorry, but there’s no bank in the world that would tell you to simply “take a hike” if your password was breached and your money was stolen.
- kingkongjaffa 7y agoThey will if you literally give your credentials to a 3rd party when they explicity say don't give out your details anywhere, only between you and your bank.
- Hamuko 7y agoGiving away your password voluntarily and knowingly is not a breach.
- kazga 7y agoFor me, the username/password gives you read-only access and any kind of transaction requires 2FA.
- tomaslaureano 7y agoIt's an amazing job what you have done here. I've been tinkering with exactly the same idea (and same implementation) but haven't had the time to go ahead. Your work will instantly jumpstart my own use case (VISA and Beancount) and I thank you for that. Kudos!
- buzzy_hacker 7y agoThank you! Appreciate the kind words