I understand your pain, but this is very country dependent.

For example, most of what you describe can be solved using Xero in Australia.