This. I can relate so much. I feel my instinct is always to roll-my-own because I can and, perhaps more importantly, because I'm not familiar with relevant no-code services.
What other such tools/services are out there that can help "to go from idea to proof-of-concept in only a few hours."?
Definitely check out their templates, https://coda.io/templates
I'll be adding more in the coming days...
To directly answer your question, I would recommend Bubble.is as a great place to start in the no code space.
You can also do things like record transactions yourself, update with downloaded data, and reconcile against monthly statements (as another way of catching discrepancies).
You can make custom reports with charts. I used these, for example, for comparing how much I spent buying coffee every day, vs. how much I spent on every cost that goes into making coffee at home, when I tried that for a while.
There's also features for tracking investments, including automatic updates of market prices.
And, if you're a small business, you can build and generate invoices (including building the invoice over multiple days), and track accounts receivable.
Warning: GnuCash can be a significant investment of time. I eventually decided it was no longer worth it for me, though I might someday resume it.
Other Warning: If you have retirement accounts or other investments in GnuCash, consider hiding them from view, which GnuCash lets you do with any account. Bogleheads-style, US people probably want to keep contributing to a predetermined balance of total-market stocks and bonds, automatically, and not think about it, especially when there's market fluctuations.
Nice! But why do you need a separate report for that? Just put all the coffee-related expenses into their own subaccount of the expense account for Food, and run the standard expense reports on that account.
> Warning: GnuCash can be a significant investment of time. I eventually decided it was no longer worth it for me, though I might someday resume it.
Oh, I know what you mean. Especially when you first set it up.
For me, it's about 15 minutes per week, all things considered. I track all expenses, including cash expenses. The only thing I don't break down into individual items are grocery bills. Those get folded into one daily "Groceries" transaction.
1 - http://furius.ca/beancount/
2 - https://plaintextaccounting.org/
It's not so much that it's personal or business that's the issue, I think. It's more the consequences for making a mistake. When I was very poor (but luckily not in debt) I had a good system for controlling my spending. I would take out X amount of money every Monday. I would try to have some left at the end of Sunday (a couple of hungry days helped me understand the importance of being conservative in my estimation).
That system works fine (and would even work fine in some kinds of businesses). However, what do you do when you find that no matter what you do, you can't seem to get to Sunday without running out of money? What if you can't figure out where it is going? Some kind of accounting will help you figure out what you are spending your money on.
Doing the accounting is fine and most of the time it's not a big deal if you make a mistake here or there. However if you are really pressed for cash (like you won't eat on the weekend if you make a mistake), it's probably not a bad idea to record your expenses in a way that allows you to detect mistakes. If your weekly transit pass is $50 and you accidentally record $5, you might conclude that you have $45 every week more than you actually have. You'll eventually figure it out, but it will mean more missed meals than you probably want to endure.
I like living a lifestyle where I make enough and spend little enough that I naturally have enough money. For me, that's my definition of "rich". After I got married, that state of affairs seems to have disappeared from my life ;-) Trying to reason about where the money is going is surprisingly tricky and double entry accounting has helped me make good conclusions without enduring stupid mistakes. Not necessary, of course, but still useful if you are the kind of person who likes fiddling.
In personal context, doing double-entry would have you log a credit (pay from) to your assets and a debit (pay to) to your debts. For example, when you pay your credit card bill with a check. For generic expenses (whether you pay with cash or credit) and income you wouldn't bother with double-entry.
Why would you want to do this? It's all about "balancing" your net worth; when you have expenses or income your net changes, but when you pay a debt then your worth, or "capital" in bookkeeping jargon, is a constant, and follows the basic rule of accounting: assets = liabilities + capital. Doing double-entry is the most reliable way of following this rule.
With single-entry (where you just key in expenses for the month), it's easy to forget that cup of coffee you paid for in a rush. It doesn't matter with double-entry since you can always just check if your wallet tallies up.
I usually just classify variances under miscellaneous expenses if it's not a large amount, but sometimes I've found myself somehow "missing" a few hundred bucks which I then would start tracking down.
In the UK, they are starting to wake up. The new "challenger" banks which exist here all do this as a hygiene feature - see Monzo, Starling, Revolut. With Open Banking mandating open APIs for all banks, this will become the norm soon. The fact that American banks and regulation hasn't jumped on this is a symptom of something very wrong with the system.
I sincerely hope the launch of Apple Card or similar services disrupt consumer finance in the US as well and set a new bar. And when the above mentioned banks come to the US (which they are currently working on), you should absolutely switch and delete the 100 lines of python as well.
In the US, you have to use a wire transfer is you're moving more than about $4,000. And wires cost a lot of money. And they aren't even instant even though they are billed that way.
I had to move some money from one account I own to another, and I needed it there the same day. The only way to make it happen was to drive 15 minutes to the origin bank, spend 15 minutes filling out a paper form in the branch, which was then faxed to the central processing center. Then I had to call the center center every hour to see if they'd gotten to it yet. When they finally did do it, I had to call the receiving bank with the tracking number and tell them, and then they had to find it on their side, which took a couple minutes, before it was finally processed.
From the time I finished filling out the "instant" wire form (and paying $45!) to the time it hit my other account was over three hours! And that was after the initial 30 minute delay of driving to the bank and filling out a paper form.
Seriously. This is disgusting but it works.
Which is helpful in cases like this. And purely idiotic in many other cases because it enables check cashing scams which are probably the number one most popular scam in the US.
A couple of times I've moved between $17,000 and $40,000, and Chase sits on it for up to TEN DAYS before it will release received the funds.
Chase claims it's a federal regulation, but no one in the branch or on the phone can tell me which one.
It's all about the float.
The federal deposit rate for banks is 2.35% right now. That's $64 to the bank for every million dollars every day it is deposited at the fed.
Now imagine a large bank like chase is dealing with billions of dollars a day in transfers. Hold it several days when you receive a transfer and hold it several days before sending a transfer and you are making literally millions of dollars every month just for dragging your feet on transfers.
$5,000 isn't enough to cover rent in San Francisco.
Yes, Zelle is a nice stopgap solution, except it is only supported by a few banks, and still has really low sending limits.
Note that this only applies for business accounts. Regular users as far as I can tell are unable to access the API.
- your credentials change
- your credentials require MFA authentication
- your credentials require a password reset or security question/answer intervention
- the bank, Yodlee, or the service lose track of the transaction offset and you get duplicate transactions or missing transactions
- the service doesn't transmit all available metadata
This makes it work for both cash and debit payments, and doesn't need any maintenance for API breakage. I find doing this data entry calming, to be honest.
I wrote about it here https://gkbrk.com/2019/04/plaintext-budgeting/
I did exactly that and I import the data from the bank’s csv-export once per month. I have a set of sql statements to run and categorize everything and then I manually enter the stuff that isn’t caught by the script. I manually enter cash transactions.
And the end of the year I run a sql statement to generate a report with all of the significant amounts for taxes.
A few years I didn't even need to change the script. But even when I needed it wasn't something too complex. As long as you constrain the expected behaviour and error early - it works perfectly well.
Please consider adding a source for this when you have a moment.
My bank is TSB, but at that time there was definitely not even a program to register a developer account with them.
We would all do well to follow this example though - NIH and reinventing the wheel are huge problems in our profession. Great work!
The biggest hassle is the fact that each of my banks/financial institutions uses at least half a dozen unique addresses to send me relevant information.
1st item on their FAQ https://www.mint.com/how-mint-works/security
I love being able to continue using Google Sheets shortcuts + automation features. It allows me to generate well-formed reports that I can analyze with pivot tables or any of my normal processes that I use for analyzing datasets.
I like the "hack" here - seems BofA supports this kind of alert too. I'd love to follow a simple guide that lets me (1) setup the zapier instance and (2) deploy the server side to a DO or Heroku.
One thing that it seems you could do is use Google sheets for your constants vs coded in the repo. That way if you spend from somewhere new, you can do add that category on the fly by updating your sheet.
Quick glance at my UK amex says nope
> I looked into existing budgeting software such as Mint or YNAB; they were feature packed but cumbersome to setup and complex to use. All I wanted was a simple, unified view of my transaction history across all payment mechanisms with a few spending categories from which I could do my own analysis.