Is there a way to expire virtual servers?

I need to have Virtualmin expire users who haven’t paid to renew an account with me. Having it send me and the user an email would be nice too.

Hey Howard,

I believe this is probably best handled by your billing system. It knows when the users bills are overdue, and such…Virtualmin doesn’t.

If your billing system isn’t integrated with Virtualmin, let’em know that we’re happy to help them add support. We’ve got an easy to use API that’s accessible from Perl, shell, and HTTP calls, and we’re very eager to see billing systems talk to our software.

And, if you don’t have a billing system, it might be time to start looking for one. There are a few free and Open Source ones out there, a couple of which are making efforts to support Virtualmin. Though I don’t think there is a complete solution at this time, you might be able to take the best of the OSS options, probably Freeside, and add a few pre/post commands to make it call out to Virtualmin to do the work.

Even if you’re just using an accounting system for your billing, I bet some kind of automation could be scripted up pretty quickly–bring up the details and we’ll try to help with some pointers. With SQL-Ledger (the only accounting system I know), for example, you could poll the status of recurring invoices directly in the database, and then send out appropriate commands to Virtualmin.

All of that said, and with the caveat that I think all billing functions probably ought to live on a billing system, adding a subscription dates field to the Virtualmin account data would be possible. I’ll have to ask Jamie if it’s terribly painful to add, or difficult to make wholly harmless if a real billing system is being used (we wouldn’t want it to expire an account if a billing system forgets to tell us the account is paid up–which would occur with current billing systems if we enabled such an option by default).