Hi guys,

So I have been scouting the internet over the past couple of months in a search to find "the perfect online project management solution", but due to, and I cannot blame this on anything else, being spoilt for choice, it's almost impossible to find a solution which covers all the basic requirements and is still cost effective.

In short, we're a small agency who cannot really afford to pay thousands per month for a solution. We're more development based, but do design as well for clients, so our requirements is as follows:

REQUIRED:
Project management with sub "categories"
Can do time tracking
Work out hourly times (to see if a project is profitable or not)
Have multiple projects, preferabbly unlimited open projects
Reporting on times
Unlimited users
To-dos, not part of a project, but something to manage daily tasks not neccesarily relating to projects
Around $20 - $40 per month (or free :P )
CRM solution to manage clients, contacts ect

NICE TO HAVE:
Automatic invoicing
Subversion and issue tracking built in (we use subversion for our version control)
Client access (so that clients can at all times see where we are with a project
Documents and discussions - This is something I see everyone offers, but most of our clients still use emails and I find it easier to manage clients via email
iPhone and Android app
We dont mind if it's a hosted solution or not.

I have been looking at 2 which is almost what we need, one being Mavenlink, a cloud solution on Google, and another myintervals, but both these solutions does not offer a "to-do" list, and it's already something we really need. I looked at basecamp but it lacks most of the features above (like time tracking only available as a seperate (Again, have to pay) plugin).

Does anyone know of a solution as mentioned above which wont cost us an arm and a leg?