Yes, there are a variety of possible ways to do this. Single use, expiration, new customer only coupons are all potential options. You just need to store and match up the appropriate information in the database you want to use to determine the coupon eligibility, then create a recordset to tell you if it is valid or not and use that to set a session variable. Then that session variable can control the appropriate amount to charge.