Why not use ledger as a backend, it's free and opensource and can also be hosted on whatever cloud you want and encrypted.
For this project I'd argue that you need to host it yourself, you don't get powerful visualisation (charts for monthly breakdowns) and extensions (like GoogleFinance for currency conversions).
From a privacy perspective – it'd be a better choice but you are responsible for securing your server.