That's a really important skill to have -- the ability to assess social skills as well as technical prowess.
I find trello pretty effective for daily goals. In terms of a mature bug tracking system, I'm a fan of phabricator. For invoicing, we use envois (https://github.com/lambdal/envois).
Agreed, communication and expectation alignment are critical components of avoiding "never-ending contract syndrome"