site banner

Small-Scale Question Sunday for October 27, 2024

Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?

This is your opportunity to ask questions. No question too simple or too silly.

Culture war topics are accepted, and proposals for a better intro post are appreciated.

2
Jump in the discussion.

No email address required.

So I've recently been getting back into managing my personal finances. Historically I've used a mix of beancount, fava, and beancount importer as a combined method of getting my finances into a digestible format. The reason I stopped after 2+ years of tracking is that certain banks will change their export format every once in a while and I found every few months I'd go on to update my bookkeeping I would have to rewrite my importers. Part of the problem could be I dont fully understand the code behind it, therefore rewriting the importers became harder than necessary, but I've taken this opportunity to look into other methods. For posterity, here's what I've found in order from most managed to least managed in terms of alternatives, with my current method falling somewhere near the bottom:

  1. Monarch Money: https://www.monarchmoney.com/

    Paid. 6$ per month. Uses a mixture of commerical importers (Plaid, MX, etc.) to track both investments & current account balances. Haven't tried yet.

  2. Copilot Money: https://copilot.money/

    Paid. Very similar to Monarch money. 8$ per month. Also uses commercial importers, although less of them than Monarch Money. Reviews say it breaks sometimes, although those could be more historical.

  3. Actual Budget: https://actualbudget.org/

    Self-Hosted via docker. Able to sync with a semi-commerical integration called simpleFIN-bridge which uses MX on the backend https://beta-bridge.simplefin.org/ This seems somewhat legit but also somewhat sketch as there is no privacy policy etc. In terms of the actual 'actual' software. The native CSV import function is great. My main pain point is that it isnt Double-Entry Accounting, and there doesnt seem to be a way to specify a X-x-X date account balance y was z$. There is a way to reconcile to today, but in their method that just means add a reconciliation amount of xxx$ to fix whatever it is off by. I dont like this. Previously I was tracked meticiulously and it made sense. I also dont see a method to track investments, ie you own X shares of Y stock that are worth Z today.

  4. Maybe: https://maybe.co/

    another pretty app self-hosted via docker. Apparently there was a large dev push behind it that folded and they decided to open source the code base. I like this. For importing options, so far I've only seen import via csv. When doing so, they have a myriad of options, and it works well enough. It also allows for syncing investment holdings and updating their prices on the fly. For this, it makes it the most promising. What I dislike most about it is when automated sorting fails, the only method I've found for correcting categories etc, it manual with a lot of clicks. I liked the streamlined nature of beancount importer where I could bust through 1000 transactions in a couple minutes. I'm still testing to determine if there is a way to do this quickly with maybe.

  5. Firefly III: https://www.firefly-iii.org/

    Also does not support tracking investments as part of networth. I think for this reason alone its off the table.

I like the idea of using plaid, and accountants I've talked to show support. Hackernews is skeptical of it. I guess I'm asking the motte, do you use a plaid like software and trust it? It seems many banks now support Oauth. I have not yet, but would like to. I would probably be willing to pay for monarch or copilot if I did trust these integrators.

I use Monarch. Having multiple commercial trackers is incredibly useful as a number of banks don't play nice with Plaid (including my primary bank). It's great as it is quite comprehensive, I can track all of my investment accounts on it quite easily from individual accounts to 401k, manage budget and expenses and add notes for purchases for reminders (very useful if you have multiple revenue streams and you need to match expenses to income for tax deductions). I find it fairly comprehensive.

I have a referral link here if anyone wants to try it.

https://www.monarchmoney.com/referral/zu98cfajjp

How does monarch authenticate with banks? Did you need to fork over your bank password?

Monarch uses 3rd parties for authorization, so Plaid, MX, or Finicity will log into your account. Monarch itself does not store passwords. Whether you trust the 3rd parties, of course, is another discussion.

Plaid requires you to give them your bank password, right? You'll never catch me doing that.

Yes, but not always. Some banks (e.g. WellsFargo) support protocol that actually allows to give aggregators limited access without giving away the password. Unfortunately, not all banks support it.

This is where I’m not so sure. Current iterations as far as I can tell generally use “Oauth” which again is a bit of a black box but from what I can tell you’re logging into your bank and giving plaid an access token, which I think can be configured to be read only. Although more black box. In practice, plaid doesn’t have your password generally (although maybe for some banks as your link discusses.) what it can do with that token (is it read only?) is even read only bad enough? Etc. is up for debate.

Current iterations as far as I can tell generally use “Oauth” … In practice, plaid doesn’t have your password generally (although maybe for some banks as your link discusses.)

I've never heard any reports of this. Are you saying you've seen some bank for which Plaid supports OAuth rather than merely doing screen-scraping? If so, what bank is that?

“Oauth” which again is a bit of a black box … what it can do with that token (is it read only?) is even read only bad enough? Etc. is up for debate.

It really shouldn't be “up for debate”.

If your bank supports OAuth as a protocol, but doesn't tell you exactly what authorizations you're granting the relying party when you approve a request, that's a massive failure of your bank, and arguably a violation of at least the spirit of the OAuth spec:

If the request is valid, the authorization server authenticates the resource owner and obtains an authorization decision (by asking the resource owner or by establishing approval via other means) … If the resource owner grants the access request, the authorization server issues an authorization code and delivers it to the client …

The last time I was faced with a plaid page, they wanted me to enter my password in a plaid page, rather than my bank's page. Perhaps this has changed, but there's simply no way that I'd trust plaid not to retain my password in some regarded way.

Yes, even when banks offer secure "front door" API access, Plaid still refuses to consider those integrations over "back door" screen-scraping; here's an example:

Fidelity has established a secure, integrated connection that better controls how customers can connect the third-party apps they use to their Fidelity accounts. Fidelity is requiring all these third-party websites, applications, and data aggregators to adopt this integrated connection to access our customers’ data.

It is with our customers’ financial well-being in mind that any third-party applications, websites, or data aggregators that do not utilize our secure, integrated connection will be prevented from accessing Fidelity customer data.

I don't know if Fidelity charges for that access, imposes some genuinely unreasonable security requirements, or if “plaid sucks and is dangerous” is just the whole story.

How complex are your finances that you need these tracking systems? Would simplifying them be an alternative?
I guess I'm not seeing what your aim is.

Generally not super complicated. Although seems to grow somewhat more complicated as time passes. Get a credit card at a separate bank, get a company 401k at some weird holdings company that can’t be changed. Etc.

I like https://financier.io/ a lot; there's a free dev-operated instance for on-device budgets (with the option to pay $12/yr for cloud sync of unlimited budgets, so it can be used as a “family plan”). Doesn't support tracking stocks, but if you're fine to just add a “market value change” transaction at the end of the month it works great.

Doesn't have any bank integrations or statement parsing / bulk transaction import ability whatsoever (though I've heard there are 3rd-party Python scripts to do this); however it does have a pretty nice transaction "reconciliation" flow (items go entered → marked as reconciled → confirmed as reconciled.)

It's seemingly inspired by EveryDollar and YNAB, but (compared to EveryDollar) it is much more graceful about overflowing dollars you neglected to budget in the first place (and/or dollars you overspent) to the next month.