The code is redeemed once, not as many times as someone tries
Set up a spreadsheet with a unique code for each gift card and a status that only changes once, so it can't be redeemed twice and you always know which ones are still active.
By Yodai · Published September 6, 2026 · Updated October 12, 2026
A gift voucher gets paid for once and has to be redeemed once, not twice: that's what the code is for. Say you sell a $40 voucher. A son buys it to give to his mother for her birthday. The mother doesn't know it exists until she opens it, and three weeks later she shows up at your business with the code written down on paper, or read off her son's phone during a video call, because nothing was sent to her directly.
In that moment, you have seconds to decide whether that code is valid or whether someone already redeemed it. If your only record is whatever the person working that day remembers, "I think someone already came in for that one," you're going to get it wrong sooner or later. A gift card code can't be checked by memory. It's a piece of data that has to be written down somewhere, with a status: active or redeemed. And that status gets changed by one person, at one specific moment: when the card is used, not before and not after.
One row per gift card, not a list of names
Every gift card you sell needs its own row somewhere: a notebook or a spreadsheet if you sell two or three a month, a shared online spreadsheet if you sell more or if several people take payments. That row should include the code, the amount, who bought it, the expiration date you set, and a field with two possible values: active or redeemed.
You don't need the recipient's name, the reason for the gift, or any column that doesn't help you decide whether that code is still good. The more you track, the longer it takes to find the right row on the day someone shows up to redeem it, and that day is usually a Saturday with a line out the door.
- 1It's sold
You generate the code, write it in its row along with the amount and expiration date, and mark it as active. - 2It's sent
The code always travels in writing, in the email or message you send it with. Never just spoken out loud. - 3It's presented
Someone comes into your business or messages you with the code. Before you accept it, you look it up in your row and check that it's active and hasn't expired. - 4It's redeemed
You accept the gift card and, right then and there, change its row to redeemed. Not at the end of the day, not whenever you get a free minute: in that moment, because that's exactly when someone else could be looking at that same code.
Who marks it, and when
You mark it redeemed once the customer actually has in hand what they paid for, not before. If you mark the code the moment you see it, before you pour the coffee or start the session, and then something goes wrong, no table available, the product's out of stock, you end up with a gift card that says redeemed without ever really being redeemed, and a customer with nothing and no gift card.
And the flip side: if you put it off, "I'll write it down when I get a minute," that same code can show up twice that afternoon, at two different counters, with both people showing it to you in good faith. The rule is simple: mark it the exact instant you hand over what was paid for.
By hand works for one, not for three
- A notebook or a spreadsheet on your computer with the list of gift cards sold and their status.
- This works if you, and only you, handle every redemption, with no shifts involved.
- The code gets marked redeemed instantly, and stays that way for anyone who checks later, even someone else on a different shift.
- It prevents duplicate redemptions without anyone having to tell anyone else.
- It takes work to set up once, not to check every week.
- It also works if you sell the gift card remotely, without meeting the buyer in person.
Which one should I pick: If you sell gift cards yourself and redeem them yourself, a notebook or a spreadsheet on your computer works perfectly well. As soon as a second person is taking payments, or there's a second shift, switch to a shared spreadsheet everyone can see instantly: the mistake is almost never bad faith, it's that two people checked the list at different times and nobody told the other.
It doesn't matter where you track the gift card's status: active or redeemed are the only two options you need to decide whether to accept it. How much balance is left if the amount wasn't fully used, or what happens to a code nobody ever redeems, gets decided in the lessons that follow. Here, all you need to know, without hesitation, is whether that specific code has already been used.
The message that goes with the voucher can be as simple as this: "Gift voucher. Casa Elvira Bakery. Code: PZ4K7M. Amount: $40. Valid until December 15, 2026. To redeem it, show us this code at the counter, on paper or on your phone. It can only be redeemed once: as soon as you redeem it, this code stops working." That last line isn't filler: it states, in the fine print people actually read, the rule you're building behind the scenes.
With this in place, redemption no longer depends on whoever's at the register remembering anything. The code tells you whether it's valid, it says so once, and anyone who checks the row, today or two months from now, sees the same thing. What happens if the gift card is only partly spent, or if it expires without anyone ever using it, are the two questions the next lessons cover.
- Every gift card sold has its own row, with a code, amount, expiration date, and status.
- The code is generated at the time of sale, sent in writing, and marked redeemed the exact instant it's redeemed.
- If more than one person takes payments, or there are different shifts, the record goes in a shared spreadsheet that updates instantly for everyone, not in a notebook each person checks on their own.
- A redeemed code never gets accepted again, no matter who presents it the second time.
- The code doesn't use letters or numbers that can be guessed in sequence.
Three codes, three decisions
Answer before opening each one. If one gives you trouble, go back to the section that explains it.
1. A customer texts you on WhatsApp and gives you the code from memory, no photo or paper, because she says she left her phone at home.
You check the code in your records just as you would if you had it on paper in front of you. If it's active and hasn't expired, you accept it: the redemption is decided by the code's status, not by how the person presenting it identifies themselves.
2. You sell three gift cards on the same Saturday: your partner works the register in the morning and you take over in the afternoon, and you both use the same paper notebook to log redemptions.
It works, but barely. If someone shows up that afternoon with a code your partner already redeemed that morning and the notebook doesn't reflect the change yet, you accept it twice. As soon as two of you are taking payments, move the record to a shared online spreadsheet, where what one person marks, the other sees instantly.
3. A customer shows you a screenshot of the code and explains that a friend passed it along after receiving it as a gift.
You check the status the same way you would with any other code: if it's active and hasn't expired, you accept it, because the gift card isn't tied to a name, and passing it from one person to another doesn't invalidate it. What invalidates it is that it's already marked as redeemed.
A code only changes status once, and that leaves no room for doubt. What that status doesn't settle is what happens when a gift card is only partly redeemed, and that's where you lose money if you haven't decided on it ahead of time.
NextIf a gift card isn't fully used, decide who keeps the leftover balance