I have been using Odoo for years to generate invoices for my little IT business. I don’t use any features that cost money. I am working a web store for my wife and have been playing with erpnext. It is written in Python / Javascript and can be installed on your own servers. I has a lot of features that cost in Odoo but are free and looks like it is easer to modify.
This is really nice and runs on your desktop.
https://frappebooks.com