I'm a geek, and have done many useful and interesting things with databases for a whole host of tasks, and I would strongly encourage everyone to learn to work with and configure a basic database. Once you learn how they can be used then you can do neat and interesting things with them.
However most normal people would call me crazy for suggesting that, and they're possibly right.
A simple spreadsheet is probably far more than enough to track what you would need with something like this. The big question is what info are you taking down with them, and how do you want them to function? Do you want them to be a variable pre-paid kind of thing? X dollars worth of your services that the customer can pick? Do you just want vouchers for X service/product?
Are you going to record any user info when you sell the voucher, in which case do you even need the physical item to hand out, rather than just getting their name and email/phone number that you can look up again when they come in for an appointment?
If you are numbering them for tracking purposes and anti-counterfeiting then consider the use of non-sequential random numbers. If you hand out 50 simple home printed cards numbered 1-50, then it is kind of easy for someone to scan their copy of card 10, and come back in later with card 25 as well. But if someone has card number 33, and the next two in the series are 39, 43, and 91, then they'll have a far harder time trying to scam you. (But honestly as the value of the cards goes up, then it makes more and more sense to do it more along the lines of pre-booking services and collecting customer info, and any card you hand out is more of just a business/advertisement/reminder card than something with any actual value.)
Canon EOS 7D | EF 28 f/1.8 | EF 85 f/1.8 | EF 70-200 f/4L | EF-S 17-55 | Sigma 150-500
Flickr: Real-Luckless