To effectively modify how WHMCS calculates the price for upgrades and downgrades, especially in light of the issue you mentioned (related to changing billing cycles), it would be crucial to have access to additional parameters in the OrderProductUpgradeOverride hook. Specifically, the inclusion of parameters like oldproductbillingcycle and oldprice would allow for more accurate and flexible calculations.
https://tinyfishing.world