This is going to sound like a crazy option, but if you want to do it on the cheap, you could set up a WordPress site with WooCommerce and subscriptions. In this environment, you set a customer up as a subscription and it automatically debit's your customer's credit card monthly. You don't have to do anything once it is setup. Is it the most flexible solution if your charges change from month to month? No. About now 1000 people are cringing at the idea. But this would probably be the cheapest solution short of free.
The other side of this coin is how do you automatically collect information about each client's 3CX server? For example, you may bill by the number of extensions, or the size of the 3CX license, or the amount of hard disk consumed by recordings, etc. As the number of 3CX servers you host increases, collecting this information monthly will become unmanageable if you have to login to each server and collect the needed information. You may want to consider our
3CX Hosted Billing tool. This tool collects all the information you need to bill your customer. But to be clear, this is not an invoicing program (yet) rather it simply collects the information you need to input into your billing system.
We are also adding server monitoring into this tool, so you can see in real-time what your servers are doing (CPU utilization, disk utilization, services status, and much more). This tool will eventually evolve into a complete billing platform (hence the name), as well as a server monitoring platform. But we are just getting started so it will take some time to fully implement our vision for the tool. If you have ideas of what you think this system should do, feel free to let us know. Today, the tool costs $2 per server per month and I don't see that price changing much as we extend the capabilities.