
Simple Personal Finance Tracking with GnuCash - igpay
https://www.csun.io/2020/05/17/gnucash-finance.html
======
lifeisstillgood
Aaaaaaaaarrrrrrrgggggggghhhhh!

I just want a bank account and to have that bank record my spending and let me
download it, securely, and automatically.

I mean the European Union has taken years to force, yes force banks to do
this, and it is basically still broken.

I don't want to spend this much effort on something so obviously solvable. It
just offends me. Yes that is the right word.

And, finally, none of this matters if I have trouble with the real problem -
sticking to a budget. Solving that one is what I want personal finance apps to
help me with. Keeping track of my finances should be a solved problem, locked
in a box and forgotten about.

~~~
anitil
I know you're not asking directly for advice, but if you'd be interested, I
find the following is the easiest way of keeping a budget.

0\. Forget about tracking things down to the dollar, or even the tens of
dollars. That level of precision is unnecessary. If a coffee here or there is
going to break your budget, it's already broken and you need to go in to panic
mode.

1\. Have a spreadsheet with vague monthly costs like 'transport', 'food' and
the like. Combine that with your monthly income, and you'll know what your
approximate monthly savings should be

2\. Every month, manually record your savings.

3\. Over time, compare your actual savings with your expected savings

4\. If there's a discrepancy of a meaningful amount (however, remember step 0)
then you might need to bury in to the details a little bit more.

Given that sort-of system, you have enough manual touchpoints that the budget
is in your mind when you're making discretionary purchases, but not so much
that it's stressing you out.

I've made a sheet that does basically the above with example budgeting for
what I'm familiar with in Sydney -
[https://docs.google.com/spreadsheets/d/1KW3i-m8BtJ2O9lKurhJr...](https://docs.google.com/spreadsheets/d/1KW3i-m8BtJ2O9lKurhJrynaN50w8v0wzgySByMzlU-A/edit?usp=sharing)

~~~
6510
Nice!

I just stop spending money unless I absolutely have to. A cup of coffee and a
bit of candy at the gas station every other day (2+4 euro) * (365/2) * 10
years. Thats _ELEVEN THOUSAND_ euro I could probably be doing something more
interesting with. At 7 euro/kg and 30 gr/liter 11k is 52380 liters of coffee
or 314285 cups or 86 cups/day for 10 years. 2/3 was candy (we are not buying
that) so we only have 28 cups left per day. At 2 cups per day (which is 4
times as much) it still is 140 years of coffee every 10 years.

I pick 10 years because its short. If we take 50 years it is 55 000 euro. Now
imagine throwing money around like that all day long.

Think about that when you get a free coffee.

I know it doesn't sound very convincing but most people manage to match their
spending with their income. It really doesn't matter how much you earn. Real
wealth is in not spending it.

Also, if you hoard enough cash and enough discipline it eventually stops
making sense to work. More time to enjoy life! (jay!) Also, that bag of candy
is probably killing me. If I'm hungry I must have planned things poorly.

~~~
sequoia
> More time to enjoy life!

What if I enjoy life by buying a fancy coffee & drinking it on my walk to
work?

The downside of your formulation of "why buy coffee? you could be enjoying
life instead!" is that this worldview encourages people to feel guilty about
buying coffee. Extreme frugality has its place, but remember that "your life"
that you have to enjoy isn't something that starts in 5 years or 10 years or
once you save $x, it's what's happening right now, all the time. I might not
be alive in 5 years, none of has that guarantee. So I enjoy my coffee.

It sounds like you enjoy frugality for its own sake which is fantastic, and
more power to you. But I think most personal financial planners would suggest
that you have a _goal_ you're working towards rather than "hoard cash." What's
the point of that? "Thats ELEVEN THOUSAND euro I could probably be doing
something more interesting with" figure out what that "something more
interesting" is and it might make sense to forgo your daily coffee. Hoarding
cash is not a goal.

> If we take 50 years it is 55 000 euro.

Yippee! I'm 85 years old (assuming I haven't died already) and I have an extra
€55k. Am I allowed to drink coffee now?

~~~
zhdc1
Yeah, but how fancy is the fancy coffee though? Are we talking Starbucks or a
three day roast sourced from a micro lot in Kenya?

If it fits your budget, go for it, but let's not confuse convenience with
enjoyment or quality.

~~~
sequoia
I say this in order to share constructive feedback, because I know a lot of
people on HN are not great at "tone" and sometimes appreciate an explanation
why their comment might accidentally offend:

This comment is very condescending and pointlessly critical. You suggest that
I do not know how to enjoy coffee correctly, and am instead perhaps "confusing
convenience with enjoyment." Rest assured that, I, along with basically
everyone, can be trusted to know what they themselves enjoy or do not enjoy,
without your advisement.

To clarify, I am using "fancy" as a shorthand for "expensive," i.e. a $5-6
coffee rather than a $2 coffee.

