GNUCash is one of the best opensource programs I have ever used, that is to say that it actually does what it says on the box without any fiddling! and its completely free. You can manage your clients, jobs, accounts and invoices right from this one package.
Now that you have your books setup you need a way to track the hours you spend on a project so that you can accurately bill your clients…. Toggl is by far the best app I have found to do this, sign up is free and best of all it acts as a web-service so that the little application you download to track your hours automatically syncs with the website allowing you to track your hours wherever you have access to an internet connection, it even can be set to learn what applications you use on a given project giving it the ability to automatically log the hours for different projects without having to press any buttons:D