Brian Lovin
/
Hacker News

Show HN: Paisa – Open-Source Personal Finance Manager

paisa.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.

Daily Digest email

Get the top HN stories in your inbox every day.

robcohen

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

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

undefined

[deleted]

robcohen

Wow, very cool thank you for sharing!

itissid

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

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.

marwis

They used plaid as a fallback for some banks

ydant

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

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

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

[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.

rendaw

How much would it generally cost for a user? I couldn't figure it out from the pricing page.

robcohen

This is the precise option I was thinking might be possible. Is it even reasonable for an individual developer to use their own API keys for something like this? I assume because you suggested it, it is. Any limitations that are impractical for personal use?

jpeeler

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.

phoenixy1

[I work at Plaid] I don't know if we explicitly write down in the docs that the free Development tier isn't guaranteed to have the same SLA as the production environment, but if you're not paying Plaid there is no SLA (I mean, the usual recourse for an SLA breach is a rebate, but you can't give a rebate to someone who isn't paying you in the first place). That said, in practice the differences between the free and paid tiers for a personal finance app are not really such that someone doing a hobbyist app for personal use would notice them.

salmaanp

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

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

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.

ghosty141

The problem I faced when I looked at data export was that none of the banks had any apis. You always had to go through 3rd party commercial apis. Maybe there are ways bur I didnt find them

dylmye

you should check out Actual budget as well - works perfectly for me in the same situation.

undefined

[deleted]

hackernewds

What is PSD2 and why is it important? Is it the basis for something like UPI in India?

kkfx

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

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

Reason are not obvious to me. Could you elaborate?

scubakid

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

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

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

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

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

I remember that! I really liked it. What happened to it? And what are you upto these days?

Brajeshwar

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.

19f191ty

Interesting journey for all of you then. Why did Moneycontrol sue? I wish they had the foresight of buying the tech from you guys instead? The interface really was ahead of its time then. They could have used that.

Cool! What are you doing with climate?

FlyingSnake

Please write the paisa.com story from your PoV. It was such a breath of fresh air and I loved the site. I was really sad to see it shutdown.

shauryamanu

I remember seeing it promoted on Gpay, if I remember correctly.

Brajeshwar

Really? For the initial Paisa.com, I doubt that. We predated GPay by years.

jaipilot747

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

> 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

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

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

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

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

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

Reckon works well enough for me.

https://github.com/cantino/reckon

astral303

Categorization seems like low-hanging fruit given the age of AI we are in today.

BeetleB

> Categorization seems like low-hanging fruit given the age of AI we are in today.

AI can assist, but that's it. When I go to a Kroger's store, I may buy food. Or I buy supplies. Or medicine. Or gifts. Or something else. And almost always a combination of these. We are already at 5 categories, without mentioning others. All my CC will report is a transaction at Kroger's. How is an AI supposed to guess how much I spent on each?

ska

You think so? They have such inconsistent reporting, and the data is the exactly hard kind to aggregate massive sets of.

freddie_mercury

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

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

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

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)

rmuratov

I did nothing. It just works out of the box for me.

But. I keep my journal files in a folder and open it using the VS Code project file.

File's name is ledger.code-workspace

{ "folders": [{ "path": "/path/to/journal/directory" }] }

rmuratov

> only works on previously seen words

Yes, that's just it. I do not use anything like a language server.

bdcravens

You can sign up for a developer account and have up to 100 accounts that you access.

OJFord

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

It does have PDF import support, I am using pdf.js to extract data and it works decently from what I have tested.

pasc1878

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

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

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

Cannot used legally.

maccard

Third party cookies aren't illegal in Europe.

ananthakumaran

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

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

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...

danielvaughn

Tools where you control the underlying data in plain text are severely underrated. I love this.

Gualdrapo