------
rcMgD2BwE72F
I've used GnuCash for years before switching to beancount
([https://bitbucket.org/blais/beancount/](https://bitbucket.org/blais/beancount/)
with smart_importer:
[https://github.com/beancount/smart_importer](https://github.com/beancount/smart_importer))
and fava
([https://github.com/beancount/fava/](https://github.com/beancount/fava/)).
Much easier to work on your journals (ledger, trades, prices...) since they
are just text files. Really great if you're using the beancount package for
Sublime:
[https://packagecontrol.io/packages/Beancount](https://packagecontrol.io/packages/Beancount).

More importantly, the importers (for all my banks and financial services) let
me import and reconcile all transactions, but also archive all documents
(including PDF, text files, etc) in one, well organized directory: each file
is saved into a folder that corresponds to my account structure such as
Asset:Current:Cash, Liability:Mortgage, Income:Salary,
Expenses:Health:Dentist. It's great to rely on fava (example:
[https://fava.pythonanywhere.com/example-beancount-
file/incom...](https://fava.pythonanywhere.com/example-beancount-
file/income_statement/)) to check your accounting (with all files listed in
the journal by date, with tags and links and other neat features) and still be
able to browse documents in your file browser.

~~~
haberman
Wow, your setup sounds very similar to what I've converged on. Except I wrote
a fairly substantial pipeline that preprocesses the data before giving it to
beancount and Fava.

Maybe I missed something, but it seemed like beancount wants everything to
live in One Giant Journal file. I really wanted a pipeline where each bank
statement PDF would output one file with a corresponding list of transactions
(this stage can run completely in parallel and I use "ninja" to make it very
fast).

Then another process can run over these files looking for matches (+$X, -$X),
and spit out "transaction groups", where each transaction group is a set of
transaction ids that sum to zero. And then a different interactive tool lets
you categorize transactions and spits out transaction groups with embedded
"expense" transactions. It's all non-destructive; each tool only adds data,
and nothing ever modifies existing files. Then a final step can combine all
these files and spit out a beancount file for Fava.

How does this compare with the way beancount's importer does it? How does its
importer handle transfers and categorization? Is it destructive or non-
destructive?

~~~
mattbillenstein
You're parsing PDF? I'd imagine most places allow some sort of data export
like csv or something? That's how I get the data out of Chase and BofA.

~~~
haberman
Yes, in my experience CSV/XML/etc export is spotty. Some institutions don't
have it at all, and even when they do the time range can be limited or hard to
time-window reliably.

For example, I can't get CSV about my pay stub and all the places money flows
(taxes, insurance, etc). So I use PDF as the best way to get all the data.

Parsing PDF is a huge PITA, since PDF is really designed only for layout and
not to encode semantic document structure. But if you want the greatest amount
of visibility, nothing is as authoritative as the actual statements.

~~~
mattbillenstein
Yeah, I guess I don't really look at paystubs often and my banks support good
csv export for like 2+ years, so I'll always have it when I need when I
refresh those sheets. I do year-to-date in those sheets to make them not huge.

Regarding taxes, I do a tax year calculation using my W2's and returns to
compute an effective tax rate and figure out ways I can improve my situation
re taxes -- but my budgeting basically only starts once the net money hits a
bank account which has worked pretty well.

------
cascom
I’ve been using Gnucash for my personal finances for a several years now, and
really love it - it’s not dead simple, and requires an understanding of double
entry bookkeeping, but where it really shines is flexibility. A couple of
examples are as follows:

1\. Expenses in the future - If I book a bunch of plane tickets for later in
the year today, I can book those expenses in those months in which I’m
traveling (pre-paid asset until then) there-by seeing when I’m incurring those
expenses vs. the cash flow of those expenses.

2\. Corporate expenses - I can book expenses that I will be re-imbursed for as
receivables and not have them run through my “income statement” (nothing like
putting some business class plane tickets on your personal card to make things
look weird)

3\. Loans - whether it’s an auto loan on your car or simply a loan to a friend
it’s great to be able to see your entire balance sheet (and remember that some
items are outstanding!)

4.variable granularity - decide how detailed you want to get for some accounts
you may decide you don’t need that much detail (because you track it some
other way - like your 401k) and you can just track your total balance at month
end (+/\- deposits)

5\. Track illiquid investments in your net worth (not saying the marks are
right, but at least you have a placeholder value for them on your balance
sheet (your home - private company stock etc.)

6\. Privacy - it’s your data - no sharing it with anyone else

~~~
hammock
These are great examples, thank you for putting this list together. I use mint
to track transactions + a running spreadsheet of account balances. These are
exactly all of my gripes with my current system.

------
elric
"Simple" is not an adjective I'd associate with GnuCash. Maybe it is if you're
coming from a background in accounting or have a penchant for numbers. It's
pretty complicated, and I wouldn't recommend it to someone who just wanted to
keep an eye on their budget. A simple spreadsheet will suffice. Or any number
of more user friendly tools.

That being said, GnuCash is a powerful double entry book keeping system which
can almost certainly handle all your bookkeeping needs. But simple, it is not.

~~~
holri
Double entry booking is complicated but it pays off to learn if also for
personal finance because errors are much less likely than with a spreadheet.

~~~
ahnick
This is commonly stated, but I found it relatively straightforward once I saw
the _extended accounting equation_
([https://en.wikipedia.org/wiki/Accounting_equation](https://en.wikipedia.org/wiki/Accounting_equation))
and knew every entry needed a corresponding entry to make the equation
balance.

Assets = Liabilities + Equity + (Income - Expenses)

For some reason the (Income - Expenses) part gets left off in many
introductory explanations of the accounting equation. I think that leads to a
lot of confusion about how to treat Income and Expense accounts in programs
like GnuCash for newcomers to double entry accounting.

~~~
Jorge1o1
I agree this is important to understanding double-entry accounting. Keep in
mind that the Income - Expenses gets elided because the Retained Earnings go
towards Equity

~~~
TeMPOraL
I wish somebody did an explainer of all this, not just for dummies, but for us
_European dummies_. I've approached this topic multiple times, and I always
get confused by all these Liquidities, Equities, Accounts Payables, Accounts
Receivables, Commodities, and how come any article trying to explain any of
that starts talking about stock trading.

------
cproctor
My partner and I have been tracking all our spending for the last five years
with hledger (ledger reimplemented in haskell) and some custom import and
management scripts inspired by "Full-fledged hledger" [1]. More recently we
added Plaid [2] for auto-importing from financial accounts. I love having a
plain-text history and being able to ask complex queries.

One unexpectedly-sweet benefit is that your spending is a high-granularity
record of where you have been and what you have been doing, encoding some
signals you might not have thought to write in a diary. Things like "that was
when we were saving for our down payment" or "I was going to coffee shops
every day trying to finish my dissertation" or "that was when we had a
pandemic." I enjoy looking back through our ledger the same way I enjoy going
way back in my gmail history.

[1] [https://github.com/adept/full-fledged-
hledger](https://github.com/adept/full-fledged-hledger) [2]
[https://plaid.com/](https://plaid.com/)

~~~
jibcage
+1 for full-fledged hledger! I just got it set up last week, and putting
together the small scripts for parsing all of the CSVs was (to me) a fun
programming exercise that reaped huge visibility into how I spend my money :)

It's hugely valuable to have all of your financial data in one, human-readable
place. Not only to you, but to whomever might be executing your will ;)

~~~
cproctor
Imagining my will as a poorly-documented API makes me feel present stress on
behalf of my unborn descendants :)

------
every
I've been playing around with ledger[1] recently. On one level, it is the
simplest of tools requiring only a command line and a text editor. But once
you wade into the documentation[2] you will begin to see it quite differently.
Its capabilities are staggering...

[1] [https://www.ledger-cli.org/index.html](https://www.ledger-
cli.org/index.html)

[2] [https://www.ledger-cli.org/3.0/doc/ledger3.html](https://www.ledger-
cli.org/3.0/doc/ledger3.html)

~~~
pmoriarty
I looked in to switching from GnuCash to Ledger about 5 years ago, and found
that it would have been too painful to use for manually inputting the
thousands of transactions I had because it just didn't have the nice auto-
complete and GUI nicities that GnuCash had.

I'm a hardcore command-line and keyboard-only power user, so I would have
absolutely loved to have made Ledger work for me rather than use the mouse-
heavy GnuCash interface, but couldn't, and went back to GnuCash with my tail
between my legs.

I'd still rather use it, so maybe I'll give it another try some day.

~~~
gen220
I've been using ledger for a year next month.

As you imagine, the fact that it's text-only has been both a burden and a
blessing.

Burdens:

\- inserting transactions takes a long time, when you're starting out. will
always take a long time if you never "automate"

\- it's easy to make little mistakes and not catch it until the next time you
compile or make a report.

blessings:

\- git, sed, grep, awk all "work as advertised"

\- you can automate the boring things, as they get more boring, and you can
learn a lot along the way

at this stage, I have a combination of awk and python scripts (maybe 500 lines
total, but a lot of it is regex) that convert my financial institutions'
transaction export csvs into ledger transactions. I pretty much copy paste
that into specific ledger files. The next step that I'm currently automating
takes a concatenated `git diff` and interactively categorizes
expenses/splits/assigns to the correct ledger file.

I also blew a ton of time (maybe 40 hours) on scraping those csvs from bank
websites, workday, and fidelity (basically, a puppeteer script for logging in,
downloading all the files available). Getting past google auth for workday was
hard. But learning these things has been fun.

With all this automation, I spend maybe 20 minutes every weekend importing
things over from the banks. I'd do it every month, but I'm still a control
freak with it.

Doing this has been super fun! And it also has yielded a lot of insight into
my finances. Above all, it gives me a feeling of "control" over my finances
like no other. Itemizing deductions takes an hour, just as a throwaway
example.

------
komali2
It's kinda fun to idly scroll through gnu's list of free software

[https://directory.fsf.org/wiki/GNU](https://directory.fsf.org/wiki/GNU)

As far as I can tell, everything there was made simply because somebody out
there thought it's important for a Free version of said software to exist.
That's pretty cool. There's gnucash of course, but also a gnutrition
calorie/macro/micro tracker, a flight simulator, some sort of comic saving
software... the list goes on. Fun!

~~~
chaos_a
There's even GNU Social, a decentralized version of twitter which is either
dead or nearly dead.

That list also mentions GNU Health and GNU Med for hospitals. I'm curious as
to whether they're actually used, and if so, who uses them.

------
chad_strategic
I tried GnuCash and generally liked it. However, it was a little more
complicated than I wanted. In addition, I wanted to be able to access via the
web, when I was away from my computer. (cause at the time, I thought it was
only available locally)

I also wanted my life partner (my lovely wife) to participate. This was going
to be the hard part. Behavior modification. So I built a very simple
"tracker".(php/codeigniter/mysql) Date, description, category, spender, cost,
that could be accessed anywhere.

I asked my wife to start tracking spending. As we had just bought a new house
and 1 1/2 year old. She was extremely resistant to the idea. Six months after
using the "tracker" she told me that she didn't plan on doing it more than 2
days before she gave up. However since starting it 3 years ago she and I have
increased our "frugalness" and really looked where we should spend money
(vacations, artisan food and not items to impress other people… such as fancy
cars.)

I think part of the trick is not necessarily import or export or "api"ing
data. The trick is doing a manual entry for each transaction. Kind of like a
spending journal, food journal or just a journal. There still seems to be
power in manually entering a transaction, although it might not be by pen and
paper.

~~~
pseudoramble
> The trick is doing a manual entry for each transaction. Kind of like a
> spending journal, food journal or just a journal. There still seems to be
> power in manually entering a transaction, although it might not be by pen
> and paper.

This was a big realization for me. I tend to prefer getting the "robots" to do
things for us (in other words, automate things). Developing an intuition of
what's happening with your money is hard when you use an automated tool
though.

The process of managing the ledger bi-weekly really adds something more for
me. Working on each entry to determine a category, writing down amounts,
noticing how many entries I've entered into a category each session, and
looking at it in aggregate afterward gives me some greater sense of how my
financial life works. I can almost picture writing the transactions in GnuCash
before I even do it.

I get what you mean about it being complicated though. I learned the bits I
needed to get by and mostly stick to that. So that works for me. In the long
run, the double-ledger manual style is what I think is most important.

------
raz32dust
I've been using YNAB. I want to switch out because YNAB is too expensive. What
I miss with open source alternatives is the mobile app. I don't like to link
my bank accounts, so I enter expenses manually whenever I buy anything. The
mobile app is critical for that to work.

~~~
taftster
YNAB can sometimes feel expensive. And while I could use an OSS solution like
Gnucash or ledger, I don't have the time to deal with the tech support needed
to be able to share my setup with my spouse. Likewise, we extremely value the
mobile experience. To me, YNAB is cheap and well worth the money.

You might want to try "Every Dollar" which is free and has a mobile
experience. It's not open source, of course, but it might fit what you're
looking for.

~~~
RegBarclay
This is exactly why I pay for YNAB. As I'm going through all of these free
options I'm wondering what support there is for sharing the information with
my spouse and how much manual wrenching I'll have to do to make that work and
what my less-technical spouse will have to put up with to work with it.

YNAB is drop-dead simple and available on all of our different platforms.
Money well spent.

------
alexmingoia
I will never understand why people spend time on expense tracking spreadsheets
and apps.

I mean, you’re the one spending money you already know what you spent it on...
Your bank already has a history of transactions if you want to look at it.

Put 30% of your income in a savings account, the money for necessary bills in
another account with auto-billing, and the rest for spending in a spending
account.

I see so many people categorizing everything with spreadsheets and budget apps
and I just ask myself... why? If you set aside savings and necessary expenses
what’s the point of categorizing your spending?

~~~
sanderjd
It's because once I started doing it I found that I didn't actually know what
I spent money on, not really. I found that my rough estimates for where my
money was going were way off and lagged actual changes in my behavior by a
number of months. Just as an example, I still don't feel like my family is
spending close to double what we used to on groceries during the pandemic, but
I know that we are because I have months of history to compare against.

So then you could say, great, so you know that for sure now, so what? Well,
this is actionable! Continuing with the example, now we can look at the upward
trend in groceries and ask whether we're happy about that. Is it an overall
upward trend, or is it coming from something else that we've deprioritized? In
this case, yeah, it's pretty directly coming out of eating out and
socializing, so not something we need to worry about. But in other cases it
has provided data to inform hard decisions about where to cut.

And that actionable trade off thing isn't even my favorite part! My favorite
part is peace of mind when we buy stuff. I don't have to wonder whether we can
afford things, we either have the money for it, or we can move money for it
from some other thing we were gonna spend it on, or we just can't afford it.
But there's no guesswork, which is so much more relaxing than what I used to
do (guess and hope).

Your mileage may vary, but for me, it's some of the best invested time I
spend.

~~~
alexmingoia
Do you put savings and necessary expenses aside when paid? To each their own.
If it works for you great. I can’t imagine sitting down and tracking whether
my grocery expenses fluctuated from one month to the next, since it can’t
impact my ability to pay bills and save. If I was worried about not having
money for groceries I would set that money aside when I get paid.

I also have a family and am the sole income earner. I just set aside
everybody's spending money / allowance and they can do with it as they wish.

~~~
sanderjd
Your system sounds simpler but more rigid than mine. In my system, everything
is a negotiable trade off. There is not static bills and savings to set aside,
there is a trade-off between those things and spending. If I want to spend
more on groceries or socializing or vacations in some period of time, that is
just a trade-off against all the other things in my budget. Maybe I'd rather
find ways to lower my bills than my spending. Maybe I want to save less in
some month so that I can spend more on something that will bring us more joy
that month. It is easier to make these decisions on trade offs with good
visibility into all spending and saving.

But I would also suggest that it seems like you're actually doing the thing
you said you don't understand why people do. You have a budget, it just has a
relatively small number of categories. But the answer to your question is that
people do this for the same reason that you do your setting aside of money for
bills, savings, and spending.

------
woodruffw
I might be the edge case, but I don't actually find double-entry bookkeeping
all that useful as a consumer trying to track my expenses.

Instead, I tend to think of my budget as having cycles (monthly, currently),
with a net "debit" or "credit" for different aspects of my life. I'm required
to credit myself a certain amount in savings every month, and I'm allowed to
debit a certain proportions of my income every month for different categories.

I end up tracking this with a set of plain text expense ledgers and a small
Rust program:
[https://github.com/woodruffw/pledger](https://github.com/woodruffw/pledger)

------
fossuser
I'd be curious if anyone has used this and also used YNAB (and can compare
them).

I'd put YNAB along with 1Password (and probably Fastmail) in the class of best
single purpose pieces of software that I pay for.

~~~
whycombagator
I've looked at YNAB before, I keep wanting to try a finance tracking tool -
but I can't ever decide which one is worth my time. What's so good about YNAB?
It seems to be marketed at a certain segment that I'm not in. At least, based
on their homepage line:

> Stop living paycheck-to-paycheck, get out of debt, and save more money.

As for 1Password, given your username I'm assuming you've tried Bitwarden?
What is better about 1Password?

~~~
fossuser
I actually hadn't heard about bitwarden (thanks) - I'll check that out.

I'm not in YNAB's target market either, but the value they provide is useful
even if you're not struggling month to month with finances. You get really
good control over your money and a much better understanding of how you're
spending it and where.

Being really aware of that makes it easier to actually leverage it _more_
because you know exactly what you can put where so you can be closer to zero
in your checking account (push more towards investments, etc.).

It also makes it easier to change behavior and know exactly what knobs you can
turn with your finances.

Only downside with it is that the auto-import sucks (I suspect because the
bank APIs suck). I move all transactions through one credit card and I
manually create transactions in YNAB when the card is charged. I use the Apple
Card which has really good software so it's easy to notice transactions and
make sure things line up.

My username is also from when I was 13 and really excited about linux :-), now
mostly on macOS - I haven't really lived up to it.

~~~
jonjohn84
I'll give the opposing opinion that YNAB's auto-import works well for me (I
use it with a local credit union, 2 credit cards, and an online savings
account). In fact, I used my own homebrew budgeting software for over a year
before I found that YNAB exists and does everything I needed from my own
software plus imports from banks automatically which was my biggest pain point
with my own solution (it involved painful csv exports every month). I have
been happy with YNAB for a year and a half at this point. Your luck may depend
on which bank(s) you want it to work with. I believe their bank import api
provider was recently acquired by Plaid so they are now using Plaid (as I
understand it).

~~~
mumblemumble
They are using Plaid, and yeah, it varies wildly by bank.

FWIW, I don't know that having a bank that doesn't play nice with Plaid is a
deal-killer. There is a school of thought among many YNAB users that you
should not use the auto-import, or even csv/ofx/whatever import, because
manually entering transactions takes only a few minutes a day, and gives you
much better awareness of your outflows. I can see some merit to that, insofar
as tightly controlling your spending is kind of YNAB's whole thing.

~~~
jonjohn84
Even with auto-import, you still have to "approve" each individual transaction
that is imported, at which time you can assign it to a category (or approve
the auto-suggested category). So that works for me in terms of being aware of
spending on a regular basis. And if you manually enter some transactions as
you spend, it automatically matches them up with your bank's version of those
transactions as you import so you don't end up with duplicates. So it's okay
to use it in a hybrid mode where you sometimes enter transactions manually and
sometimes wait for them to show up automatically.

------
brnt
Hold up. Did Gnucash get better reporting or did he make his own? Last time I
used Gnucash, which admittedly was 10 years ago, but for a business, I found
reporting and the lack of budgeting lacking. The latter could be solved by
envelopes (but I find hacky), but the former only by learning Guile, something
I was and am not up to. Alternatives like Money dance have a more complete
solution, certainly for personal use, in my view.

I guess I'm asking what happened in the past decade to Gnucash ;) 2014 is the
last time I really used it, and reporting had then not really changed.

~~~
igpay
The very first plot shown in the article was generated with custom scripts,
published here
([https://github.com/csun/simple_gnucash_budget_plots](https://github.com/csun/simple_gnucash_budget_plots))

I'm not sure how much it's changed since 2014. I think the "budgeting" system
is still probably as bad as it was back then, though (and by bad I mean not
really applicable for personal use, probably good for businesses). That's why
I wrote this budget plotting script.

------
fensterblick
I want to like GnuCash but I just can't. I have found the UI to be confusing.
I still use a freeware, abandoned version of Microsoft Money:
[https://www.microsoft.com/en-
us/download/details.aspx?id=207...](https://www.microsoft.com/en-
us/download/details.aspx?id=20738)

The UI is still excellent. It is the only reason I have Windows installed on a
spare computer. Despite never being updated, the principals of personal
finance haven't changed that much.

~~~
lancer
I'm in the same boat! One Windows laptop in the house dedicated to MS Money.
With 27 years of financial history, and counting, it still does everything I
need it to. Once a year I export it into Excel to do some forecasting and
analysis. I'd really love if there were a reliable and future-proof way to get
at the data. Sunriise[0] is the only way I know to export raw data but it has
a few issues and the source code isn't public.

[0] [https://bitbucket.org/hleofxquotesteam/dist-
sunriise/wiki/Ho...](https://bitbucket.org/hleofxquotesteam/dist-
sunriise/wiki/Home)

------
spodek
I tracked my finances for a while with GnuCash and found myself in the
category he describes here:

> _If you’re happy with just knowing that your credit card balance is less
> than a certain amount each month, that’s great! You don’t need GnuCash._

I'm curious what fraction of people track personal finances versus those who
don't. I don't know if I'm in a big majority, small majority, big minority,
small minority, or what.

Do you track your personal finances? If so, in how much detail? Maybe it would
make an interesting Ask HN.

~~~
codazoda
I'll bite here... I used to track my finances and balance my checkbook. But,
it took hours of my time. The best thing I ever did was create a separate
account for my disposable income. My bills account gets the exact amount it
needs and everything is payed automatically. The rest of my income goes into
my fun account and I rest easy knowing I can spend until it's gone and my
bills still get payed.

After that worked well for me, I now put small amounts into various savings
accounts, like "tires", "vacation", or "emergency". I use an Ally account with
"buckets".

I don't balance anymore, and haven't for 20 years. Just a quick glance at
recent transactions to make sure I recognize everything.

It's also amazing how quickly some of those savings accounts add up when I'm
not thinking about them much.

~~~
movedx
My wife and I do something similar.

We have our "Expenses" account that salaries go into. We have our "Offset"
account that has our emergency fund in it and offsets the interest for our
mortgage. And finally we have a "Goals" account that we use to save up for big
ticket items like a new car, holiday, or something.

We take 10% of our respective incomes each into a personal, "off the books"
account and we do whatever we like with that.

Simple.

------
cosmie
Firefly[1][2] is also a really useful personal finance app.

It's more akin to a self-hosted version of Mint. Combined with the Plaid
connector[3], I find it the easiest to use for my workflow. And despite the
instructions, you don't need a paid dev account. The free Plaid account will
let you access up to 100 live financial institutions.

[1] [https://github.com/firefly-iii/firefly-iii](https://github.com/firefly-
iii/firefly-iii)

[2] Live demo: [https://demo.firefly-iii.org/](https://demo.firefly-iii.org/)

[3] [https://gitlab.com/GeorgeHahn/firefly-plaid-
connector](https://gitlab.com/GeorgeHahn/firefly-plaid-connector)

~~~
dsd
I use this too. Maybe I like the beancount more, but having my finances
available on the web to share with my so is valuable. Too many told are meant
for one pers,on and don't support modern ideas like tagging.

~~~
cosmie
The multi-user aspect is super handy.

It's also nifty that it exposes pretty much all of the functionality via a
REST API, complete with the ability to manage OAuth clients/tokens. Not
something I expected to really leverage, but have been surprised how
frequently it's come in handy.

------
neogodless
> We don’t care about how much money we’ve spent at Amazon

That's like, your opinion man. While I'm sure that's one perfectly valid
approach, I find a lot of value in knowing where my money has gone beyond
categories.

To make it more concrete, how much I spend at Amazon my Rewards Visa
determines whether the 2% bump in rewards is worth the cost of Prime. (I know
- most people find enough value in the videos or not thinking about shipping.
But I find that I simply spend _more_ at Amazon when I have Prime, so I avoid
having it!)

To counter myself, my own software is probably too granular and I waste time
on those little details of where I've spent money. I could stand to simplify a
bit.

~~~
UncleEntity
Last time I looked they seem to have a pretty decent python API so splitting
down transactions by retailer shouldn't take too much python-fu methinks.

~~~
jldugger
na, the problem is the data doesn't commonly exist in the model. If I buy a
book from a local independent bookstore, that's a debit on checking and a
credit in the 'Books' account. If--perhaps due to coronavirus--I buy the
sequel on Amazon, that again results in a transaction from checking to books.
The payee data isn't there.

I think you can do it via vendors but the small business feature set is
somewhat cumbersome.

------
vitoc
I used GnuCash for a few years too, then switched to something else because:

1) I couldn't make transaction importing work for the statements that I want
2) I couldn't get to the report that igpay got (this was many years back) for
some reason, I also wanted more custom reports and it seemed really
complicated to create one 3) I wanted a tool that was more malleable. Although
GnuCash is completely open source, the codebase does not look too approachable
for me

After trying a few other approaches (including spreadsheets), I settled with
Ledger CLI. I also built importing tools over 3 years of coding on weekends
and finally got a complete set of features and financial institutions that I
want :) Started with the reporting / analytics part recently... You can check
it out here:

[https://prudent.me](https://prudent.me)

Any feedback will be very appreciated :)

------
ISL
Does GnuCash integrate well with exports from credit-card companies or banks?
It seems like the big blocker is the time spent logging transactions.

~~~
sjamaan
It supports imports from QIF and OFX/QFX files, CSV files, MT940 and MT942
files and DTAUS files. It also has an "online banking" integration thing, but
I have no idea what kind of bank has username/password logins that would work
with this.

Personally, I don't mind manually entering the stuff, because you'll need to
classify everything into the correct accounts anyway.

~~~
jldugger
> It also has an "online banking" integration thing, but I have no idea what
> kind of bank has username/password logins that would work with this.

That stuff is the OFX/QFX setup. Basically it logs in and fetches those files
for you. Banks are notoriously bad at this however.

------
johanlarsson
A macOS and iOS alternative:
[https://hochgatterer.me/finances/macos/](https://hochgatterer.me/finances/macos/)

> No data is stored on servers, except when you enable Cloud Sync to keep your
> data up-to-date on all your devices. In this case the data is stored
> encrypted on iCloud.

~~~
jamil7
This looks really nice, thank you for sharing.

------
slavoingilizov
I've tried many different apps over the years. I was in the "manual entry is
better" camp until I stopped due to friction several months later. The only
app I've used which I haven't given up on is Emma ([https://emma-
app.com/](https://emma-app.com/)). On it since beta and been doing that for
more than 1year. It automatically pulls all your accounts, categorises spend
and gives you analysis on what you can do to improve.

Many others promise that, but fail to deliver. Emma works for me,
consistently. At the end of the day each of us manage our finances differently
and the workflows have to be personalised. It's about finding the one that
makes sense to you rather than "the best".

------
dang
See also:

2019
[https://news.ycombinator.com/item?id=20109545](https://news.ycombinator.com/item?id=20109545)

2018
[https://news.ycombinator.com/item?id=16857884](https://news.ycombinator.com/item?id=16857884)

------
mattbillenstein
This all seems too complex for most people. I use Google Sheets, I import a
year-to-date csv from my bank and credit card every month, categorize each
transaction, then use QUERY to aggregate expenses by category. This data I
feed into a rough budgeting sheet which I use for expense trimming. This
monthly maintenance takes maybe 30 minutes.

And I have another sheet to compute net worth - retirement and brokerage
accounts hold funds for which I can get a price using the GOOGLEFINANCE
function, so the numbers change over time and I know pretty much down to the
penny what my net worth is after I sorta manually enter in a couple bank
balances.

~~~
igpay
I'd definitely agree that this is overkill for most people. In your case,
though, I think that you could put the same amount of work into GnuCash and
get the same results without writing any code. Plus you'd have a GUI with
built in reports and whatnot. Not sure if that matters to you.

In the article, I briefly touch on skipping manual transaction logging and
just importing statements from your bank / credit card. And I gloss over this,
but it looks like GnuCash offers similar functionality for automatically
updating stock prices
[https://wiki.gnucash.org/wiki/Online_Quotes](https://wiki.gnucash.org/wiki/Online_Quotes)
\- not sure if it's a pain to set up or not, but it's probably not as easy as
just calling a google sheets function.

Seems like you wouldn't have any reasons to switch over given that you've
already got a nice system going, but just wanted to point out that you can use
GnuCash in a way that's not quite as... rigid as the way I use it :)

~~~
mattbillenstein
I don't really want a GUI - or the GUI I want is a spreadsheet.

I have some charts and graphs embedded with the data - like net worth over
time, brokerage over time, etc. My worry with a baked system is it doesn't
have the data in a way I want in a chart, whereas with this system, I can
pretty much create whatever I want from the raw data in the sheet...

~~~
lbotos
Tiller is trying to build exactly that:
[https://www.tillerhq.com/](https://www.tillerhq.com/)

I haven't used, because I use personal capital and they both used Yodlee, and
my biggest gripe about personal capital is yodlee isn't keeping up with 2fa
style logins from banks

------
BrandonBradley
Until the open source options have direct download options that 'just work',
Quicken is the best.

I've tried GnuCash and Skrooge, can't ever get the direct downloads to work
for more than two months without breaking.

~~~
Voyiatzis
Quicken died for me ten ir so years ago, as did many other personal finance
software applications. It is the syncing between devices that’s imperative
these days, and this is where Quicken is failing, especially when your
database gets larger: it syncs, but as your database grows its latency becomes
ever more apparent.

Quickbooks Online, which I have been using for a little over a year, does
syncing exceptionally well; but at the cost of a polished UI.

Ideally I would love to be able to access my Quickbooks desktop database using
iOS or web, alas that’s not doable.

~~~
zie
Quicken is out from under the Intuit Monster now, so it may be worth looking
at again.

------
TheApexTheater
Like many people here, I tried GnuCash. I enjoyed it, but when I would import
data from my bank, it would crash. That, and not having any real way of
categorizing my expenditures was annoying. The other thing that annoyed me was
not being able to select multiple items

I recently moved to KMyMoney and everything just clicked. I found the
interface to be nicer, especially combining the filter functionality with the
ability to select multiple things and tag them appropriately.

I appreciate the article trying to explain Double-Entry bookkeeping, and I
would suggest people look into KMM as an alternative to GnuCash.

~~~
mtrower
No way to categorize your expenses? Could you elaborate and compare to KMM?
I've used both programs, so I'm curious which of us is missing something.

~~~
TheApexTheater
I think I may have misspoken. What I meant to say was that, at least for me,
KMM is a little easier to view both accounts and categories, and search within
them.

A more accurate phrasing would have been "Filter all the payers that contain
this string, and allow me to select them and see how much money was
transferred to/from them."

------
clircle
I was an avid GnuCash user for a year or two in grad school, keeping track of
my finances using GnuCash Mobile on my android phone. Then I bought a new
phone and exported my finances database. When I loaded it into my new phone, I
found the xml had been corrupted.

That was a sad day because I'd like to use an offline finance tracker on my
phone.

BTW GnuCashMobile is not GnuCash, it's some third party android app.

------
andriosr
I love the ideas from Ledger and GnuCash, so much that I even created a
product inspired on them. I actually think many companies will benefit a lot
from having such a simple way to control money movements, instead of having to
use something like an ERP system.

The product is [https://decimals.app](https://decimals.app), and the way I
thought about bringing the simplicity to it was to wrap the API behind
decimals and currency libraries already in use. If you want it for personal
use, let me know, but it's something closer to LedgerCLI at this point, as it
doesn't come with reports and other things from GnuCash.

I can sync all your data to an S3 bucket, so you would have all the data in
the json format on your AWS account. As I use DynamoDB, it would be pretty
straight forward to do. So, let me know what you thing and if you are
interested in using a lib or REST API to create entries to a ledger, hit me
up.

------
briocheco
I needed a way to track my kids' allowance, so I built this
[https://play.google.com/store/apps/details?id=com.fivesaver](https://play.google.com/store/apps/details?id=com.fivesaver)
\- very simple and very free. Hopefully, not too massive-aggressive self
promotion:)

------
quietbritishjim
I was a bit flummoxed right at the first example. You bought something at a
bakery, so the balance in your credit card _increased_? It's right there in
the increased column. Surely it _decreased_ to a larger negative number?
(Credit card accounts are almost always negative, although mine occasionally
goes slightly positive when I pay it off and round up to the next pound.)

And why are the columns different to the example shown later for the checking
account (or current account, as we say here in the UK)? You've got "increase"
and "decrease" vs "deposit" and "withdrawal". Obviously you're likely to use
your credit card and checking account in substantially different ways, but
surely the fundamentals of transferring money in and out is similar enough
that they ought to look the same in your finance software?

~~~
growse
The "credit card" account is a _liability_ account, unlike a bank account
which is an asset account. If you spend something on a credit card, your
liability increases.

> Credit card accounts are almost always negative

This is only true if you think of them like a bank account. Every credit card
statement I've ever receive has shown the amount I owe as a positive amount.

~~~
quietbritishjim
> > Credit card accounts are almost always negative

> This is only true if you think of them like a bank account. Every credit
> card statement I've ever receive has shown the amount I owe as a positive
> amount.

I just checked my online banking - I bank with Nationwide, a UK building
society (a bit like a US credit union but functions like a bank). In the main
statement of accounts, which looks like this [1], the credit card balance _is_
shown negative. So is my mortgage, which makes for a depressing overall sum! I
won't bore you with more detail but generally they mostly stick to this
pattern in other screens. Oddly, in that example screenshot, the credit card
balance is shown as positive - I'm not sure if that's because it's just an
example and they faked it wrongly or because the way balances are shown have
changed since that picture was taken.

I've never had a credit card with anyone else, so that's why I'm surprised
that the debt is presented as a positive number. It's interesting to see (from
your comment and others) that's it's normally done that way. My initial
cynical reaction was that this is a marketing ploy to make you feel a bit less
bad about it, and I'm not surprised that Nationwide doesn't follow suit given
that it's not run for profit.

[1] [https://i0.wp.com/money-watch.co.uk/wp-
content/uploads/2011/...](https://i0.wp.com/money-watch.co.uk/wp-
content/uploads/2011/09/nationwide-online-banking.png?w=512&ssl=1)

> The "credit card" account is a liability account

Interesting, thank you, I hadn't heard of "liability account" before. So it
seems that it is something accountants really do use, not just the cynical
marketing plot I initially thought. But it still does seem an unnecessary
complication to me compared to just having all accounts working the same way
(but some happen to be negative). Maybe it's a just mathematician / computer
scientist thing of preferring things that make mathematical sense rather
normal intuitive sense, a bit like zero-based indexing or end iterators that
point one past the end.

------
mcguire
" _For my stocks and non-money assets, I opt not to track them super closely
in order to avoid having to update the values of each stock every time._ "

GnuCash's Price Editor can fetch values automatically. It used to be able to
use Yahoo finance, but they cut that off a while back. There is a replacement,
but I cannot remember what it is at the moment (and am on the work laptop).

GnuCash is actually pretty easy to use, once you get used to the double-entry
system and how it handles some things. I have a moderately complex situation
(and it's been stupid complex in the past), and I don't spend more than a few
minutes a month on it (unless I'm trading stocks; it can take more time to set
up each stock's account for proper tracking).

~~~
memling
> GnuCash's Price Editor can fetch values automatically. It used to be able to
> use Yahoo finance, but they cut that off a while back. There is a
> replacement, but I cannot remember what it is at the moment (and am on the
> work laptop).

It's possible to get Yahoo! data through web scraping, but it's certainly less
convenient than it used to be.

IEX also has an open API for querying historical data.[1] I don't think it has
as much historical data as Yahoo! has, and it's changed a bit since the last
time I thought about putting together a backtester.

[1] [https://iexcloud.io/docs/api/](https://iexcloud.io/docs/api/)

------
pstrateman
Importing records in GnuCash is a pain.

Credit card payments end up with two records of the payment, one from the
credit card and another from your bank.

There's no way to merge records in GnuCash, ideally you would be able to mark
them as the same record, but keep them both to keep the import logic happy.

~~~
jldugger
How are you doing this? The OFX import tool has a bayesian matcher that will
update and reconcile existing records, and classify them based on past
behavior.

The big challenge IMO is that each transaction has a date, but sometimes the
ends disagree on when it happened. E.g. you transfer money from checking to a
brokerage, it takes multiple days but you have to choose one date for that
transaction.

~~~
pstrateman
Using the import tool it identified them as separate transactions... which
they kind of are.

They're separate records whichiwould like to keep... but as a single merged
ledger entry.

~~~
jldugger
Still not sure I follow. If I make a payment on a credit card, it shows up as
a transaction from asset checking account to the liability credit card. It
shows up on both accounts already. When I later import OFX transaction files,
it sees the payment in the OFX and matches it up to the existing transaction:
[https://lists.gnucash.org/docs/C/gnucash-guide/importing-
fro...](https://lists.gnucash.org/docs/C/gnucash-guide/importing-from-
files.html#importing-matcher)

Apparently not all import assistants do this for some reason.

------
balnaphone
In the first pie chart [0], am I the only one having a hard time with colours
in the legend? For example, the second colour in the legend is #ff851b [1],
but that doesn't appear in the pie chart. Going by the amount (33.69%), it
must be the segment with colour #ffa85f [2].

[0]
[https://www.csun.io/images/gnucash/expenses_piechart.png](https://www.csun.io/images/gnucash/expenses_piechart.png)

[1] [https://www.color-hex.com/color/ff851b](https://www.color-
hex.com/color/ff851b)

[2] [https://www.color-hex.com/color/ffa85f](https://www.color-
hex.com/color/ffa85f)

------
darcys22
To all the people who are running ledger with bash scripts and piping thru sed
& awk I’ve been working on another open source alternative.

[https://godbledger.com/](https://godbledger.com/)

I’ve always thought that having the data recorded in a single text file made
the software only suitable for extremely small financial accounts. So I’ve put
a SQL database that you have control over as the place where the data is saved
(using a similar schema to what GNUCash does). Also added GRPC endpoints so
scripts can talk to it easily.

It’s still early stage but plan is to make a bunch of front ends so that every
financial task within a business can talk to the same backend (bank
reconciliations, payroll etc)

------
kumaranvpl
I have been using Monefy pro[0] android app for past 4 or 5 years to keep
track of my expenses. I log in all my expenses and income in appropriate
category. The main free version should be enough for most people but the pro
version grants the ability to add custom categories. All the data is stored
locally and it has the ability to export our expenses as csv to make reports.
Also, Optional google drive and dropbox backup support is included.

P.S. I am not associated with this app. I am just a happy customer.

[0] -
[https://play.google.com/store/apps/details?id=com.monefy.app...](https://play.google.com/store/apps/details?id=com.monefy.app.pro&hl=en_IN)

------
cjlovett
Yep, this is the same reason I've been using
[https://github.com/clovett/myMoney.Net](https://github.com/clovett/myMoney.Net)
for the last 20 years and I have to say the data I have now is invaluable. But
I have noticed a lot of banks are shutting down their OFX gateways which is
disturbing. I think Intuit is moving them all to online backend closed systems
which sucks. We should start a citizen initiated referendum to stop that trend
and force banks to remain open, letting consumers download their data!!

------
unhammer
We've been using GnuCash for my gf's photo business for years now, it's
powerful enough to give everything to do her taxes, but (unlike plain text
accounting) very usable for a non-programmer.

Invoicing though, she's still been doing with a different program since the
ones in GnuCash are hard to get good-looking. I was about to ask for tips
here, but then I see there's a whole bunch of stuff out there we could try
first:
[https://github.com/search?q=gnucash+invoice](https://github.com/search?q=gnucash+invoice)
:)

------
8589934591
This looks really promising. My current challenge is that I use Ubuntu and my
wife uses windows. We definitely need something cross platform. This in turn
should help us to share data (version control maybe?) between ourselves, and
input the data as and when we feel like it? I work in software dev but my wife
doesn't. A simpler layman tech/commands is what she prefers.

Are there others who have faced this issue similar to mine? Did you use
GnuCash or something else? I'm more of CLI but she's more GUI. So...

------
monkeydust
I kinda want to try it but just not convinced I will see a good return on my
time esp with manual entry. I wish some of these features were baked into my
main bank account though.

------
downerending
Related: Does anyone know of free-ish software to do cash-flow/retirement
projections, etc.? For example, I'd input some guesses about income, 401ks,
Soc Sec, rent, major necessary expenditures, rates of return and inflation,
etc., and have it output balances for several decades. Extra credit for
multiple runs with random variation on assumptions.

I could write this myself, and have done a trivial one in the past. Is there
anything better?

~~~
awinder
I keep a personal capital sync around for pretty much their retirement planner
which pulls data from your synced accounts and does some light portfolio
checks / some good visualizations of sectors that you’re invested in.

[https://www.personalcapital.com/](https://www.personalcapital.com/)

------
clum
I've been using GnuCash for years. It has a great many fantastic features and
it has some annoying quirks for sure. I haven't found anything to replace it,
but if I could I would. One of the most annoying things: Export account names
with Umlauts -> Import them again. Now they are all broken. I have to manually
fix the csv file to prevent that and there's never been a fix/devs don't see
this as an issue.

------
koevet
In the last 6 months I have built a set of Python scripts around Beancounter,
that import and categorize and archive various bank and CC statements into the
ledger.

Paired with Fava budgeting capabilities, my personal finance tracking is
almost frictionless. It takes literally 5 minutes to go through 5 accounts.

Since I live in Germany, I still have to use cash, which is a bit a pain to
track.

For that, I use an Android app that writes data directly into the Beancount
ledger.

------
misterspaceman
I really like the system described in this video; it's kind of a mix between
double-entry and envelope accounting. It's what _finally_ helped me get my
budgeting under control.
[https://youtu.be/eIcsMHL0NJ0](https://youtu.be/eIcsMHL0NJ0)

In the video, the guy recommends MoneyDance, but the same system would
probably work in GnuCash too.

------
arunaugustine
The article mentions Gnucash iOS app but the links in the official wiki was a
dead end. Can someone point me to the correct link please?

------
tshanmu
the comments thread on this is much more valuable to me than the article
itself (not to say the article is not valuable) :)

------
voska
After have using GnuCash, Mint, and about 100 other finance tracking apps, I'm
convinced that Tiller Money is the best. Highly recommend checking it out.

[https://www.tillerhq.com](https://www.tillerhq.com)

Easy to set up and requires the least amount of ongoing work to accurately
categorize transactions.

------
mulmen
I love the introduction to this post. It reads like an absurd GNU infomercial.
Someone is dissatisfied with their current software? There must be a better
way!

I imagine Richard Stallman himself rappelling down a sold rock face to spread
the good word of GNU.

------
lbotos
Is anyone regularly or reliably getting bank/credit card data via OFX? I've
considered switching from Personal Capital to these libre/open solutions, but
I'd love to automate the data gathering.

------
suyash
Most banking services - at least mine already provides reports and graphs
along with simple budgeting features for free with online banking. I prefer to
use that, as that is where most of the data lives anyways.

------
m0zg
No sync with banks - a complete non-starter for most people. Even if you
enthusiastically start using something like this, in a month or two it'll get
super old.

~~~
detaro
It supports multiple methods of sync with banks, although I don't know how
common these methods are in various parts of the world.

------
tmerse
The last time I used GnuCash, it was not able to import it's own export. Does
anyone know if this has been fixed?

------
S-E-P
I have a slight question, why is the install binary 150+ MB?

How many libraries you got?

------
spurdoman77
I never understood the point of these personal finance apps. When I run out of
money I just withdraw a some more out of our familys multimillion trust fund.

~~~
chad_strategic
are you looking for any relatives. :)

------
candiddevmike
Shameless plug, our product, Domestica, is better for personal finance
tracking as it uses the envelope model of categorization. It also includes to
do lists, meal planning and more--in the cloud or self hosted.

[https://about.domestica.app](https://about.domestica.app)

~~~
xupybd
Just paid for a year of ynab. Do you have anything I can sign up for to be
reminded you exist in a year's time?

