Hacker Newsnew | past | comments | ask | show | jobs | submit | hevsuit's commentslogin

I've been using Gnucash since 2020 to manage personal expenses and income, and it has made the world of a difference. In particular, I find the income statement feature very powerful when I'm doing an end-of-year review of my spending.

In terms of time commitment, about 20 mins every two weeks seems to be enough for logging all my transactions into Gnucash - I have 3 bank accounts, 1 investment account and 1 retirement account.


I really like GnuCash but I've struggled with the data entry portion. Most of my transactions are on credit cards, so at the end of every month I'll import maybe 100 transactions in CSV. That import form does not let me bulk change how certain transactions should be imported so for instance if I have 10 transactions in a row that should be deposited to Expenses:Groceries that's 10 clicks.

Another pet peeve is the time order. A lot of times I'll have have a credit and debit on the same day, but the order I enter these depends on the order I'm going through my accounts. Since GnuCash only lets you put a date, it'll look like the account was overdrawn when it's simply mis-ordering the transactions. The only way I know to fix is to re-enter both transactions.



It orders transactions by (1) Transaction Date (2) Split Action (3) Transaction Num (4) Entry Date (5) Description


See my other reply re imports. I say dont bother and instead do it by hand as it speeds up over time.

Yes the same-day ordering is visually quite annoying, although the final end-of-day/end-of-statement balance is really the only value that matters.


> Since GnuCash only lets you put a date

!


That's interesting, my experience was different from yours. While it is indeed very useful to see all my spending, I found it took way too much of my time to maintain it.

This was partially because the UI has a lot of issues (especially the bank statement importing - if you don't do everything just right, you have to redo it from scratch, and it is very easy to make it fail), and partially because the ability to automatically assign transactions to categories was too limited (it expects the reference to match exactly, but in many cases it doesn't, so I would have to spend a lot of time manually assigning things to categories, again from a really bad UI).

I have to add, this was 5-6 years ago, so it's possible that the UI has improved since then.


I gave up early on with importing bank statements. Instead I just manually create each gnucash entry for each transaction on my online bank statement. If the final gnucash account balance matches my actual bank balance then I know I did it correctly. If it does not balance, I persist in finding the mistyped entry.

This method relies on balancing to the cent each time, since I use my actual bank balance as the target.

It is indeed tedious at first, however I find that 1) manually entering transactions helps me spot problem payments quickly (comprimised credit card, overcharges on direct debits etc.) and 2) the predictive auto-complete feature speeds entries up over time, as most entries are assigned to either a a)groceries, b)eating-out or c)bills expense account. You just press 'Tab' when the correct suggestion pops-up after entring the first few letter, and the line entry gets auto-filled. I still usually need to change the numerical value, but the correct expense account and transaction detail are prepopulated correctly most of the time.

Overall I would recommend giving it another chance.


I use hledger and while I also use my actual bank balances as targets (and often I do get obsessive, to the point of chasing down cents), I think it would be impossible for me to do it without importing my bank statements.

It's not the transactions themselves that I find tedious, it's all the ways I split them. My partner and I split many transactions together and we often travel with friends so I charge friends over Zelle/Venmo for transactions we had while out. Importing transactions from my banks makes it significantly easier to reconcile all of these, especially when I'm on a vacation. Ease of writing importers was a huge driving factor when I switched to hledger from GNUCash.

It's amazing discipline that you enter these manually. I remember that GNUCash has decent autocomplete which certainly helps. I don't think I'd be able to keep up with my finances myself if I had to input it all myself. I personally have anywhere from 50-100 transactions a month.


If you don’t mind my asking, how many transactions go through your account a month?


Roughly 100 transactions per month I would say. On average 2 card based transactions per day --> 60 transactions per month. Then bills, incidentals and direct debits make up the remaining 40.


I use HomeBank [1] because I find the UI a lot simpler than GnuCash and importing mostly just works, with pretty good automatic category assignment that lets you use regular expressions.

The only quirk is that one of my accounts uses a non-standard ordering for its csv file which needs fixing before HomeBank will accept it since the import UI is limited.

I also find that it is useful to track the database file under git.

[1] http://homebank.free.fr/


Yup, this is what I ended up using for some time. Though, and YMMV, after doing this in a dedicated way for 2-3 years, I ended up stopping entirely. Probably because more than anything, all the pretty graphs and tracking was mildly interesting -- but it mostly just taught me that I spend reasonably and don't have much of a need to track every little transaction.


Do you analyze all smaller spendings, like groceries, all credit card and cash purchases?

I'm using CC for almost everything but there is still a lot that I miss because of random cash spendings.


Cash is a tricky one. Generally I keep cash spends to a minimum. Any small cash withdrawls from my account are generally expense straight into Expenses:Cash Misc. and I don't bother tracking the inidividal cash payments.

However if it is a large cash amount (e.g. rent payment) then I will transfer from Asset:Bank to Asset:Cash before entering into Expenses:Rent.


Have you tried any of the plain text accounting packages?

I'm really interested in lived experience of using Gnucash vs, say Beancount or HLedger.


No unfortunately, I've only used Gnucash.

One of the main reasons I stick with Gnucash is the monolithic file format. If one day I need an accountant to review my finances, or if I suffer an audit by the tax man, I can send on the single .gnucash file with all my data. While Gnucash's UI is not the greatest, an accountant/auditor can easily install Gnucash and generate reports with only basic knowledge.

