Radical Hacks :

Bonnie of Scottcrewcandlesupply.com sent in the following hack...

I have done this. I actually have 2 different types of discounts. One for special member groups and one for strictly coupon codes.

This is how I did it, these are all done in the setup file:

1. I added the extra order form fields in the setup file

2. Added the following discout related fields:  @sc_order_form_discount_related_fields =
    ("21-referred_by","49-coupon_code");

3. Discount Logic: (the first one is based on the referred_by field, the 2nd is based on the coupon_code. you can also use either a straight amount or a percentage.)
    @sc_discount_logic=
    ("GelCandleStuff1|||1-||10%",
     "|enid2005||1-||15.00");

Then you should be good to go. You don't have to use both, but I thought it might be good to show that you can base your discounts on several fields.