I understand your pain, but this is very country dependent.
For example, most of what you describe can be solved using Xero in Australia.