Money Management

Knowing how much we spend on what is a problem everybody faces and people have come up with many different solutions based on their needs. Personally, I’ve found I’m too lazy to maintain an Excel spreadsheet and I don’t trust myself with having no system at all.

I first started looking at money management software when I first heard of mint.com. It looks like a great service but unfortunately doesn’t support UK banks yet. Next I looked into desktop software that might offer a similar set of features. There are plenty out there such as MS Money, Moneydance, Quicken, GNU Cash etc. Unfortunately all of these lacked some essential feature (such as auto-categorisation), were too difficult to use or too expensive.

So I started looking into writing my own application with the features I wanted. This would have a line chart showing my overall balance over time, a pie chart showing the breakdown of my expenses into categorisation. And of course transactions would be loaded and automatically cateogrised with the minimum level of fuss. On this point I wrote an application that automatically logs into my online bank account and downloads my statement in csv format. While I eventually got this working (not a trivial task) I realised it was too clunky and fragile as it’s likely that my bank will change their online interface at some point in the future.

Next I looked into downloading transactions from my bank via the OFX protocol. This is the protocol that lots of banks use to allow software the ability to download transaction information and also potentially execute transfers. It was not easy to find the information I needed to connect to my bank (Nationwide) via OFX as the bank’s details are not officially published. Microsoft use these details when connecting to Nationwide with MS Money. I had to do quite a bit of digging until I found a link on a newsgroup to a file hosted by Microsoft containing the necessary details for connecting to Nationwide’s OFX server. Armed with this I posted the details to a thread on the Moneydance forums. That was 7 months ago and Moneydance have still done nothing about using my information to add support for Nationwide despite a lot of requests from other forum users.

I moved on from the downloading transactions part of my application to the application itself. I figured it would still be useful even if I had to occasionally download transactions manually. Here’s what I came up with:

I even came up with a decent categoriser dialog:

With the application itself shaping up I went back to the transaction download problem. This time I found a nice snippet of Python code for connecting to a server via OFX. I translated this to a Java application that could download a list of my accounts from Nationwide, then download a list of transactions within a certain date period from a given account. This program is available for download here.

Now that I had the ability to download OFX statements from my bank, I looked into the other management services I initially dismissed because I could only import data via OFX. Wesabe was one of these so I tried creating a new account but lo and behold, they now suddenly support Nationwide for automatic uploads. This means they do the whole OFX download themselves automatically. This was great as now I don’t need any manual process at all to see my transactions nicely split into categories. The funny thing was, support was added the same day that I finished making the OFX downloader and this was thanks to my initial investigative work into the Nationwide OFX server details. Someone had picked up on my post in the Moneydance thread, given the details to Wesabe, who within just 9 days integrated support for Nationwide into their application. So great work guys, you well exceeded my expectations and I’m glad I could help other fellow Nationwide users.

Now that little saga is over, onto the real issue of the software itself. The great thing about Wesabe is that I can view and manage my transactions from anywhere. This means I can log on while at work and enter what I spent in cash for lunch. The bad thing about Wesabe is that it doesn’t give a breakdown your expenses as a pie chart and it doesn’t present your overall balance as a line chart.

To rectify this I’ve chosen to abandon my Money Monitor program and try to go in a slightly different direction. I’ve always wanted to learn .NET programming so my next project will be to create a ASP.NET application that connects to Wesabe via the Wesabe API. Downloads transaction data and displays it all in nice pretty graphs. Stay tuned for updates!

One Response to “Money Management”

Hey, glad that Wesabe is working for you (I’m the CEO). We do have a pie and line chart very similar to what you have above, in final testing right now. If you email me (marc@wesabe.com) your Wesabe username I’d be happy to turn the charts on for you as a tester. They’re not perfect yet but they’re quite nice.

Also, if you need anything added to the Wesabe API to support your projects, please let me know.

Cheers.

Something to say?