Today I learned "paisa" is a subunit of the Indian rupee - here we call "paisa" to all things related to a specific region of Colombia (https://en.wikipedia.org/wiki/Paisa_(region))

qingcharles

I think paisa literally translates as "country man." In jail every older Latino is automatically a "paisa" and it is seen by many as a derogatory term.

codegeek

The word "Paisa" is also used generally for "money" depending on the context. But specifically, 100 Paisas = 1 INR (Rupee).

cultofmetatron

its also a term used to refer to women with a certain "look" from medellin. my ex was an example. "paisa as an areppa" is a pretty common term there.

theviajerock

What? Yeah, that's a say, but "Paisas" are all the people from Antioquia (Medellin is the capital), Quindio and Risaralda. All of us are Paisas. That say could be referenced to any person from there, because of the look or way to talk or just because we were born there.

sdfghswe

Tell us, what does it mean? "as an areppa" suggests flat and round...?

criloz2

It's the same as saying "American as a burger", arepa is just a traditional food in Colombia, a bread made of corn

cultofmetatron

to be honest, I don't actually know but I've heard it from multiple people when I was in Medellin in reference to girls. none of them were "flat and round." I think it just refers to them being from the same area. "american as apple pie"

MenhirMike

Has anyone compared this to YNAB4? (Not the cloud-only subscription-only YNAB, but the good one that was killed off in 2019)

It's by far the best household bookkeeping tool I've ever used, but it won't ever get updates again (running it in a VM just so I can make sure I will always be able to run it), and it would be nice to have something that can track stocks and maybe even foreign currency - but for now, I would be happy with something that can just replace YNAB4.

The lack of Quicken OFX Import is a bummer :( But if the CSV import is good, it would still work. (As much of a pain as OFX is to implement for developers, especially since there's at least two major versions, it is pretty widely supported by US banks to download my transaction history)

Will probably give it a spin on the weekend, since the demo actually looks promising!

Dennip

https://actualbudget.org/ Actual has OFX support! Really great tool

olex

Damn, how did I miss this? Looks like a really nice "self-hosted nYNAB". Only downside is that the native apps are unmaintained since the project went open-source, and the web UI isn't responsive (yet) - but looks like there are decent efforts to make the web UI into a usable PWA, if those succeed this may be my move away from nYNAB.

Dennip

We've been working on getting the electron app up and running, you can download beta builds of it already, and I think it's mostly there.

Yep - There is on-going work to get good mobile support on the web app too!

MenhirMike

Oh wow, this does look REALLY good, at least the demo does! Going to give it a spin.

nirvdrum

I've been pretty happy with financier.io as a replacement. I pay the $12 a year for hosting, but I think you can get by running a CouchDB server somewhere. The author basically stopped working on it so its future may be in question, but he open-sourced the code. It's just an Angular application.

I may have been using YNAB wrong, but I had allowed budget categories to go negative and gradually fill them back in. Financier imported all of that data with 100% fidelity. YNAB5 couldn't do that and it's one of the key reasons I didn't upgrade. I wasn't keen on losing my historical budgeting data and starting all over (YNAB's official recommendation).

JTyQZSnP3cQGa8B

I use YNAB 4 every day on macOS thanks to patches available online for the Adobe Air framework (from 32 to 64 bits). What OS are you using?

MenhirMike

I use Windows, though I did download the 64-Bit macOS patch just in case I ever need it. Mostly just playing it safe in case there are future incompatibilities because they'll have to pry YNAB4 from my cold, dead hands - unless I find an actual alternative :D

cec

Is a MacOS build of YNAB 4 still available?

ananthakumaran

OFX is unheard of in my country. I would look into it if someone could open a issue and attach a few sample OFX files.

MenhirMike

Yeah, it's an American thing mostly, I think (it originates from Quicken). I know that Germany used to have another standard, HBCI (which is now FinTS?) and I'm not sure what other countries do.

OFX is a huge PITA to implement, I've tried it and realized I would want to get paid to put up with it :) I'll try the CSV import, if it works then there's no need to overcomplicate stuff.

The Demo looks really good by the way, and props for actually having one!

bakul

Perhaps you can just use https://github.com/aclindsa/ofxgo - it seems to be a pretty good Go package (just eyeballing it, haven't use it).

ska

Have you tried gnucash? It does currencies, stock, properly (even journaling), etc., OFX import.

asdajksah2123

Here's something that always trips me up when I look into non professional software for double entry accounting (or more accurately, instructions around them).

It's been a long time, so I may be getting it wrong, but I do have some introductory information of accounting. And according to that, in a transaction such as salary received, the accounting would look something like:

Income: Salary - Credit

Assets: Checking - Debit.

The Golden rule/s that apply here (Debit the receiver, credit the giver)

However, looking at the tutorial, the example given is:

2022/01/01 Salary

Income:Salary:Acme (Debit Account)

Assets:Checking (Credit Account)

This is the opposite of what I expect, however, I see this all the time when looking at tutorials/information written by SW devs.

What am I missing or is everyone else just getting it wrong?

PopAlongKid

"Debits and credits are nothing more than “increases” and “decreases” to accounts." Don't try to apply logic; it is just a convention: debits to the left, credits to the right.

In particular, the first example above is correct. An asset account is increased by debits; a credit increases a revenue account.

Salary received:

Income: Salary - Credit

Assets: Checking - Debit.

gunnaraasen

Most tutorials for financial services are written for bank account users.

People refer to their bank account colloquially as a "debit account" and "credit account" because those are the types of accounts offered to them by a bank. From the bank's perspective, a consumer debit account is (correctly) considered a "debit" since any money deposited into the account by the account owner is an asset for the bank.

eviks

No, it's the opposite, $ in customer's account is a liability for the bank to those customers, so the account is credited on +

The banks cash account is debited for balance

hliyan

Actually shouldn't any money deposited into the bank be a liability for the bank?

elbasti

The gnuCash documentation has it as you describe: debits checking and credits salary.

https://stuff.mit.edu/afs/sipb/project/gnucash/1.6.4/arch/i3...

thuruv

Thats correct with DE accounting. However I always assumed, the logic followed here is that the money has been "debited from" the INCOME account and "CREDITED to" Assets/Checkings.

asadjb

My somewhat limited understanding of this is that from your perspective, an increase in your asset/cash account would be a debit.

A big confusion for me initially was that my banks always talked about crediting my account whenever money was deposited/added to my account.

I finally understood it when I realized that from the banks perspective, an increase in my account is an increase in their liability towards me; they now owe me more money. Which is why they call it crediting my account.

So now I think of it like this: an increase in an asset is always a debit, an increase in liability is always a credit.

john2x

Debit from employer's account, credited to your bank.

Daily Digest email

Get the top HN stories in your inbox every day.

Show HN: Paisa – Open-Source Personal Finance Manager - Hacker News