Buying your software is such an important part of the process. Your clients should NOT be a learning curve for you to learn your software, that said it's a good idea to have this in place before you get a client. On top of that you should demo VARIOUS ones and in order to do that you need to have a good understanding of this business so you can look for certain needed features in software, you can't assume one size fits all and you can't go by "Bells and whistles" and a pretty interface.
There are literally hundreds of things you have to look for in a good PM Software, this can't be an overnight decision. IMHO