Manager is free for desktop / paid for cloud https://manager.io It has all the things you need, and the interface is pretty good.
I'm a bit concerned that it stores attachments (receipts, invoices, etc) as blobs in its SQLite database, but users on its forum [1] seem to keep large databases without any problem.
Since it's one SQLite file per business, it's also easy to automate file backups on my end.