I've been thinking about starting a webhosting company for awhile, but have run into one road block: how do I manage and bill customers in a efficient manner that would allow me time to support my customers rather than spending all of my free time billing them. I found billing systems that were outrageiously priced... and I found control panels, but have yet to find a complete management system. I also noticed that every billing system was geared towards ISPs rather than IPPs.
I started writing a customer management system about a year ago. The way my system works is that there is a main database server (MySQL or MSSQL 2000 at this point, maybe PgSQL in the future) accessible by the hosting servers (unix based) and a billing machine (windows based). All customer account info is stored in the DB server (except CC numbers, which are stored on the billing machine).
Here is the current feature list... please let me know if there are any features that you think should be in a billing system geared towards hosts:
- Users can signup via php script on the webserver.
- CC can either be autorized and checked with AVS and the location of their IP and granted access based on results... or CC number can be stored until verified by a human.
- Telnet access can be disabled until CC is verified.
- Edit email address, aliases, autoresponders and mailling lists (supports qmail, vpopmail, qpopper)
- Allows customers to view their billing history and current invoice amounts.
- Customers can submit cusotmer account info changes, which are sent to an admin
- can request a package change
- Windows based software
- Support Verisign PayFlow and Authorize.net at the moment
- When you generate invoices you have option of exporting them in a csv file or using the internal billing mechanism.
- Can be configured to send a message automatically when CC is declined
- Users can be placed on hold if payment is not recieved within X number of days
- Products can be flagged as taxable (and each product can either use global tax rates, or can be specified for individual products)
- Packages are independent of the billing cycle. For example: if you wanted to offer annual, quarterly and monthly options for standard hosting, you only have to add one record fo the package description. Then you add three service cycle options. Each service cycle option has it's only price (including a setup charge if desired).
- Customers can be placed automatically (via round robin or based on current number of customers on a server) on differnet servers based on your criteria.
- Account creation, deletion and suspension functions are scripts that can be modified to suit your servers. Scripts can be executed either via rsh or telnet.
- Users can submit support tickets via control panel or via support section of website (in case they are having trouble logging in to the panel)
- Users can also send email to a pop account, which can be imported into the support system. A tech has to look at the messages and decide if they should be given ticket numbers. If there is a [CASE#xxxxx-xxx] located anywhere in the message, it is automatically added to that case.
- Users can be automatically notified via email when their case has been updated, which can include the tech response.
- Cases can be automatically escalated if the ticket has been open for a certain time period (can range from hours to days) Admin or supervisor can be emailed if a case remains open but nobody has touched it after a certain time period.
- Techs can respond with answers from a knowledge base.
This is only the current feature list. I'm still working on adding other features. Since I hope to eventually offer dedicated servers and colocation, I've decided to work on a quote system which is completely configurable. I'm also working on the details of adding reseller functions.
I'm currently waiting for my Quickbooks developer kit so that the system can export billing reports to QuickBooks.
I currently am developing the server side software on a Sun Netra X1, but I will make sure that it works on RedHat and Slackware (the two distributions I like). The control panel and signup scripts are mostly PHP4 with some Perl added in for flavor :-)
I would love to hear what features you think should be added... since you guys (and gals) are the ones currently in the business. I've tried to add everything that I felt I would need when I enter the hosting market.
I hope to have it ready for general beta testing in July. I haven't decided how much to charge... but I do know I want to make it affordable and have no per user fees.