Another nice feature is the file linkage features, where I can directly link my payslip pdf files to the gnucash entries. I have folder structure on my GDrive with all of my stored bills, payslips etc. If required, I can zip up my Gnucash file and corresponding documents folder and the reviewer can instantly access important financial documentation from within the Gnucash application. Gnucash uses relative file paths for sourcing linked documents - all a reviewer has to do is specify the head directory and all the linked documents will open as usual. Correct me if I'm wrong, but I dont think this is a feature in the text-only approaches.


> Correct me if I'm wrong, but I dont think this is a feature in the text-only approaches.

I unless I'm missing something, all those features are available to me now.

> If one day I need an accountant to review my finances, or if I suffer an audit by the tax man, I can send on the single .gnucash file with all my data.

I can do the same with a git repo, or a zipfile.

> an accountant/auditor can easily install Gnucash and generate reports with only basic knowledge.

I'm not sure I understand the advantage here. A professional could install beancount too, and run the same scripts I do. My real life experience is they don't actually want this level of depth.

> Another nice feature is the file linkage features, where I can directly link my payslip pdf files to the gnucash entries. I have folder structure on my GDrive with all of my stored bills, payslips etc.

You can link to external documents in Beancount and possibly the others and it's kept in the same archival system:

https://beancount.github.io/docs/beancount_language_syntax.h...

It looks like I'm not missing out?


Maybe I can answer this a bit for you. I used GNUCash for a while and then switched over to hledger.

1. I personally prefer graphical tools, especially when looking at a sea of numbers. I gravitated to GNUCash because, even if the tool felt crufty, it was still a lot easier to read/get started with than hledger.

2. I used GNUCash for a long time. GNUCash has a very cool autocomplete feature that actually makes it quite easy to enter in recurring transactions. Things like regular bills, income debits, etc are all trivially autocompletable.

3. GNUCash makes it really easy to generate reports. While hledger certainly is infinitely scriptable/manipulable, GNUCash has a much easier out-of-the-box experience to use.

The main thing that made me switch to hledger was the ease of autogenerating transactions into a plain-text format. My partner and I split many expenses and we often travel with friends so I split many things many ways. I also fund my parents to some extent and so I buy gifts/split transactions with my parents. GNUCash made recurring transactions easy but made it a lot harder to generate split transactions according to fixed splits that I regularly engage with my friends/family in.

With hledger I have a system of taking CSVs, classifying transactions using a stack of Python scripts and using them to generate hledger importable files. I go by hand and annotate transactions that my scripts couldn't classify/split, and then I import it into my main hledger file. I store all my inputs and intermediate imports in a git repository along with my main ledger file for auditability and to look at annotations. The ease of automation just can't be beat with PTA but it's definitely harder to use if you don't have a preference for TUI work.


I have. All of the plain text accounting packages are optimizing to solve the exact wrong problem. The reality is that even if you are using a commercial package, it's generally not hard to get a CSV (or something like it) OUT of the software. What you actually need for a sufficiently complex financial life is input validation, and that's exactly the problem that plain text accounting software punts on.

Gnucash has a lot of cruft and definitely feels like it was written in 2003, but it does address this issue and provides the basic input validation you need to minimize errors.

The other issue with plain text accounting software is most of it only flags errors after you 'compile' your books (or, more properly, run them through some sort of command-line tool), which is far too late to make data entry convenient. (Some of them have web-based tools, like beancounts "fava" package, that act more like Gnucash...but at that point the term "plain text accounting" loses all meaning IMO, you're just using another client, so why not use a better one?


> What you actually need for a sufficiently complex financial life is input validation, and that's exactly the problem that plain text accounting software punts on.

Which input validation do you get in gnucash that you don't get in e.g. hledger? Asking as a hledger user. So far I mostly have assertions every month about account balances, and of course hledger checks itself that transactions are balanced. I avoid duplicating accounts (say expenses:something:stuff and expenses:other_thing:stuff) using autocompletion.


If you don't mind me asking, what method or software were you using using prior to Gnucash?


I never did any personal bookkeeping before I used GnuCash. I was however self-learning basic accounting for my startup at the time where we use the cloud-based software package Sage Accounting. After a few months of using Sage I was interested in applying similar methods to my personal finances and discovered Gnucash along the way.

Edit: phrasing


The Latex plugins really make things interesting. The LaTeXText package [1] allows formula rendering and editing from within the Inkscape canvas.

For tidy circuit diagrams the CircuitSymbols plugin [2] produces exquisite results by hooking into Latex's circuitTikz package and dumping the rendered result on the canvas. Typically I generate a bunch of circuit promitives and then connect them afterwards using snaps and the line tool.

[1] https://inkscape.org/~seebk/%E2%98%85latextext-render-latex-...

[2] https://inkscape.org/pt-br/~fsmMLK/%E2%98%85circuitsymbols

edit: wording


One would think it would have been a good opportunity to change to SHA-2 after Heartbleed, since most websites had to get reissued certificates anyway. Since this process is a pain in the * then one could have killed two birds with one stone at the time. Alas


In fact, Heartbleed helped a lot: http://news.netcraft.com/archives/2014/05/05/sha-2-very-cryp... But there's a long way to go.


Great job. Kudos for the well structured website and documentation also.


At least the word "free" didn't appear in the description.


Indeed, DMR and John Mc Carthy are on the list too!


https://www.youtube.com/user/razethew0rld

Internet Culture and Tech Stuff


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: