Craft Posted February 1 Share Posted February 1 Hi guys, I know that this issue is a very old issue/bug, but I'm asking if there is an update or a solution for it or not. I sell a service for $10 per year or $27 for 3 years. After the customer purchased the yearly plan and paid the $10, he wants to upgrade to the 3-year plan and pay the difference of $17. But as you see in the attached screenshot the system is showing him that he needs to pay "-$1.01" instead of $17, which means he will get 2 more years and get a refund of $1. 0 Quote Link to comment Share on other sites More sharing options...
DennisHermannsen Posted February 2 Share Posted February 2 It's not a bug. It's a design choice. If the prices where the same per month (like 30USD for 3 years), the customer shouldn't be charged anything. They would only be changing their next billing cycle. They have paid for a year already, and that won't change. By the next time they're being invoiced, they will be billed 30USD for three years. Now, in your example, the monthly pricing is cheaper if you select a longer billing cycle - and that's why the customer is refunded some money. If you¨re only going to change the billing cycle, you should not use the up- or downgrade feature. Just change the billing cycle and price. 0 Quote Link to comment Share on other sites More sharing options...
Craft Posted February 2 Author Share Posted February 2 4 minutes ago, DennisHermannsen said: It's not a bug. It's a design choice. If the prices where the same per month (like 30USD for 3 years), the customer shouldn't be charged anything. They would only be changing their next billing cycle. They have paid for a year already, and that won't change. By the next time they're being invoiced, they will be billed 30USD for three years. Now, in your example, the monthly pricing is cheaper if you select a longer billing cycle - and that's why the customer is refunded some money. If you¨re only going to change the billing cycle, you should not use the up- or downgrade feature. Just change the billing cycle and price. I don't want to do that manually, I need the customer to change his billing cycle and pay the difference from his client area automatically. As long as changing the billing cycle is an option that appears on the Upgrade/Downgrade window, then the customer can use and the module should do the correct calculation. 0 Quote Link to comment Share on other sites More sharing options...
DennisHermannsen Posted February 2 Share Posted February 2 There's no way to fix it in WHMCS. It sucks, but it's the way they designed the upgrade price calculation. You can use the following hook event to implement your own logic to the price calculations: https://developers.whmcs.com/hooks-reference/shopping-cart/#orderproductupgradeoverride 0 Quote Link to comment Share on other sites More sharing options...
Craft Posted February 2 Author Share Posted February 2 1 hour ago, DennisHermannsen said: There's no way to fix it in WHMCS. It sucks, but it's the way they designed the upgrade price calculation. You can use the following hook event to implement your own logic to the price calculations: https://developers.whmcs.com/hooks-reference/shopping-cart/#orderproductupgradeoverride Thanks for providing this link, but I need someone to implement it for me because I'm unfamiliar with it. 0 Quote Link to comment Share on other sites More sharing options...
henryksmith80 Posted February 10 Share Posted February 10 On 2/1/2025 at 5:34 AM, Craft said: Hi guys, I know that this issue is a very old issue/bug, but I'm asking if there is an update or a solution for it or not. I sell a service for $10 per year or $27 for 3 years. After the customer purchased the yearly plan and paid the $10, he wants to upgrade to the 3-year plan and pay the difference of $17. But as you see in the attached screenshot the system is showing him that he needs to pay "-$1.01" instead of $17, which means he will get 2 more years and get a refund of $1. This is typically caused by prorated billing or credit calculations within the system; the most reliable workaround is to either adjust or disable prorating for upgrades, or create a manual invoice reflecting the correct difference. If you’re still on an older version, updating to the latest release and confirming your upgrade settings can often resolve this known bug. 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.