I use a basic LibreOffice spreadsheet. There's a fair bit of manual inputting of the data but the advantages are that it takes care of all sorts of cases, from bank to cash transactions.
Importing bank transactions is easy. Regarding cash, one needs to keep a regular track - I do this by tracking them on my phone as a note or something and about once a week I'll enter in all the data into the spreadsheet.
I've been doing it for 8 years now and it's been amazing to see where the money goes and where we can cut down :)