Jump to content
  • 0

Can WHMCS be customised to fit our billing requirements?


halie76

Question

We're currently testing WHMCS to migrate our existing VPN service business. We sell access to the service in blocks of time, 1,3,6,12 months (no auto-recurring subscriptions). At the end of the period an email is sent to the customer welcoming them to purchase further time. If they purchase another block their account is extended.

 

E.g. Customer purchases 3 months on 1st March, expires 1st June. Customer lets account expire and 3 weeks later on 22 June signs in a purchases another 6 month block. This would reactivate the service and move the account expiry to 22 December.

 

Can WHMCS be customised in some way to support this type of billing? We've experimented with 'one-time' and 'recurring' options but they don't support our model. i.e. one-time accounts don't have a concept of a next due date or expiry date (everything is calculated based on a fixed registration date).

 

Any advice would be fantastic :) We're keen to join the whmcs family!

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Probably can be.

 

What status should the service be if they don't pay? Do you want to suspend the service for a set number of days or simply terminate their account?

 

If a customer ordered on the 1st June, they can already select the billing cycle. Then depending on how your system should act in the event a customer doesn't pay the service can be terminated, you can then have a message if they have 0 products stating they need to create a new subscription as they don't have an active one so they can re-order enabling them to choose a new billing cycle etc etc.

 

Emails going out can be customized so adjust the service termination email to say something like you've suspended their access and if they want they can create a new order $link to order.

 

You can also modify the service upgrade page to say Change billing cycle or something so if they want to change the cycle they can do so without it actually seeming like an upgrade.

Link to comment
Share on other sites

  • 0

Short answer: absolutely yes but maybe not with vanilla WHMCS

 

I'm using the same exact approach for a particular product on my new WHMCS (still working on it :(). Every client always has a single product. It doesn't matter how many times they let it expires. As soon as they renew or order it I simply perform the appropriate function accordingly updating dates, recurring cycle etc. on the fly. It's just an hook-job. Basically you could also bill your client on their birth date or only on prime numbers from 1 to 365. You can do everything with WHMCS*.

 

*Requires customization

Edited by Kian
Link to comment
Share on other sites

  • 0
Probably can be.

 

What status should the service be if they don't pay? Do you want to suspend the service for a set number of days or simply terminate their account?

 

Hi Alex, thanks for your help! If they don't pay the service account should be either suspended indefinitely until they do pay or terminated (as long as the data to recreate the service credentials in tblhosting is still available so if they do pay in the future we can reactivate the service account with the same credentials).

 

If a customer ordered on the 1st June, they can already select the billing cycle. Then depending on how your system should act in the event a customer doesn't pay the service can be terminated, you can then have a message if they have 0 products stating they need to create a new subscription as they don't have an active one so they can re-order enabling them to choose a new billing cycle etc etc.

 

A billing cycle implies to me that they will be invoiced again before the next due date. We don't want to do that. They buy a block of time and when that expires they can purchase another block of time (if they purchase the block before their account expires then its added to the current expiry date. We need it so that when they reorder another block of time it updates the current service account instead of creating a new service account.

Link to comment
Share on other sites

  • 0
Short answer: absolutely yes but maybe not with vanilla WHMCS

 

I'm using the same exact approach for a particular product on my new WHMCS (still working on it :(). Every client always has a single product. It doesn't matter how many times they let it expires. As soon as they renew or order it I simply perform the appropriate function accordingly updating dates, recurring cycle etc. on the fly. It's just an hook-job. Basically you could also bill your client on their birth date or only on prime numbers from 1 to 365. You can do everything with WHMCS.

 

That sounds very similar to what we'd like to do. In most cases every customer should only have a single product/service. Could you share the hook code that you've written? We'd be happy to contribute in whatever way would help.

 

- - - Updated - - -

 

A cron-job to set 'auto-terminate at end of cycle' on the VPN products, and/or set them up as recurr-once products - both methods should just work out-of-the-box

 

 

Thanks Rob. I don't understand why that would work. If you could expand a little on what you are suggesting I'd really appreciate it. To make it clear what we're trying to achieve please see the table below that shows the order/repurchase flow.

 

[table=width: 500]

[tr]

[td]Date[/td]

[td]Customer action[/td]

[td]WHMCS[/td]

[td]Expiry date[/td]

[/tr]

[tr]

[td]01-Jun-14[/td]

[td]Customer signs up for 3 months[/td]

[td]New order + invoice[/td]

[td][/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]on receive payment, mark invoice paid[/td]

[td][/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]run module create[/td]

[td]01-Sep-14[/td]

[/tr]

[tr]

[td]25-Aug-14[/td]

[td]Send advance expiry email with link to purchase[/td]

[td][/td]

[td][/td]

[/tr]

[tr]

[td]26-Aug-14[/td]

[td]Customers signs in and purchases 6 months[/td]

[td]Generate new invoice[/td]

[td][/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]On receive payment mark invoice paid[/td]

[td][/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]Add 6 months (180 days)[/td]

[td]01-Mar-15[/td]

[/tr]

[tr]

[td]26-Mar-15[/td]

[td]Send advance expiry email with link to purchase[/td]

[td][/td]

[td][/td]

[/tr]

[tr]

[td]01-Mar-15[/td]

[td]Account expires[/td]

[td]Suspend account[/td]

[td]N/A[/td]

[/tr]

[tr]

[td]17-Apr-15[/td]

[td]Customers signs in and purchases 1 month[/td]

[td]Generate new invoice[/td]

[td][/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]On receive payment mark invoice paid[/td]

[td][/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]Add one month (30 days)[/td]

[td]17-May-15[/td]

[/tr]

[tr]

[td][/td]

[td][/td]

[td]Unsuspend account[/td]

[td][/td]

[/tr]

[/table]

Link to comment
Share on other sites

  • 0

Once a service has been terminated the credentials all stay the same (they're saved in the admin area with the status being terminated).

 

However, you CAN suspend a service and disable the termination part of things so services will remain suspended, once paid re-activated. I probably would recommend a clean up though to prevent your services being filled with suspended services (terminate accounts inactive for 6 months or so etc etc.)

Link to comment
Share on other sites

  • 0
Short answer: absolutely yes but maybe not with vanilla WHMCS

 

I'm using the same exact approach for a particular product on my new WHMCS (still working on it :(). Every client always has a single product. It doesn't matter how many times they let it expires. As soon as they renew or order it I simply perform the appropriate function accordingly updating dates, recurring cycle etc. on the fly. It's just an hook-job. Basically you could also bill your client on their birth date or only on prime numbers from 1 to 365. You can do everything with WHMCS*.

 

*Requires customization

 

Hey, I don't seem to be able to send PM's. Would you mind sharing this script with us, we'd be happy to contribute to it in whatever way would help most.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated