Readit News logoReadit News
Posted by u/ananthakumaran 2 years ago
Show HN: Paisa – Open-Source Personal Finance Managerpaisa.fyi/...
I have been using plaintext accounting for some time and had a duct-taped together reporting system. Paisa is my latest attempt at making it usable for others.

I am interested in knowing what people normally want to understand about their finances

PS: Please avoid editing the demo data. Download and run locally if you want to edit.

robcohen · 2 years ago
This looks awesome. I love that it's built on ledger. I have been wanting to move away from Simplifi Money for some time for obvious reasons (owned by Intuit). It seems that the real moat is pulling the data in a consistent and correct way. Yes, you COULD try to find every single export option for every bank, but I think Plaid is really the only service that pulls this data somewhat correctly, due to the U.S. not having a PSD2 equivalent in our laws.

So the question is, would it make sense to have a Plaid plugin for this? Obviously because they are a 3rd party, it negates some of the benefits, but I simply cannot use this system manually because I have so many accounts. Maybe one workaround is to pull from Tiller (which uses plaid), then export a csv/excel.

Any chance there's a good plan in place to get automated data imports working, even if we need a 3rd party to do it?

avirut · 2 years ago
One option I'd recommend for anyone working towards this is to use the SimpleFIN Bridge [0], which is basically an API wrapper around MX (a Plaid competitor) designed for personal use by the same people that make Budgeting with Buckets. Data security is definitely an issue, but I value having my transactions automatically imported more than I'm concerned about the risk of SimpleFIN being breached.

I've personally used SimpleFIN to provide automatic imports in my own personal, kind-of selfhostable personal finance tool [1].

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

[1] https://github.com/avirut/bursar

Deleted Comment

robcohen · 2 years ago
Wow, very cool thank you for sharing!
itissid · 2 years ago
Mint already uses Plaid, but I the transaction information it gets is too low in information to categorize anything reasonably. For example my Amazon Grocery transaction happen on my amazon Chase Credit card(gives me 5% discount).

But connecting to Chase.com using plaid pulls in transaction statement is still information poor. The obvious consequence of this is that budget information is not correctly reflected in Mint(that info is actually in my Amazon.com silo). The only way to fix this rn is sadly manually.

As a tangent, I do feel though that LLM agents that can one day act on individuals behalf, reading info and making this manual job far more easier in absence of any govt regulations.

avarun · 2 years ago
Mint does not use Plaid. Intuit has their own service for integrating with bank APIs and/or screen-scraping that they use across all their products.
ydant · 2 years ago
Fighting with Mint and categorizing Amazon purchases was what initially pushed me down the path into plain text accounting (PTA).

