Jump to content
Craft

Discount for the first term only

Recommended Posts

I would like to offer my customers a discount for hosting plans for the first term only then renews at another rate (fixed for all the terms).

Example: ( 6 months term: $4.99 for the first time per month then renews at $6.99), (12 months term: $3.99 for the first time per month then renews at $6.99)

I don't want to do it with coupon code, I need it to be automatic in the system if possible, because I don't want to ask my customers to use this coupon code (***) to get this discount!

And if I was forced to use a coupon code to be applied for the order once (first time), then I should set the price ($6.99) for all the terms (1 - 3 - 6 -12 months) for renewals, then the customers will see this screenshot at the Cart "Configure" step before seeing the discount at "Checkout" step.

 

Configure Cart.png

Share this post


Link to post
Share on other sites
12 hours ago, Craft said:

Example: ( 6 months term: $4.99 for the first time per month then renews at $6.99), (12 months term: $3.99 for the first time per month then renews at $6.99)

a 6 months cycle will be charged twice a year, not per month (though I can see you have monthly pricing enabled) - so I assume you're just taking $2 off the semi cycle, $3 off the annual cycle etc...

12 hours ago, Craft said:

I don't want to do it with coupon code, I need it to be automatic in the system if possible, because I don't want to ask my customers to use this coupon code (***) to get this discount!

you could add the promo code in the product links so that the client never needs to enter them manually...

https://docs.whmcs.com/Promotions#Promotion_Links

... but in your scenario I don't think that would work as you would need a promo code for each discounted cycle - unless you could make it a consistent percentage discount between the billing cycles and just use one code for all cycles.

12 hours ago, Craft said:

And if I was forced to use a coupon code to be applied for the order once (first time), then I should set the price ($6.99) for all the terms (1 - 3 - 6 -12 months) for renewals, then the customers will see this screenshot at the Cart "Configure" step before seeing the discount at "Checkout" step.

i'm not sure if you're saying that looks ok or not. 🙂

one possible solution might be to use negative setup fees - as you will already know, setup fees are only charged on the first cycle, and so a negative fee would effectively be a discount... the first cycle would be discounted using a -2.00 setup fee; every recurring invoice after that would be charged at $6.99 (monthly rate).

6v9aJs0.pngIXBoLPF.png

sadly, you can't add negative setup fees to products via the admin area - you could add them directly to the tblpricing database table, but the admin product pricing page would almost certainly remove them if you ever edited the product.

the other way to add them would be via an OrderProductPricingOverride hook - though any hook solution might require additional hooks if you need to check whether the client has used this discount before... and there could be multiple additional factors that could make this a complicated direction to head down.

one cosmetic tweak you could make would be to rename Setup Fees to Discounts (or whatever) - as a negative setup fee would look confusing... if you were already using positive (normal!) setup fees with other products, then you'd probably be looking at editing templates with conditional statements rather than using Language Overrides to change this text...

Y8uTisT.png

also, an override hook wouldn't change the billing cycle menu and that would still show the full amount (editing the database table would though)...

B9Hf0rU.png

of course, all these things can be fixed if you really want to put the effort in - but using promotion codes would be the native way to do this and if you could find a discount solution that allowed you to use them, it might be preferable. 😅

Share this post


Link to post
Share on other sites
2 hours ago, brian! said:

a 6 months cycle will be charged twice a year, not per month (though I can see you have monthly pricing enabled) - so I assume you're just taking $2 off the semi cycle, $3 off the annual cycle etc...

you could add the promo code in the product links so that the client never needs to enter them manually...

https://docs.whmcs.com/Promotions#Promotion_Links

... but in your scenario I don't think that would work as you would need a promo code for each discounted cycle - unless you could make it a consistent percentage discount between the billing cycles and just use one code for all cycles.

i'm not sure if you're saying that looks ok or not. 🙂

one possible solution might be to use negative setup fees - as you will already know, setup fees are only charged on the first cycle, and so a negative fee would effectively be a discount... the first cycle would be discounted using a -2.00 setup fee; every recurring invoice after that would be charged at $6.99 (monthly rate).

6v9aJs0.pngIXBoLPF.png

sadly, you can't add negative setup fees to products via the admin area - you could add them directly to the tblpricing database table, but the admin product pricing page would almost certainly remove them if you ever edited the product.

the other way to add them would be via an OrderProductPricingOverride hook - though any hook solution might require additional hooks if you need to check whether the client has used this discount before... and there could be multiple additional factors that could make this a complicated direction to head down.

one cosmetic tweak you could make would be to rename Setup Fees to Discounts (or whatever) - as a negative setup fee would look confusing... if you were already using positive (normal!) setup fees with other products, then you'd probably be looking at editing templates with conditional statements rather than using Language Overrides to change this text...

Y8uTisT.png

also, an override hook wouldn't change the billing cycle menu and that would still show the full amount (editing the database table would though)...

B9Hf0rU.png

of course, all these things can be fixed if you really want to put the effort in - but using promotion codes would be the native way to do this and if you could find a discount solution that allowed you to use them, it might be preferable. 😅

I solved it with an easier way :)

I will use promocode in the product links, so:

I will create a separate promocode for all my terms for each plan and the customer will choose the term from the beginning (from my website which is not related to whmcs), then I will redirect him with the product link with the specific promocode regarding to his selected term.
Also I should use "&skipconfig=1" to not open the "Configure" page to the customer and use "&billingcycle=annually" to redirect him to the checkout page direct.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

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