One code, one redemption, one life
A voucher code should be redeemed once, by one subscriber, on one device. After that it is dead — it never re-enters the pool, it never gets reprinted, and it never appears in a new batch. If your system allows a code to be used twice, the second subscriber rides on the first one's payment.
Expired codes are the same problem in slow motion. An agent holds a booklet of codes that expired last month. A customer buys one, it fails, the agent swaps it for a fresh one — but the expired code is still in the booklet, and the next customer might get it.