limevps Posted April 21, 2012 Share Posted April 21, 2012 I'm wondering if this is possible, it's for provisioning both Linux and Windows shared hosting accounts. I'll assume it's Linux only to start with. Essentially the customer would be required to top-up his account with a minimum value, say £10. The top-ups would be VATable, for reasons I'll explain in a minute. At time of the account being set-up, the £10 (less the VAT) would be transferred to the customer's balance. The product would be provisioned, with the client able to specify the maximum disc space and bandwidth they wished their account to have - these would be the values entered into their cPanel account stats. The system would then, at x minute intervals, calculate the disk and bandwidth used, and apply the charge for that usage against the client's balance. Once the client's balance reaches a certain level it would warn the user, because suspension will occur at nil balance. The system would obviously have to keep credit for these services well separate from "general" account credit, because if the client put through an order for a domain name, the system might reduce the client's PAYG balance by the value of that invoice, and suspend it. The client should also be able to view stats about their usage on daily/monthly/annual basis and able to view their expected charges based on extrapolating current charge levels. So that's about it. Client's can join and leave whenever they want (although they would lose any remaining credit if they chose to leave, otherwise they could join for £10, leave with £9.99 and I'd end up paying loads of processing fees for the sake of 1p). I can see that the underlying provisioning can very likely be done by the current cpanel built in module, it probably just needs an overlay to handle the billing technicalities and customer balance monitoring. I'm obviously like to hear from anyone who thinks they could assist with this project! 0 Quote Link to comment Share on other sites More sharing options...
limevps Posted April 22, 2012 Author Share Posted April 22, 2012 I forgot to mention the VAT thing, in essence it's because the charging method would run into fractions of a penny and calculating VAT on that would be an admin mightmare, so it's bes tto charge VAT on the lump sum deposits. 0 Quote Link to comment Share on other sites More sharing options...
m8internet Posted April 22, 2012 Share Posted April 22, 2012 (edited) Could you please advise what external server system you are using (example WHM / cPanel) If WHMCS is updated with disk and bandwidth used at x minute intervals, why would the customer need to be advised at daily/monthly/annual intervals? I tried updating WHMCS with bandwidth usage throughout one day, but this also resent out due invoices, notices, etc Obviously this can be updated or split, however there was little benefit The live data remains visible in the customers external Control Panel (example cPanel) For invoicing purposes this is created in arrears, WHMCS imports the end point from the previous day and then creates an invoice if appropriate If the cron was running throughout the day, then it would create invoices each and every time, and that would be a nightmare! On the plus side, and this is how WHM operates (so not sure about other server systems), the customer receives advance warnings when they are nearing their account limits and a final notice when they have exceeded them Obviously WHMCS doesn't pick that up until the following day, but iif they have exceeded their bandwidth then you can set WHMCS to suspend the account (when this notice is sent out) and the customer simply logs into their account and makes a purchase That is what I do and it works very well As for specific products being VAT and VAT free, that is easily processed as these are setup specific to each product However I don't see any benefit in that, in order to avoid the 1p exclusion on account closure Instead set WHMCS to refuse automatic refunds, that is what I have setup If a customer wants a refund they have to contact you and you process it manually See : http://forum.whmcs.com/showthread.php?t=44637 Edited April 22, 2012 by m8internet 0 Quote Link to comment Share on other sites More sharing options...
limevps Posted April 22, 2012 Author Share Posted April 22, 2012 I think I've failed to explain myself well enough! The idea is that the customer is paying for hosting in 5 minute blocks. Therefore they'll be charged a pro-rata charge every 5 minutes for the disk space they use, and the bandwidth they use. The very short span is because the model means that if your disk space changes, you'll only be paying for a very short time for that usage, if you wiped your site down to zero then after no more than 5 minutes your running charge would go down to nil. Now, the issue is that the annual charge for 1Mb would be something like 3p - so if you divide that by 365, then by 24 then by 12 to get the charge for a 5 minute block, it's so stupidly small that it's not feasible to raise a tax invoice. So the answer is this Customer "tops up" £10. At this point you account for VAT, because you'll give the customer an invoice. When their usage is charged every 5 mins, this will not produce an invoice, it'll just produce an internal charge which will reduce their available balance. This is exactly what PAYG mobiles do - the operator doesn't account for VAT on every text or call, they sort the tax out at point of payment and then simply reduces your balance by an appropriate amount every time you use the service. So - what I need a system to do is poll WHM every 5 mins to get usage stats, which can then generate a charge and reduce the client's balance. The monthly/annual stuff - that was basically just an extrapolation of their current usage to show them what they'd be expecting to pay over a month or year based on current patterns, and also so they could review previous months to see how much they paid and what for. The problem with polling WHM once a day is that if the account is polled at the split second that the customer's disk space doubled for a fraction of a second, they'd be charged that higher amount for the whole day. It looks like I have three options 1. give up 2. change the model to be one of paying for blocks of disk space (easily done as a configurable option that can be manually upgraded and downgraded by the customer) and then simply change bandwidth purely to be on overage charges - the issue is that a customer could build up a massive bandwidth bill then just not pay it - the idea of PAYG is that the customer must pay up front. 3. get something custom written, which would be a shame because the current cPanel provisioning model is probably 90% of the way there but can't be used as a base due to it being encoded. A client would be free to provision their account and then delete it an hour later, but I'd not want to refund them because the deal would be that once you've topped up your account it's totally non-refundable and if you delete your account you lose the credit. 0 Quote Link to comment Share on other sites More sharing options...
m8internet Posted April 22, 2012 Share Posted April 22, 2012 I suspect you have a flawed business plan there... Processing 5 minute blocks is not really practical Equally, monitoring all your accounts may put unneccesary load on your server (spend more time monitoring than content) With respect to disk space The customer is paying for a fixed amount If they vary this, so be it If they exceed this, the server simply prevents them exceeding this Applying PAYG rules to this is almost impossible With respect to bandwidth The customer is paying on a PAYG basis already The customer can then upgrade or PAYG for the excess (alternatively suspended until pre-payment) Coming back to disk space Why would a customer have such volatile content? Most of my customers upload a specific amount, and it rarely varies The only item that varies beyond that is the email content (same limit rules) One exception to this are websites that use a cache and the files are temporarily stored (such as ecommerce websites), my advice to such customers is to simply delete old content on a regular basis (such as once every two weeks) 0 Quote Link to comment Share on other sites More sharing options...
limevps Posted April 23, 2012 Author Share Posted April 23, 2012 Volatile maybe not, but what if they want to scale up? What if the first package offered by a host is 100Mb and the next one up is 500Mb, but the client only wants 150Mb? You're forcing them to pay for empty space *AND* as a good host you won't oversell therefore you've lost the chance to bill someone else for that 350Mb. Indeed with emails, my point is that the business model just scales up disk usage with actual usage, not by what the host offers AND the client doesn't need to actually do anything with regards upgrading (which probably also means paying for more bandwidth which they might not use or want). The business model is not flawed at all, it is a very simple approach that just needs a technical solution IMHO. And bandwidth isn't fully PAYG the client isn't paying "as they go" they're paying at the end of the month when the bill is raised. "With respect to disk space The customer is paying for a fixed amount " That's how things are done in the business at the moment yes. Does that mean it's the future? No. 0 Quote Link to comment Share on other sites More sharing options...
m8internet Posted April 23, 2012 Share Posted April 23, 2012 what if they want to scale up? What if the first package offered by a host is 100Mb and the next one up is 500Mb, but the client only wants 150Mb? That's what I do, 100MB units up to 1000MB The customer has paid for 500MB (in your example), so is entitled to use up to that limit If the customer does not use their allocation, then that is their loss The same applies to pretty much any other PAYG service; I buy three broadband for 24 hours, but typically only use 8 hours of it 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.