You Need a Budget (YNAB).
It’s the best thing ever. I don’t know if it will fit all of your needs, but the central component is a detailed monthly budget. It tells you how much you have to work with that month, you assign the dollars, and then track and reconcile your accounts as you would any other program. You can then see at a glance where you are in each budget category, and you can input as many months in advance as you want. One-shot expenses are pretty easy, all you have to do is allocate the dollars for one month, and the balance carries over month-to-month. So let’s say you put $3k into your Travel category, that $3k will just sit there, carrying over, until you buy the airline tickets.
…This is sort of hard to explain. Here’s a screenshot to give you the gist (this is an older version, so looks slightly different, but same basic concept.) You can see in this picture how the balances carry over to the next month. If you go over budget, you can just subtract the amount from next month in the same budget category or from next month’s total. There are a ton of mouse-over features so you can hover over the outflows links and see all the purchases you made in that category.
There is also a smart phone app for YNAB that allows you to enter in your purchases as soon as you make them, and view your balances in each spending category or your accounts. It’s nice because if I’m at the store and can’t remember whether I have the money allocated for a purchase, I can just quickly check the budget category balance to see if I can afford it.
Another bonus to YNAB is the free support services including webinars that point out a lot of cool features you would otherwise miss. Definitely attend the free webinars, it will make everything go much more smoothly.
Prior to YNAB we used GNU cash, which I hated because it seemed so counter-intuitive to me, and it’s boring as all hell to look at. YNAB is nice and clean and bright and good for people like me who struggle with money. Mint is kinda cool, but it’s too passive for me. In order to stay on top of my expenses I have to be entering that stuff in daily. I don’t want my program to auto-populate the account ledger. I want to feel every dollar that goes in. I think you can import data into YNAB but I haven’t used that feature.
So, since YNAB, our financial situation has improved a lot. It’s definitely a bit different from standard finance programs, as the emphasis is very heavy on budgeting, but it can do most of the stuff those other programs can do, and then some.