• First, didn't know MySQL cost, thought it was "free" from Oracle.
    Second, you are asking for a lot of a forum where almost everyone works for free (our time).
    So, let me ask a few questions.  Would you consider your data structured, semi-structured, or unstructured?  Yes, using terminology you may not be familiar with, heck I had to think hard to provide my daughter with some examples of these when she asked me this question trying to grasp what she was learning in her database class in college.  Most because I work with mostly structured (if forced) data.
    Think about the objects you specified, some of them are structured (customer information, invoices) some are unstructured (contracts for example).

    I could see a couple of databases being used here.  SQL Server for structured data, MongoDB or CouchDB for unstructured data.  You might even get away with SQL Server for both as you could save documents in FileTables.  There is so much you need to consider, you may actually need to hire a consultant to help you flesh out the requirements and help guide you in selecting the best technologies for your project(s).

    Looking at the latter information in your post about collaboration, that really isn't something a database would do.  Think GoToMeeting and similar products and services for some of this.