Currently if a client wishes to cancel a product addon there's no option to do so other than create a support ticket.
It would be great if customers could do this themselves and it would submit as a cancelation request in the same way that it occurs for regular products. Upon submission the actions completed would be identical to that of a regular product:
1. If an existing renewal invoice has this item on it, that line item would be removed. If it's the only line item, the invoice is canceled
2. If it's an immediate cancelation selected, termination function would run for module
3. If cancelation upon renewal, termination is run upon renewal and no invoices are generated
This was requested in the forums in September 2015 here: https://whmcs.community/topic/246545-no-way-a-client-can-cancel-an-addon/