Gift cards and store credit
Panel → Balance. Sell gift cards, credit a customer’s account, and see how much money the shop owes for all of it.
What they are, inside
Section titled “What they are, inside”A gift card and a customer’s store credit are the same thing: money the shop has taken (or decided to give) that has not been spent yet. The only difference is how it is identified — the card by a code you can give away, the credit by the customer’s account. A card a customer spends while signed in becomes linked to their account: from then on it shows under “my balance” and there is no code to type.
The balance is not a number that gets overwritten: it is a ledger of movements, and the balance is the sum. Every euro has its line with its reason and its order — issue, redemption, refund, adjustment — so what happened can always be reconstructed.
Selling gift cards
Section titled “Selling gift cards”Create a product and mark it as a gift card. From then on:
- It is not shipped. It is a code that arrives by email, so checkout does not ask for a shipping rate for it and does not build anyone a parcel.
- It is issued when paid, not when ordered. A bank-transfer order arrives before the money does; sending a €50 code against a payment that never arrives is giving away €50. When the payment is marked as captured, one card per unit is issued and the code is emailed to the buyer.
- The card is worth the product’s price. A €50 card bought with a 10 % coupon is a €50 card: that is what was promised to the person giving it.
You can also issue cards by hand from the panel — for a giveaway, a goodwill gesture, a gift to a customer — with an amount, the recipient’s email and a message.
The code is shown once
Section titled “The code is shown once”The code is not stored: its fingerprint is. Anyone with access to the database cannot spend other people’s cards, and the code appears neither on the order nor on any panel screen — only in the recipient’s email and, if you issue it by hand, in the response at that moment, with a warning that it will not be shown again.
Whoever loses it does not get it back: that card is deactivated and another one is issued. That is the price of database access not being access to every card.
Codes are 16 characters in groups of four and do not use 0/O or 1/I/L, so they can be read out over the phone. When typing them, case, spaces and hyphens do not matter.
Paying with a balance at checkout
Section titled “Paying with a balance at checkout”The customer types the code (or, signed in, picks their store credit) and sees how much is left to pay. Several cards can be used on one order. If the balance covers the total, no bank card is asked for.
The money is spent when the order is placed, not when the card is applied: applying only checks it is valid and notes it down. So a card is never left half-empty in a cart that is never completed. And if something fails while placing the order, the card has lost nothing.
🔴 It is a payment method, not a discount — and that matters for VAT
Section titled “🔴 It is a payment method, not a discount — and that matters for VAT”A gift card from a shop with products at different VAT rates is a multi-purpose voucher (Directive (EU) 2016/1065): VAT is due when the card is redeemed, not when it is sold. So:
- The sale of the card goes without VAT on the invoice. It is money in advance, not a sale of goods.
- When redeemed, the order carries its full VAT, and the card pays part of the total. The invoice for an order paid with a card is identical to that of the same order paid with a bank card.
Treating it as a discount — which many platforms do — lowers the taxable base and settles less VAT than is due. Here that cannot happen: the balance shows on the order as one more payment (“paid with gift card: €25”) and touches neither a line nor a tax.
Refunds
Section titled “Refunds”If you refund an order paid partly with a balance, the part paid through the gateway is refunded first, back to the bank; the balance only recovers its share once that is exhausted. A customer who paid €10 by card and €20 by Bizum and returns €5 wants their €5 back in Bizum, not on the card.
And from the panel you can credit a customer’s balance directly — a refund “as credit” instead of to the bank, or a goodwill gesture — with a mandatory note: a credit with no reason is money leaving the shop that nobody will be able to explain six months later.
How much you owe: the liability
Section titled “How much you owe: the liability”At the top of the balance screen you see the sum of all live balance. Every card sold is money taken for something not yet delivered: in accounting terms it is a liability, and seeing it together avoids the year-end surprise.
Expiry: your call, not the system’s
Section titled “Expiry: your call, not the system’s”By default cards do not expire. If you set a date, the system honours it and shows it in the email — but which date is legal is decided by your country’s law, and it is not obvious: rules on gift-card expiry differ between countries and are often derived from general consumer law rather than a specific statute. Before setting one, ask whoever handles your legal side. The system will not stop you from setting a date you later cannot defend.
What you need
Section titled “What you need”Email configured (SMTP_*): without it cards are still issued, but the code
waits in the notification queue until there is a way to send it.