there is an addon module available for this in the whmcs addons area, i forget its name exactly but its something about coupons. I used it for a while.

Basically you set up the promotions and who can use them. you will have to check it is suitable for your version though.