return to table of content

Show HN: Wealthfolio: Private, open-source investment tracker

diggan
23 replies
4h46m

First question from reading through the landing page is about this part:

Import your statements from your broker or bank.

Exactly what brokers/banks that are supported should be listed somewhere and linked here, as that's a "make or break" feature for a lot of people I bet. Not much point in replacing my homegrown "Banks CSV export -> Data processing > Import into spreadsheet" workflow unless I just replace that last step but the previous ones remain the same.

progforlyfe
5 replies
4h26m

That's what I was wondering. It's a ton of work, but would love the auto importing / screen scraping features that Mint.com had. For a local desktop tool it even has the potential to support every possible service because they can't do IP blocking on end-users (versus the server-to-server model that Mint.com had, caused many services to IP block Mint's servers).

Unfortunately, depending on an open-source tool to do this is a double edged sword if it had these features, because we would be opening the risk of supply-chain attacks -- malicious actors getting commits into the repository code which cause the program to send your data elsewhere -- or worse, deplete accounts' funds.

diggan
3 replies
4h23m

but would love the auto importing / screen scraping features that Mint.com had

I never used it, but didn't that ask you for the username/password in order to do its job? If so, I wouldn't touch it with a ten-foot pole.

cause the program to send your data elsewhere -- or worse, deplete accounts' funds.

Again, seemingly because their shitty architecture would that even be possible.

