Hello, I am using InvoiceNinja billing system, looks on features here https://www.invoiceninja.com/invoicing-payment-features/ and it is opensource and can be self-hosted https://www.invoiceninja.org
I can write connector between OpenNebula and InvoiceNinja, so we don’t need to reinvent wheel, but just connect this two softwwares.