I ended up long down the rabbit hole with auto-downloading Amazon orders (originally with https://github.com/jbms/finance-dl, but then my own custom scraping) and importing and matching them up with credit card transactions using beancount-import (https://github.com/jbms/beancount-import).

This ultimately resulted in me spending a lot less on Amazon - to the point that now doing it manually wouldn't be too bad...

parkerhiggins · 2 years ago
Copilot Money achieve Amazon SKU description automatically by AuthN into your Amazon account and transaction matching.

They do this lack of info lift and then recommend category splits.

ananthakumaran · 2 years ago
I can try to improve import functionality, but Plaid etc is quite hard. I can't even figure out their pricing model from their page. So, as a free app I don't think it can support Plaid.
phoenixy1 · 2 years ago
[I work at Plaid] The pricing model is here: https://plaid.com/docs/account/billing/ but @jpeeler is right that for a free app like this aimed at an audience of engineers you could also set it up for your users to BYO Plaid API keys.
jpeeler · 2 years ago
You just need to have each person create their own Plaid account (which is probably the way you want it anyway). The free tier supports 100 institutions.

Last time I looked at this, I thought it was stated that the free/sandbox tier is not guaranteed to have the same SLA as the production environment. But I can't find this in the documentation anywhere.

salmaanp · 2 years ago
I would use this if there was an easy way to integrate it with plaid. (login once and keep data synced). This would be comparable to personal capital at that level.
malermeister · 2 years ago
I know this is only vaguely related, but as a European that's been looking for an open source budgeting solution, how does PSD2 help?
robcohen · 2 years ago
My understanding of PSD2 is that it requires banking transactions to be "machine-readable" whatever that means. So there's an actual legal requirement for making data accessible outside of the browser.
dylmye · 2 years ago
you should check out Actual budget as well - works perfectly for me in the same situation.
hackernewds · 2 years ago
What is PSD2 and why is it important? Is it the basis for something like UPI in India?
kkfx · 2 years ago
It basically means OpenBank API mandatory just to financial companies, not to consumer, potentially any enterprise can ask to have OpenBank API access if it meet certain criteria and then it can get and commit any transaction from all EU banks. So potentially offer to their customers full API access to their EU banks, for anything, disposing transactions as well locally instead of via some crappy website. This also means having legally valid local transactions (XML/XADES or JSON/JADES signed by the bank).
sailorganymede · 2 years ago
Payment Services Directive 2 and it’s basically legal stuff we gotta comply with to do payments. Can’t speak for India but it’s v much something in the UK
dingdong33 · 2 years ago
Reason are not obvious to me. Could you elaborate?
scubakid · 2 years ago
It's interesting how many tools can analyze where your money has been going, but few go deep on the planning + forecasting side.

Have you thought about building out the "retirement" module more? If you need any inspiration, I've been working on a personal finance simulator [1] for the past two and a half years as a side project.

Really great job with the docs on this, and I love that you include a demo environment!

I imagine that eventually we'll see an app that pulls budgeting, tracking, and planning all together in a fully seamless way. Whoever manages that will probably be a force to be reckoned with.

[1]: https://projectionlab.com

ananthakumaran · 2 years ago
I have seen projectionlab before and agree with you. There are few tools on the forecast side. Most of them stop at budgeting. I do have plans to make retirement page generic (aka Goals/Target), but I am yet to figure out the details.

In an ideal world, double entry accounting would be your database and there would be lot of tools that use that and focuses on a specific niche. But we are far from that and everyone wants to create their own data island.

sanat · 2 years ago
This is a nice interface that you could emulate for some of the goals/target level details. I quite like the simplistic UI.

It's a lead magnet for an Indian PMS service.

https://plan.capitalmindwealth.com/

jldugger · 2 years ago
Realistically, the data you need for retirement planning doesn't intersect much with double entry personal finance data. How much you spend on subway last week has nothing do to with your risk of financial ruin at age 90.

All you really need from that dataset is your current portfolio. Everything else you need is specific to investing -- variance of investment, portfolio mix, covariance of returns, age of retirement, life expectancy, etc. From that standpoint, it's practically an entirely new product.

There's also something to be said about the 4 percent rule, and whether additional forecasting work actually improves outcomes. Heuristics seem do to a decent job.

Brajeshwar · 2 years ago
Nostalgia. I led a small team in 2009 and built Paisa.com - a financial/investment Startup. I still have the initial mockup designs I did in a hotel room in Delhi/Gurgaon to pitch to NDTV.
19f191ty · 2 years ago
I remember that! I really liked it. What happened to it? And what are you upto these days?
Brajeshwar · 2 years ago
It is a long story, but here is the short from my perspective. I left after a year and made the mistake of spending two years building an audio-video dating app. Poor men’s FaceTime-ish tech, but the business failed. However, I sold/transferred the tech to an investor.

When we released its beta, early users were happy with the new-age design and one of the best user experiences in a web app for India. Later, I heard MoneyControl sued Paisa.com (I’d consider that a success).

The Paisa team went on to become Helpshift.com. One of the founders became an investor, and another is now the co-founder of teamohana.com. Another key member started his own Startup, later acquired by GoJek.

And a lot of stories in between. It all started in 2007-2008 when I started in a spare attic in my erstwhile boss’s office and assembled a small but brilliant team. I retained that Startup’s domain for a long time and sold it this year. I need to write about all of this one day. A few publications have written strange stories about it, and I’ve not been interested enough.

Now, I’m doing things with Satellite and stuff for Climate and the like.

shauryamanu · 2 years ago
I remember seeing it promoted on Gpay, if I remember correctly.
Brajeshwar · 2 years ago
Really? For the initial Paisa.com, I doubt that. We predated GPay by years.
jaipilot747 · 2 years ago
This is incredible!

Great job building this and also writing the documentation that explains concepts as well as how they are implemented.

I can't believe how many comments here are dismissive. If you are happy using a paid solution to manage your finances and don't want to get into the weeds yourself, you are probably not the target audience for this.

One suggestion would be to make the country-specific pieces like tax calculations module so others can contribute their own.

ananthakumaran · 2 years ago
> One suggestion would be to make the country-specific pieces like tax calculations module so others can contribute their own.

This is something I have been thinking about, I need to figure out the base abstraction. Even the current implementation (which is basically written for my personal use cases) has too many conditions/grandfathering etc, I suspect it might not be accurate.

redact207 · 2 years ago
I've been looking for a personal finance app for a long time. I don't want a Saas that charges me monthly and can shutdown at anytime. Most other homebrewed apps are incomplete or abandoned. Of all things I ended up paying for an Excel sheet to track it all - https://cspersonalfinance.io/

This tracks all my cashflows, investments, net worth etc, and since it's in excel there's no risk of it disappearing after 10 years

ibdf · 2 years ago
How are people automating the data import? I can't imagine someone entering everything by hand. Lots of places don't even provide an export file you can work with... most of them offer a PDF.

It seems like most financial places rely on Plaid for the data integration, but that's a paid service I don't think Open-Source or free personal finance apps would use.

bogwog · 2 years ago
Some years ago I built a custom tool similar to this which downloaded financial data from my Chase bank account and converted it to beancount (another text-based accounting tool).

Chase charged like $10/mo or something like that for using OFX to download your bank statements (which is pretty ridiculous considering what it is). Eventually I abandoned it because none of the other bank accounts I needed to track offered OFX or anything similar that I could find, and just gave up.

eredengrin · 2 years ago
As far as standard checking/savings/credit card accounts go, I haven't had one that didn't have a csv export option yet. Some of them are very buried and much harder to find and use than I wish, but they are there at least with the banks I use.
BeetleB · 2 years ago
Most banks/CC have some sort of export - be it in CSV, OFX, Quicken, etc. Then you import it using your financial story.

The real pain is in the categorization (was this Groceries, Supplies, Dining, Medical Expense)?

I use KMyMoney which usually picks the same category as the last transaction from the same place. Saves some of the work, but it's still painful. I then wrote a script to export from KMyMoney to ledger format.

alchemist1e9 · 2 years ago
Reckon works well enough for me.

https://github.com/cantino/reckon

astral303 · 2 years ago
Categorization seems like low-hanging fruit given the age of AI we are in today.
freddie_mercury · 2 years ago
I enter everything manually. I live in SE Asia where there's no other option, really. For some of my banks there's not even a CSV/Excel download option, just a PDF "balance statement".

I (mostly) don't find it too onerous. But it is very much Inbox Zero. If you keep on top of it then it isn't much additional effort. While I'm waiting for the cashier to make change or print a receipt or while I'm walking out of the shop I can enter the transaction. But if I let a few days of them build up it becomes a more annoying 5-10 minute effort.

Also you need to do manual entry for anything you pay with cash anyway.

But the manual approach starts to fail in a family unless all involved are on-board with the data entry. (Which is almost never the case in my experience.) In practice that means all of my wife's expenses are a bit of a black hole.

passion__desire · 2 years ago
If the PDFs have data in table format, you can use image to table generator of nanonets or Google or Microsoft Excel app to convert it into csv and enter data.
rmuratov · 2 years ago
I use hledger and I enter everything by hand.

I used to dread it too. But actually, in normal life, the volume of daily transactions is not that large. Besides, filling out a journal disciplines you. And VS Code does autocomplete for accounts and payees.

kilolympus · 2 years ago
Can I ask how you get the autocomplete in VS Code? I've never managed to find an extension that does this, and by default the autocomplete only works on previously seen words (so it gets split by the colons in account names)
bdcravens · 2 years ago
You can sign up for a developer account and have up to 100 accounts that you access.
OJFord · 2 years ago
This is really weird for me, a few years ago I was trying to build exactly this - as in same ledger-based, local-first/only etc. decisions - only difference really was that I never got as far as visualisations, and faffed about with PDF->ledger instead until I lost motivation for the project.

Very nice to see! I look forward to trying this out properly soon. I recommend not bothering with PDFs, OCR errors however occasional ruin it - it's worse if they're rare in a way, since you come to trust it. If you really do want it, extract the actual text layer instead. There won't always be one, tables will be a mess, and sometimes there'll be a lot of nonsense - but at least the correct content that is there will be £74.97 or whatever, not misread as £24.87.

ananthakumaran · 2 years ago
It does have PDF import support, I am using pdf.js to extract data and it works decently from what I have tested.
pasc1878 · 2 years ago
Unfortunately I can't see your web site as it does not work without sending cookies to Google. Please implement the site with only needed cookies.

NB this means that your site cannot be used in Europe,

bbor · 2 years ago
If you have time, could you clarify how you can tell that? I just opened it in Europe and the blurb seems to pass “these cookies are for internal self-improvement of the product only” (see below). Is your problem that google is managing the analytics so could be spying, or that the stated use isn’t essential? I guess my assumption was that “non-essential” meant “built for the purposes of 3P advertising”

  We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.

pasc1878 · 2 years ago
Non non essential means to make the web site work for the user.

Getting information about home many hits the web site has or how it performs are not essential uses of cookies.

preferences are not essential as you can just use the default.

i usually accept cookies for Preferenceis but not for measurement and not for any sort of advertising.

hydroid7 · 2 years ago
Cannot used legally.
ananthakumaran · 2 years ago
You can opt out by clicking Manage settings and then uncheck the green tick. I just realized I can enable reject button as well[1], should be available soon.

1: https://squidfunk.github.io/mkdocs-material/setup/ensuring-d...

pasc1878 · 2 years ago
Thanks for adding the reject button.

The way of deselecting is very unusual way to do that. The icons just do not suggest that you can unselect them.

I and others as shown by the upvotes did not realise that.

You should split them by functionality. Having to choose by source first is odd - I have seen sites with 10s of providers - I just never use them)

kelnos · 2 years ago
Wow, this is fantastic! I've been using GNUCash for some simpler tasks, like tracking income and expenses for a rental property, not for all of my personal finance. But GNUCash is... kinda clunky, and I'm not sure of the best way to share the data, as my partner would appreciate having access to it too.

I love that this has a web interface, but still seems to have a fairly simple data model based on `ledger` and plain text files.

I see some other posts about data import from banks, and that's always been the thing keeping me from doing this for all of my personal finance. I just don't think I'd be able to keep up if I had to manually log into bank, brokerage, and credit card accounts, download my data for each one (assuming they even allow a CSV-style download), and import into GNUCash (or whatever).

I'm curious about the Plaid option (and really cool a Plaid employee is posting here), but I've always been wary of them. It looks like they have some sort of OAuth-like process for one of my financial institutions, but the others are all "give Plaid your credentials and we promise to keep them safe". Not really comfortable with that. Everyone gets hacked eventually. Regardless, I'm not too keen on giving Plaid literally all of my financial data; just doesn't seem like a great idea.

But it seems like there's really no alternative, at least in the US. I wish the government would mandate that all of these institutions implement a standardized API, and that they give regular people (not just big companies) access to their own data through it. Sigh...