Every month i create a file (e.g. 201605.csv for May 2016) where I write date, description, amount and category, manually, using whatever editor I have at hand.
The files reside on Dropbox so I can also update these via smartphone when needed.
And I wrote (like 15 years ago?) a very simple Perl script that pointed at csv files will summarize expenses and income by category, and provide totals (along as percentages, i.e. stuff like
"BOOKS: 23.75 / 0.31% of total monthly expenses"
That's all. Being .csv it can be manually updated, ported wherever I can run Perl, imported in Excel or in any DB I may care for etc. If I want to run analysis I can paste together all the files and run R on these etc. etc. etc.
I have maybe 20 categories, so it's easy to assign to them and I don't have to agonize for hours about how to tag any non-recurring expenses.
This has proven to be enough for me. YMMV, of course.