I use Mint to classify and check all my transactions. After I check/change the category, I give them a tag "ok". I can filter by transactions without that tag to see what needs to be looked at. If something relates to maaser (ie: either income or a donation), I also give it a tag "maaser". Once in a while I go through all the transactions with that tag, log them in a spreadsheet, and remove the tag. My spreadsheet figures out how much I owe for maaser and subtracts what I've given, and keeps a running total so that when it is up to date, I can see if I owe any maaser.