There are modern (possibly only European?) standards nowadays that forces the banks to expose proper APIs for doing things like that. Would require a business entity to deploy to production (I think that's one of the requirements?) but otherwise wouldn't be a huge task compared to manually scraping stuff.

nightski
1 replies
4h1m

Some banks allow you to create separate limited read only credentials at least that can be revoked at any time. But not all of them allow this.

al_borland
0 replies
3h52m

I used Every Dollar for budgeting for a while. It seemed mixed. Some banks used auth through the bank that would create a token for the site/app, which could be revoked through my account when the bank. Others used a 3rd party service which required the user enter their bank creds, and seemingly trust them.

I was in the market for a new bank, so I ended up coming up with my short list of banks I’d look at moving to, then went to Every Dollar to try adding accounts to see what kind of prompt I was met with. Anything that required the 3rd party to store my creds was out of the running. I ended up ending a 20+ year relationship with a bank of this. There were other things too, but this was the straw that got me to actually cut ties.

I assume Mint was similar. I used it a long time ago, probably when I was more trusting in my youth.

j-a-a-p
0 replies
1h43m

I suppose you mean PSD2. That is mandatory for EU banks that do payments. I don't think your stock and crypto trading services need to comply.

jfdjkfdhjds
0 replies
57m

only if there were regulations for consumer banking having the bare minimum for application security as is for everything else banks themselves depend on.

klinquist
2 replies
3h25m

I just assumed it uses Plaid.

diggan
0 replies
3h18m

I assume it uses no external services at all as it's supposed to be local first and "No Cloud" is basically the first thing you see when opening up the landing page.

Not to mention the second paragraph is "no more worries about SaaS services playing around with your data"

aketchum
0 replies
2h26m

unlikely, who would pay the plaid bill here? they dont really have ala cart pricing - you have to create an account with them etc

jfdjkfdhjds
1 replies
1h4m

it's open source... so all of them?

groby_b
0 replies
21m

That's a somewhat useless statement. "I have a hello world on github. It's Open Source, so it can solve all your problems" is both true and not helpful at all.

figmert
1 replies
2h59m

I really feel like there should be a tool that wraps Woob[0] finance and provides something similar to Plaid, but self-hosted. There are some great finance apps that could then potentially integrate it to improve automation.

Woob does a great job of providing a good API for automating the web, and sure, not everything works, but it's a good start. Unfortunately, it seems it's not very well known still.

[0] https://woob.tech/

aketchum
0 replies
2h28m

this sounds incredibly hard to do - plaid's moat is that it is a bunch of work to keep up to date with all these different bank UI's, plus many banks have moved to OAuth which they only provide to trusted partners - like plaid. You cant get an oauth token to your BofA account just because you have an account there

dv_dt
1 replies
1h33m

An tool (maybe AI) that processes PDF statements and outputs the structured importable positions & transactions would be appealing to me. No live online link to be compromised, or at lease a simpler fetch statement PDF scrape (vs maintain scrape of broker sites).

jonromero
0 replies
51m

We try doing that with HeyFire.co - import from a screenshot that is processed on your browser! But with a high rate of hit or miss right now.

a-fadil
1 replies
2h23m

For now only a standard csv file is supported with these columns: Date, Symbol, Quantity, Activity Type, Unit Price, Currency, and Fee. Supported activity types: BUY SELL DIVIDEND INTEREST DEPOSIT WITHDRAWAL TRANSFER_IN TRANSFER_OUT CONVERSION_IN CONVERSION_OUT FEE TAX Example CSV format: date,symbol,quantity,activityType,unitPrice,currency,fee 2024-01-01T15:02:36.329Z,MSFT,1,DIVIDEND,57.5,USD,0 2023-12-15T15:02:36.329Z,MSFT,30,BUY,368.6046511627907,USD,0 2023-08-11T14:55:30.863Z,$CASH-USD,600.03,DEPOSIT,1,USD,0

cvoss
0 replies
1h19m

Seems like this arrangement of columns can't properly support dividends, as 1) there is no change to the held quantity when a dividend is issued, 2) the unit price of the symbol is irrelevant, and 3) there is no column to record the actual amount received. My bank records a quantity of 0 and a dummy unit price of $1. It would be incorrect for the bank to record a non-zero quantity.

ryandrake
0 replies
23m

As an avid, daily Quicken user, yes, seamless integration with financial institutions is my #1 requirement. I am not willing to manually navigate a dozen banks' broken UIs to find their "download CSV" option, hope it works, download a bunch of files to my computer, and then hope that they can be imported into my application--and then repeat every day when I update.

I have in the past switched physical banks purely because their integration was either terrible or not working and I refused to go the "download CSV" route.

Unfortunately some banks are starting to drop support for applications directly connecting to them, and moving to an unacceptable model where intermediaries like Intuit's servers have to do the communication and store your credentials. This has been getting noticeably shittier in the last couple of years.

My #2 requirement (a close second) is that the application must be running on my local PC. I will never accept a cloud-based web-app or something I have to host on a VPS and access through some dinky HTML/JS UI.

rexreed
0 replies
20m

The Spreadsheet-based workflow works very well for me as well. I have a feeling a very large % of people manage their personal finances on a spreadsheet. And it's private, not cloud based, backupable, and password protected.

neilv
0 replies
3h52m

I don't know about Wealthfolio, but the import QFX/OFX/CSV/etc. into GnuCash has ways to reconcile that with transactions you've manually recorded/edited, which can be much richer than the bank or CC knows. (GnuCash also has a way to import via network access, but I haven't tried it.)

(Example of richness: splitting am Amazon CC charge into the multiple expense accounts for the items that went into the order, and also accounting for the CC rewards and the Gift Card balance that contributed.)

I tried taking a break from GnuCash for maybe year, and going to a spreadsheet, and found: (1) it was still substantial work to maintain an accurate view of balances, and (2) I was missing a lot of information I found I needed in practice.

groby_b
0 replies
23m

That's the core question. This is 99% of the value that any such tool provides.

An open source project that had import flows for all the major banks & brokers into a well-defined unified format? Tremendous impact.

A graphing tool that only imports a standardized CSV? I can do that in my spreadsheet in minutes.

brutal_boi
0 replies
3h17m

For that very reason I tried selfhosting Actual Finance[1] but it is more of a budgeting app than a networth tracking app.

I ended up coding a small exporter[2] since I already had some stack in place that queries SimpleFI[3], which essentially allows querying balance and transaction information for most US-based banks (read only); most similar to plaid but a lot more developer-friendly afaik.

[1] https://actualbudget.com/

[2] https://github.com/eduser25/simplefin-bridge-exporter

[3] https://beta-bridge.simplefin.org/

Onavo
0 replies
1h9m

I have found https://teller.io to be really good for this. They are more affordable than Plaid too at the lower end of scale.

I have also seen some apps use https://www.simplefin.org/

TexanFeller
10 replies
4h37m

"Local Data Storage. No Subscriptions, No Cloud"

This is what we need more often from our software, especially from software that works with sensitive data. I do typically want sync options though since I tend to use several different devices and it sucks not being able to reference information on the go from my phone. Sync options can include locally/self hosted options or use something like iCloud that don't depend on a software vendor's running a service though.

picardo
6 replies
4h26m

This is what we need more often from our software, especially from software that works with sensitive data.

Storing sensitive data in local storage makes you vulnerable to XSS attacks and Man-in-the-Browser attacks. You're exposing your sensitive data to an attacker that injects a script to the website and to malicious browser extensions. All sensitive data stored in local storage must be encrypted using a key stored in the server or somewhere on your hard disk. Otherwise, you're not reducing your risk, but substituting one type of information disclosure vulnerability with another.

diggan
5 replies
4h21m

Storing sensitive data in local storage makes you vulnerable to XSS attacks and Man-in-the-Browser attacks. You're exposing your sensitive data to an attacker that injects a script to the website and to malicious browser extensions

The app in question runs locally and only with trusted code. How is the attacker supposed to get in there to place the XSS or even do a MITM attack when there is no exposed website at all? Neither are there browser extensions involved here.

All sensitive data stored in local storage must be encrypted using a key stored in the server

Huh? Please don't do this, especially not for "local first" applications, would defeat the entire purpose.

picardo
4 replies
3h55m

only with trusted code

That's a big assumption. Have you read all the code, and the dependencies of the dependencies of your code? If you haven't, how do you know it can be trusted? What if there is a backdoor in an obscure dependency that can inject a script into your website to steal your sensitive data? Don't laugh it off. When there is money on the line, someone is going to try it.

Neither are there browser extensions involved here.

What about the extensions you installed in your browser? What about the user scripts (if you use them)?

Huh? Please don't do this, especially not for "local first" applications, would defeat the entire purpose.

Why not? Why do you want a local first app in the first place? What's the purpose of a local first app, if not security?

diggan
3 replies
3h52m

I think you're misunderstanding what kind of application this is.

It's not a website, it doesn't run in your normal browser. It runs as a standalone application.

Why not? Why do you want a local first app in the first place? What's the purpose of a local first app, if not security?

Because as soon as those keys aren't available (either because the endpoint no longer exists, or you cannot connect to the endpoint for whatever reason (like being offline)), you can no longer access your data.

That isn't "local first" at all, it's something else entirely.

picardo
2 replies
3h6m

Because as soon as those keys aren't available (either because the endpoint no longer exists, or you cannot connect to the endpoint for whatever reason (like being offline)), you can no longer access your data.

The encryption key doesn't have to be stored in the cloud. It just has to be stored somewhere else -- it could be in the file system.

It's not a website, it doesn't run in your normal browser. It runs as a standalone application.

Even if it's a standalone application, it doesn't mean the code can be entirely trusted. I wouldn't take that risk.

diggan
1 replies
3h1m

The encryption key doesn't have to be stored in the cloud. It just has to be stored somewhere else -- it could be in the file system.

Right, makes sense. I was saying to not store it in the cloud, specifically. Encrypt local data at rest, makes sense. Storing encryption keys for said content somewhere where you need internet access to get, doesn't make much sense.

Even if it's a standalone application, it doesn't mean the code can be entirely trusted. I wouldn't take that risk.

"Trusted" here refers to "not user provided inputs" that SaaS/website usually does somewhere. Obviously, there is code somewhere that you haven't read and verified, that's true for literally everyone using a computer today, no one has read and verified all the code they've run, we'd get nothing done if that was common practice.

Just for curiosities sake, what OS you use and how much of your software you use daily have you read through the source code of?

picardo
0 replies
1h59m

what OS you use and how much of your software you use daily have you read through the source code of?

Very few. It depends on the data I need to store in the program. I don't store sensitive data in Figma or VSCode, so I don't really care if they don't encrypt my data in local storage. But if I'm in the market for something that offers to manage my sensitive financial data, then yes, I want to dig into its dependencies and security strategy first.

mr_mitm
0 replies
4h26m

If I can specify the data location, I could just use syncthing or dropbox or whatever. Syncing directories is mostly a solved problem.

jxf
0 replies
4h35m

Sync options can include locally/self hosted options or use something like iCloud that don't depend on a software vendor's running a service though.

Don't most sync options depend on a software vendor running a service? (Your VPS hosting company, your SaaS handling cross-device syncing, your cloud provider, et cetera.)

LifeUtilityApps
0 replies
2h49m

I built a similar tool to what OP shared, mainly for debts instead of investments, and I completely agree with you. My app only uses iCloud to sync and it keeps all sensitive data on the user's phone. Another benefit I want to share about this approach is it means that apps built local-only will never have the risk of one day going offline and being inaccessible due to the company closing down or turning off the server.

a-fadil
8 replies
2h54m

Thank you for your comments, just some context: - The app is a simple desktop application that works on macOS, Windows, and Ubuntu. - I developed this app for my own needs. Getting tired of SaaS app subscriptions and privacy concerns. - For now, the activities are logged manually or imported from a CSV file. No integration with Plaid or other platforms. - No monetization is planned for now (only a "buy me a coffee" if you use and appreciate the app).

rs999gti
4 replies
1h12m

No monetization is planned for now (only a "buy me a coffee" if you use and appreciate the app).

A few ideas:

Anonymize and aggregate the data, then sell it off to financial and marketing firms.

Add ads to the site.

Charge a subscription fee.

Partner with banks as a white label financial planning tool.

xyst
1 replies
52m

Anonymize and aggregate the data, then sell it off to financial and marketing firms.

Horrible. Goes against the privacy oriented aspect of this app.

Add ads to the site.

Oh great, more useless ads I have to block. Nothing like getting a crypto scam ad while viewing your portfolio performance. Horrible UX idea.

Charge a subscription fee.

Yet another SaaS, centralization of data, and betrays the privacy oriented aspect

Partner with banks as a white label financial planning tool.

Likely won’t work. Maybe small advisors would buy into it but at that level there are a plethora of tools available to them with real time aggregation available via Plaid or even old school scraping (doubtful in 2024 though).

How about this? Just charge one time fee for major versions of the app. Minor and patch versions are free. Keep the privacy oriented aspect and local to users machine.

Why must you always use the worst ways to monetize? Treat users with respect and you will have life long customers. Not everything needs to be a billion dollar unicorn pumped with VC funds.

rs999gti
0 replies
29m

Why must you always use the worst ways to monetize? Treat users with respect and you will have life long customers. Not everything needs to be a billion dollar unicorn pumped with VC funds.

They aren't the worst ways to monetize, they are just the ones that work.

How about this? Just charge one time fee for major versions of the app. Minor and patch versions are free. Keep the privacy oriented aspect and local to users machine.

Unless he is charging a substantial and/or recurring amount, there is no way he will put up with angry customers and enjoy maintaining the software in the long term.

Plus, if this is hosted, hosting is a variable cost that always goes up, so his prices for updates will always be increasing.

DoingIsLearning
1 replies
59m

Did you read OP's words?

I developed this app for my own needs. Getting tired of SaaS app subscriptions and privacy concerns.
jfdjkfdhjds
0 replies
55m

well, it won't concern HIS privacy :)

j-a-a-p
1 replies
1h35m

I always wondered what staring at the historic values of your portfolio will actually help to improve performance.

If you can define some sort of investment strategy, then the tool can make you follow it perhaps.

rufus_foreman
0 replies
1h6m

I have similar information in a spreadsheet (that I am also turning into an app), and what it can help with long term is to put downturns in the market in perspective and keep you from overreacting to them.

When you look at a log chart of your net worth over several decades, things like the dot-com bubble and the Great Recession look like blips. It makes it easier to look at a bear market and think, "this too shall pass".

Of course it also helps you see your progress towards a goal and give you information on how long it will likely take to get there.

theogravity
0 replies
1h27m

Great work on the app. As another comment stated, having to import CSVs and spending most of your time editing transactions is a huge barrier to adoption. I know most commercial solutions offer something like Plaid to interface and import with financial institutions, and I have no idea what you can do / use as an equiv for a local solution like this.

I personally pay for Rocket Money (they let you decide how much you want to pay per month with a min of around $4 / month) and as someone who came from Mint, it does an amazing job overall - I rarely have to do manual edits (other than assigning appropriate categories for certain transactions) and the one thing it lacks is Apple Card API import (have to do CSV, but once a month isn't bad).

admn2
7 replies
1h43m

is Plaid inherently bad? Is having an automated way of pulling in real time data worth the security risk of authing into all your bank accounts? Genuinely asking as this seems great in theory, but I'm a bit confused what it looks like to manually keep it updated.

aketchum
3 replies
1h23m

My company is an online lender - we use plaid so that users may instantly link their bank account. They have an alternative of verifying with micro-deposits, but that does take 2 days and the company gets less information on the user, so there are more manual verifications the user must do (provide paystub and id etc).

Plaid Cons:

- The end user must type their bank account credentials into a third party platform that uses their banks logo. It is terrible for general population cyber security because this is the exact type of you thing you should never do in general. However I do not know of any data leaks or info sec issues from Plaid specifically. As far as I know Plaid is totally safe with this information. Im sure they will be hacked eventually though - everyone is.

- Plaid shows the permission you are granting but the user can not make it more restrictive. For example the company with the plaid integration can choose from 1 to all off these functionalities (they all increase api cost though): KYC Verification, PII from the account, one time current balance, ongoing current balance check, all transactions for previous 2-24 months. The vendor chooses what they want to get and the end user can take it or leave it, they cant pick and choose.

Plaid Pros:

- instantly verify bank account instead of waiting 1-2 days for Micro Deposits to hit account then come back to the app to verify. This is just better flow for the user, who often wants the loan asap. It is better for company too, because there is more conversion.

- balance checks, transaction history - these are useful for us to not overdraw accounts when pulling a payment, and verify income. Budgeting apps use these to auto import values of course.

- many banks have been forced to move to OAuth because of plaid. Having worked at a Top 10 US bank, I do not believe that any other than maybe Capital One would have OAuth today if it were not for Plaid pushing them

- There is really no other feasible option to get this data (other than competitors with same exact strategy so no difference). This is the customer's data that is valuable to them! They should be able to share it with trusted partners if it gives them value.

xyst
1 replies
47m

The end user must type their bank account credentials into a third party platform

Huh? I have seen plaid redirect to my banks login and then authentication and subsequent authorization (read access to accounts) in other flow. Then plaid uses provided token to retrieve data.

I don’t recall having to pass login credentials to plaid. Maybe that’s a limitation of _your_ bank?

smsm42
0 replies
23m

Yes, for banks that have this workflow enabled. In know WF does something like that. But many banks don't, and for these there's not much alternative except getting username/password and scraping. Terrible security, but dragging the banks into 21th century will take a lot of time. Some providers are annoying enough to ban external aggregation completely, seemingly just out of spite. Normally I wouldn't even work with such bank but unfortunately sometimes (like HSA account from work) you don't have a choice.

jjice
0 replies
56m

I was pleasantly surprised to see a few of the large banks having added OAuth in my recent use of a product that uses Plaid. That said, my local bank is far from it and even a large bank like Discover doesn't offer OAuth yet. I've just decided that I have to enter that data manually for those accounts because I can't give out a password to my bank accounts - it's just absurd to me.

Here's to a continued migration to OAuth by banks, but I'm not holding my breath for it.

breadwinner
1 replies
1h20m

If you call Fidelity with a security issue the first question they ask you is, did you share your password with anyone (and if you did, you're to blame).

fsckboy
0 replies
59m

that's line of reasoning applies to all banks etc., though they might not ask it as first question

andrewmcwatters
0 replies
57m

Yes, but the fault lies with the banks who do not allow their own customers access to their data. Plaid, Intuit, and other private companies scrape financial institutions unless they provide more secure methods to obtain customer data, and most of them do not do this.

So the state of the art to connect to banks... is Selenium with stealth modifications.

I own a business which does the same work as Plaid, Intuit, et al.

ejp
5 replies
3h7m

Any recommendations for a privacy-focused app that can handle transaction splitting in ways other than 50/50? Or tracking accounts from multiple people in a household?

Every app I've tried this is painful or unsupported.

mNovak
0 replies
55m

I used to really like Splitwise for group expenses, but they at some point throttled the free accounts to 4 transactions/day, which is painful. Paying a monthly subscription isn't worthwhile if I only use it in bursts a couple times a year, so its back to spreadsheets.

aaronax
1 replies
3h2m

Any personal accounting software? Quicken, GNUCash, any Plain Text Accounting, etc.

I must be missing something in your requirements.

ejp
0 replies
2h21m

In my experience, gnucash qualified easily as painful. :)

Here's an example of what I'm talking about: suppose you and a housemate decide that an equitable split for the electric bill is 65/35 based on usage habits. One person pays the electric bill every month. All of these finance apps will download the transaction, categorize the electric bill for me, and maybe apply a custom tag. But I have to manually calculate the amount owed to me, and manually reconcile that with the fact that the other person pays the water bill.

I'd love to find an accounting app for shared arrangements, but it seems like most are targeted to solo or completely joint finances. Monarch listed elsewhere in these comments is the closest I've seen, but it also doesn't support reconciling split transactions.

diegoholiveira
0 replies
3h1m

GnuCash may be a good option

kyrofa
4 replies
4h27m

v1.0 before 100 commits, wow.

the__alchemist
1 replies
3h16m

It appears that it does not use 0ver: https://0ver.org/

kyrofa
0 replies
1h42m

Haha, you just made my day. How have I not seen this?! Thank you.

a-fadil
0 replies
2h18m

I developed, the app as a side project for my needs. Made the decision to move to another public repository to open sourced and not to keep the git history. App code is simple to read if you want to check security and privacy concerns.

Ringz
0 replies
4h10m

Only if you assume that it is their first repository and that they performed the first commit after the first line of code.

Ninjinka
4 replies
1h8m

I tried importing activity from a Charles Schwab account, and it did not work, since they capitalize their field titles. Then after fixing that I got "CSV deserialize error: record 1 (line: 2, byte: 81): field 4: cannot parse float from empty string" and gave up.

Not sure what accounts this is meant to work for.

xyst
2 replies
51m

I would just switch brokerages. Not just for the csv issue, but their platform has taken a shitter since acquiring TDA.

FractalHQ
1 replies
48m

Are there any you can recommend?

xyst
0 replies
44m

have had no issues with IBKR since switching last year. There was a recent “crash” (the Japanese stock sell off?) that caused a massive influx of retail trading and dark pool trading. At market open on Monday, SCHW account with 401K was not accessible. But IBKR was up and running.

Ninjinka
0 replies
48m

Dropped my CSV into ChatGPT with the following prompt and the output file worked:

``` Modify this csv to match this format: Follow these steps to import your account activities from a CSV file:

Ensure your CSV file is in the correct format. Columns should include Date, Symbol, Quantity, Activity Type, Unit Price, Currency, and Fee. Click the 'Import' button and select your CSV file. Review the imported activities before confirming. Supported Activity Types:

BUY SELL DIVIDEND INTEREST DEPOSIT WITHDRAWAL TRANSFER_IN TRANSFER_OUT CONVERSION_IN CONVERSION_OUT FEE TAX Example CSV format:

date,symbol,quantity,activityType,unitPrice,currency,fee 2024-01-01T15:02:36.329Z,MSFT,1,DIVIDEND,57.5,USD,0 2023-12-15T15:02:36.329Z,MSFT,30,BUY,368.6046511627907,USD,0 2023-08-11T14:55:30.863Z,$CASH-USD,600.03,DEPOSIT,1,USD,0 ```

Except it couldn't find the symbol `BRK/B`, `BRK.B` or `BRKB`.

Dalewyn
4 replies
4h22m

Speaking practically, I don't see a need or reason for this. I can just login to my bank and brokerage accounts and check live data on the spot.

Speaking as a Boglehead, checking on your investments frequently is usually a bad thing.

diggan
3 replies
4h20m

Speaking practically, I don't see a need or reason for this. I can just login to my bank and brokerage accounts and check live data on the spot.

First mentioned and most prominent feature is "Accounts Aggregation" on the landing page. If you don't have multiple accounts, it makes sense you don't see any need for this. But you should also realize that it's fairly common to have multiple accounts, for various of reasons.

mNovak
0 replies
41m

My main brokerage (Schwab, and I assume most others) have account aggregation built in, so that's become my de facto 'wealth manager' dashboard.

Now, those external accounts are second-class citizens and don't get portfolio analysis and stuff like that, so there is room for improvement, but the ease of use and cost (free) is hard to beat.

downut
0 replies
2h10m

I have multiple accounts and I use the friction of logging in manually to each as an incentive not to check them. About every 6 months or more I get a beer, login to each, and check for surprises. Ever since decades ago I gave up my personal autonomy (I will not pick stocks, GE, really?) and channeled my inner boglehead there has not been any surprises.

Dalewyn
0 replies
4h14m

I haven't used it myself (yet?), but both my bank and my brokerage purport to let me link external accounts for easier aggregated viewing.

Circlecrypto2
4 replies
4h28m

Man... The loss of Mint has really left a gap in this market.

mindwork
1 replies
3h54m

Once Mint.com has closed I started to dig for alternatives and found Monarch Money. Couldn't be happier to pay for the service. New features come out pretty often, and I believe they work on the better support for tracking investments.

impostervt
0 replies
3h26m

Seconded. I used Personal Capital for a while but the links to my accounts broke frequently. Moved to Monarch and paid for it and its way less of a hassle.

the__alchemist
0 replies
3h17m

Not really: Ever since Mint's shut down, there have been replacements pouring out of the woodwork. It's a low-hanging-fruit (Due to aggregators like Plaid), saturated marked. Note that the OP's program is a bit different in that it's local, and seems to focus on individual investments vice online account aggregation.

r3trohack3r
0 replies
4h7m

I have been using Empower (previously Personal Capital) for almost 10 years now and have been happy enough

yellowapple
2 replies
23m

It looks nice, but unfortunately Fidelity's CSV exports don't seem to be particularly cooperative AFAICT, which limits how much I'd be able to use this. Haven't tried my other accounts yet.

It'd be nice if there was an actual standard for this sort of thing (incl. an API for automatically retrieving new transactions), and if banks and brokerages and such could be depended upon to actually use it.

TuringNYC
0 replies
1m

> Fidelity's CSV exports don't seem to be particularly cooperative AFAICT

Not to mention, Fidelity's site seems broken over half the typical days, especially with products like Basket Trades. Baskets broken. No cost basis. No quotes...not even during market hours. Insane.

snide
2 replies
3h2m

Really happy with Projection Lab in this space. Although it's not open source, it is self-hostable if you pay for their lifetime access. The developer continues to update it, and has pretty much all the features I want for managing retirement projections.

vectoral
0 replies
1h44m

ProjectionLab is great, it's been fun to watch it grow over the last few years!

scubakid
0 replies
1h33m

Oh hey, thanks! Working hard to make PL a little better every day :)

herodotus
2 replies
4h11m

Looks interesting. I have tried it out. Cannot see how to do this step:

Import your statements from your broker or bank.
AndroTux
1 replies
3h47m

Activity > Upload-Icon (top right) > Drop CSV

herodotus
0 replies
3h35m

Thanks!

Oras
2 replies
4h47m

Looking good, I've worked in a startup doing this using an app (with more things).

Adding accounts manually is painful. We used to do it with Open Banking, but since this is open-source, I appreciate that it cannot be done with Open Banking. However, an option to upload a statement (CSV) will simplify the process.

The same goes for adding securities. I believe you can get an eToro statement that shows you everything, and then you can parse it to populate the information.

Good luck!

AndroTux
1 replies
3h47m

Activity > Upload-Icon (top right) > Drop CSV

Oras
0 replies
3h37m

Thanks! I didn't see it. The add activity button is prominent!

tsycho
1 replies
5h2m

Does it support options, or only stocks?

How do you get current market prices for investments?

jimmyswimmy
0 replies
4h43m

Looks like it uses yahoo_finance_api in rust. In theory that supports options, but no idea whether this tool handles that data properly, I didn't feel like searching that hard.

It's gonna take a lot to pry me away from my spreadsheets. They are simple and just work. Ages and ages ago I used MS Money but once they shut down I never migrated to the 'sunset edition,' just switched to excel. I keep trying things, but without local, automatic sync to my accounts, nothing is as simple and effective as a simple spreadsheet, for me.

tinyhouse
1 replies
4h41m

This looks like a great idea. Are there similar OS alternative apps for YNAB / RocketMoney type functionality?

freddie_mercury
0 replies
4h24m

Actual Budget is basically an open source clone of YNAB. The UI isn't quite as polished IMHO.

skim
1 replies
1h50m

This looks great. Is there more information on the external connections the app makes? So far I see:

wealthfolio.app yahoo.com

I'm assuming latter is to fetch ticker symbols, but ideally would like to use this app completely local.

a-fadil
0 replies
44m

wealthfolio.app to check for new app versions. yahoo.com to fetch ticker symbols and quotes

scosman
1 replies
4h21m

RRSP and CAD on the homepage . So few financial apps work for Canadians.

ape4
0 replies
2h36m

Its common for Canadians to have USD and CAD investments so that means the app will have to handle multiple currencies which is a useful feature for any investment app.

gniting
1 replies
2h27m

Looks great, nice job!

Crypto asset tracking on the roadmap?

a-fadil
0 replies
2h25m

Supports Crypto Assets as well.

dmackerman
1 replies
41m

The tickers from my 401k at Vangaurd aren't supported. VFIAX, VTIAX. Oh well.

a-fadil
0 replies
29m

Works for me. If the tickers is in Yahoo Finance, it should be supported.

alex_suzuki
1 replies
3h51m

While you’re at it, have a look at Ghostfolio too: https://ghostfol.io/en/start Open Source and self-hostable.

hammock
0 replies
2h56m

How does this compare to Simplifi, Empower, etc?

yesimahuman
0 replies
3h45m

Looks very cool. I started working on my own version of this to self host in my LAN. First issue I ran into was the lack of understanding certain CSV formats. For example, Vanguard is so common that I support their export format exactly. Might be worth thinking about focusing on a few common brokerages (vanguard, fidelity, schwab) and making the experience for those really good. Otherwise it's all too manual and most people won't bother going through the hassle of it all.

user_agent
0 replies
3h24m

I've put 15 minutes of my work into configuring the app. Even on that surface level I can conclude that the application is full of bugs that impact accounts and savings. It looks good, but it's unusable for any serius purpose. Have a nice day.

tomlue
0 replies
3h44m

just want to mention that it's like a few hours to set up some google sheets scripts to set up 90% of this yourself.

thinkloop
0 replies
24m

How do things remain private if the prices of assets, like stocks, have to be updated?

steviedotboston
0 replies
4h53m

Looks nice. One reason why I use a spreadsheet for stuff like this is I can share it with my wife through Google Sheets, so we can periodically update with our separate accounts.

smsm42
0 replies
30m

On one hand, this looks like awesome work. On the other hand, personally for me I am not sure how it could ever work for me. Right now, I have 20+ money/investment accounts from ~10 different providers and I am tracking it through a provider that uses Yodelee (and maybe other methods too?). Importing all the statements (which every provider stores in different ways in different places) manually would be a pretty big chore. But keeping it up-to-date - without which the whole exercise is kinda useless - is completely infeasible. That even not getting into the question of every provider exporting data in a different format...

palk
0 replies
3h17m

UI looks way more polished than the competition — without having fully set it up, the app sounds very promising as an alternative to SaaS tools. Any plans to monetise?

oulipo
0 replies
3h58m

quite nice! It would be great to have a bit more infos about how to get setup, how to input existing values from accounts, etc

I think I got it right after doing a "deposit" of the exact value of my account, then try to work out what was the correct "buy" price for each stock without the P/L, it roughly works but the numbers don't exactly match those that I have in my account, perhaps because you're not using the same data source as my account

lucasfdacunha
0 replies
4h24m

This looks nice.

Does this work for the international market, like Brazil for example? Does it track fixed-income types of investments like government bonds, etc?

lbrito
0 replies
55m

Looks exactly like Wealthsimple; did you use the same graph framework or something?

jeffchien
0 replies
1h1m

I wish this and Ghostfolio supported stock splits.

insane_dreamer
0 replies
2h9m

It's a beautiful design, and I like the idea of OSS and self-hosted instead of a SaaS, but since it doesn't support direct connections to banks/brokerages (i.e., through Plaid), then it's not really an option for me. I'm not going to go through the trouble of downloading/importing CSVs etc. (too many different accounts). (I currently use Wealthfront for net worth aggregation and Copilot for tracking spending.)

figmert
0 replies
4h13m

Note that this is a desktop app developed via Tauri.

It would be great to turn this into a hosted service that I can deploy onto a homelab and access everywhere?

dewey
0 replies
4h36m

It feels like one of these things where a commercial version has a lot of benefits as most of the interesting APIs in this field are paid, or for banks require a B2B agreement for automatic imports.

conradev
0 replies
7m

How does it store data?

If it was “file format first” and used something like Beancount or Ledger, I’d absolutely use this. Partly because I already have data in Beancount format.

LifeUtilityApps
0 replies
2h52m

This looks really nice, and I love that it's open source and all the data is saved locally. I will give it a try this weekend!

HackBlade
0 replies
1h14m

Love the design! If this had automatic importing I would probably drop Copilot for this.

GoRudy
0 replies
3h22m

Looks like it only takes CSVs, how would we upload documents from brokerage accounts?

Glyptodon
0 replies
1h11m

Besides the ability to easily connect with arbitrary bank and brokerage accounts to maintain data, another thing somewhat lacking in this (general) area is a relatively comprehensive open source market data dataset. You can somewhat pull for individual stocks, but if you want to do analysis or back test a strategy against real data, comprehensive data on even just the S&P 500 is lacking.

Batman1337
0 replies
31m

Can you add Linqto support?