In this article · 10 sections
- What a gift voucher (gift card) is and how it differs from a discount code
- How to sell gift vouchers online: the steps in CloudCart
- How long should a gift voucher be valid
- How a gift voucher is accounted for: VAT, invoices and the NRA
- Can a gift voucher be spent in parts
- Digital or printed gift voucher
- How to sell more gift vouchers for Christmas
- How to cancel or refund a gift voucher
- Common mistakes when selling gift vouchers
- Frequently asked questions
In short: a gift voucher in an online store is a code with a set value that one customer buys and gives away, and the recipient spends it in the same store. At Christmas a gift voucher never waits for a courier: in CloudCart each voucher is a PDF with a QR code that reaches the recipient by email straight after payment, or on a date the buyer picks, such as 24 December.
Below: the setup step by step, validity, VAT under Bulgarian law, partial use, digital vs printed, and a Christmas plan up to Christmas Eve. The CloudCart facts come from the platform documentation and the pages Promotions and discounts, Invoices and CloudCart Pay. It is written for a product store selling in or from Bulgaria.
What a gift voucher (gift card) is and how it differs from a discount code
A gift voucher, also called a gift card or e-gift card, is prepaid value: the buyer pays €50 now, and the recipient shops for €50 later. A discount code works the other way round: it lowers the price, and the store receives no money when it hands one out. The two are accounted for differently.
The EU VAT rules define a voucher as an instrument that must be accepted as payment, or part payment, for goods or services (Article 30a of the VAT Directive, added by Council Directive (EU) 2016/1065). Bulgaria applies the same rules through its VAT Act, known locally as ZDDS. Article 131c of the Bulgarian VAT Act (in Bulgarian) excludes instruments that only give the right to a discount. So a "10% off" promo code is a discount, and a €50 gift card is a voucher.
CloudCart, the ecommerce platform from Bulgaria, has three tools that sound alike. The table shows which one does what:
| Tool in CloudCart | What it does | When to choose it |
|---|---|---|
| Gift voucher (the Gift Card app) | Sells cards with a 16-character code. The recipient redeems the code and the value goes into their wallet in your store | Christmas and birthday presents, corporate gifts, "let them choose" |
| Promo codes (Marketing → Discounts) | A percentage or fixed amount off, including a batch of single-use codes | Campaigns, Black Friday, a code for newsletter subscribers |
| Voucher as a payment method (Settings → Payment methods) | A manual method with no codes and no balance tracking. The order stays unpaid until you mark it as paid | Paper vouchers from your physical shop or an outside system |
Important: the Gift Card app and the "Voucher" payment method are not connected, and the method cannot be combined with another one in an order.
How to sell gift vouchers online: the steps in CloudCart
You sell gift vouchers through the Gift Card app: switch it on, set the amounts and add the /gift-card page to your menu. The customer then buys a gift voucher online without leaving your store. The app is in beta. Here is the path from switching it on to the first voucher sold:
- Switch on the app. Open Apps → Gift Card (
/admin/apps/gift_card) and turn on the toggle at the top. A hidden gift card product switches on with it and never shows in the catalog, search or feeds. - Describe the voucher. On the Settings tab fill in Product Name (for example "Christmas gift card"), Description and Product image. Upload a PDF logo so your logo appears on the card. Without one, the PDF shows the store name.
- Set the amounts. Gift card amounts starts with 10, 25, 50 and 100 in your store currency. Add amount adds more. With Allow custom amount on, the customer types their own value between a Minimum and a Maximum.
- Decide on expiry. Gift cards expire is off by default, so codes never expire. Turn it on to set Valid for in days, months or years.
- Add the redeem form. With Show redemption form on the gift-card page the recipient enters the code right on the gift card page. Customers can also redeem under Wallet in their account.
- Put the vouchers in the menu. In Design → Navigation add a link from the
gift_cardsection. The page is/gift-card, titled "Gift cards". - Check online payment. A voucher can only be paid with an online method. If your store offers only cash on delivery, nobody can buy a voucher.
- Edit the emails. Marketing → Channels → Email notifications holds the two emails: "Gift voucher - to the buyer" and "Gift voucher - to the recipient". Rewrite them in your voice. The tags
{$buyer_name},{$amount}and{$message}insert the giver's name, the value and the personal message.
On the storefront the buyer picks an amount, then Send to: their own email or the recipient's. For the recipient they can add a name, a message of up to 200 characters and a date in Send on (optional). Vouchers use their own cart, without products, and the buyer needs an account.
What happens after payment
The code is issued the moment the payment goes through. Every voucher gets its own 16-character code, XXXX-XXXX-XXXX-XXXX. The buyer immediately receives one email with all the cards attached as PDFs, even when the recipient's email is scheduled for later. The code is only in the attached PDF, never in the email text.
Every issued card is in Apps → Gift Card → Cards with its status (Active, Redeemed, Disabled or Expired), searchable by full code, order number or recipient email.
How long should a gift voucher be valid
For a paid gift voucher, allow at least 12 months. The help text of the CloudCart setting recommends this too, citing EU consumer protection guidance. No expiry is the most customer-friendly option, and one year still nudges the recipient to use it.
Three things about expiry:
- Expiry only limits redeeming the code. Once the recipient redeems the voucher, the balance in their wallet never expires.
- Expiry is fixed when the card is issued. If you change the setting in February, the December vouchers keep their original term.
- An expired voucher is not sent. If the code lapses before the Send on date, the recipient's email does not go out.
The term shows on the gift card page as "Validity: …" or "No expiry", so the customer knows it before paying.
How a gift voucher is accounted for: VAT, invoices and the NRA
Under the Bulgarian VAT Act, selling a multi-purpose voucher is not treated as a supply. VAT becomes due when the recipient buys goods with it (Article 131b of the VAT Act, in Bulgarian). The taxable amount of that purchase is what was paid for the voucher, net of VAT (Article 26(10)). These rules come from Directive (EU) 2016/1065 and apply in Bulgaria to vouchers issued from 1 January 2019. The consolidated EU text is Articles 30a and 30b of the VAT Directive 2006/112/EC.
The law separates two kinds of voucher:
| Type under the VAT rules | Definition | When VAT is due |
|---|---|---|
| Single-purpose voucher | The place of supply and the VAT due are known when the voucher is issued | When the voucher is sold (Article 131a) |
| Multi-purpose voucher | Any other voucher, for example one that buys goods at different VAT rates or is delivered to another country | When goods are bought with the voucher (Article 131b) |
If a multi-purpose voucher expires unused, keeping the money is not treated as a supply (Article 131b(4)). So the validity period matters for tax as well.
What CloudCart does with the documents
The platform treats a gift voucher as a multi-purpose voucher, and there is no setting to treat it otherwise. In practice:
- When the voucher is bought the line has no VAT, no invoice and no receipt. The order stays out of the order list in the audit file under Ordinance N-18, the Bulgarian rule for reporting online sales to the National Revenue Agency (NRA).
- When goods are bought with the voucher money they carry their normal VAT and their normal document. The wallet counts as a payment method, so the taxable amount and the invoice total stay in full. The invoice shows a "Pay with wallet" row.
- In the N-18 audit file an order paid entirely from the wallet gets payment code 5. A partly wallet-paid order keeps the code of the other method, for example card.
Important: if all your goods have one VAT rate and you deliver only within Bulgaria, your voucher may meet the definition of a single-purpose voucher. VAT is then due when it is sold. This section describes how the platform behaves and is not tax advice, so check with your accountant which type your voucher is.
Can a gift voucher be spent in parts
Yes. In CloudCart the recipient redeems the whole voucher at once, the value goes into their wallet, and they spend it across as many orders as they like. If an order costs more than the balance, the rest is paid with any other method in the store, cash on delivery included.
At checkout the customer ticks Pay with wallet ("Available in wallet: …") and can type a smaller amount. When the wallet covers everything, the order is paid at once. With cash on delivery, the courier collects only the remainder.
An example: in a cosmetics store the recipient has a €50 voucher and orders €68 worth of products. They pay €50 from the wallet and €18 by card. On a €30 order, €20 stays in the wallet.
Redeeming needs a customer account, because a guest has no wallet. Dashes, spaces and letter case in the code do not matter.
Digital or printed gift voucher
A digital voucher arrives in minutes, needs no courier and can be scheduled for the exact day. A printed one suits a present handed over in person. In CloudCart you do not have to choose: every voucher is an emailed PDF that can be printed.
The recipient redeems with one click from the email (when it holds one card), by scanning the QR code or by typing the code. If the email lands in spam, the buyer can resend it from their account. The built-in PDF shows the value, the recipient's name, the message, the code with its expiry and the QR code. In Apps → Gift Card → PDF template you can replace it with your own HTML design using tokens such as {$amount}, {$code}, {$qr} and {$expires_at}. If your template fails to render, the PDF falls back to the built-in one, so the customer always gets a card.
How to sell more gift vouchers for Christmas
Vouchers sell best when couriers can no longer deliver in time. Black Friday falls at the end of November, so the vouchers should be live in your store by mid-November, before the campaigns start. The preparation for Black Friday itself is in the 30-step checklist.
The Christmas calendar for gift vouchers:
| When | What to do |
|---|---|
| By mid-November | Switch on Gift Card, set the amounts and the term, edit the two emails and add /gift-card to the menu |
| Black Friday week | Show the voucher next to the product deals. No discount applies to the voucher itself |
| 1 to 14 December | Corporate orders: 20 vouchers in one order are 20 separate codes, and each recipient gets their own email |
| 15 to 23 December | A banner on the home page and one email to subscribers between 18 and 22 December |
| 24 December | Scheduled vouchers go out on this day if the buyer chose it in Send on |
| January | The Christmas vouchers get redeemed: point recipients to a new collection or the winter sale |
1. Pick amounts that feel like a present
€25, €50 and €100 read as a present for a colleague, a friend and someone close. Set at least one amount slightly above your average order so it covers a real purchase. With a custom amount, set a minimum to avoid €3 vouchers.
2. Show the voucher where customers hesitate
A "Gift cards" link in the main menu, a home page banner from mid-December and a line in your gift ideas email. Vouchers are left out of product suggestions and cart reminders, so show them yourself.
3. Tell shoppers about the Send on date
The Send on (optional) field is your strongest last-minute argument: the customer buys on 20 December, and the recipient gets the email on the 24th. It arrives on that day, not at a set hour. Say it plainly on the page: "Pick a date and the voucher arrives on Christmas Eve."
4. Use your subscriber email
Send one voucher email between 18 and 22 December to past buyers who subscribed, and at most one reminder. Unsubscribed contacts receive nothing. Which emails work and when is covered in the article on email marketing for an online store, and segments and campaigns are on the Campaigns page.
5. Do not promise a discount on the voucher
Discount codes do not apply when someone buys a voucher: the code field and the countdown pop-up are hidden at the voucher checkout. For a bonus such as "buy €100, get €10 for yourself", add the amount to the buyer's wallet by hand: Customers → the customer's profile → Wallet tab → Add transaction. Product promotions are set up separately in Promotions and discounts, and the discount types are explained in the article on promo codes and discounts for an online store.
6. Get ready for January
Many Christmas vouchers are redeemed after the holidays, often by new customers. Put a clear link to a new collection or your sale in the recipient email, and after their first order guide them to the next one.
How to cancel or refund a gift voucher
A CloudCart voucher is cancelled through its order: when you move the order to a negative status, such as cancelled or refunded, every voucher in it stops working. There is no separate button to cancel a single card, and vouchers cannot go on a return or a credit note.
| Voucher state | What happens when the order is cancelled |
|---|---|
| Active, not redeemed | The status becomes Disabled and the code stops working |
| Redeemed, balance untouched | The amount is removed from the recipient's wallet |
| Redeemed, partly spent | Only the unspent part is removed. Goods already bought stay paid |
| Redeemed, fully spent | Nothing changes |
Returning the money to the buyer is a separate step: a refund of the payment on the order. No email goes out about the cancellation, so tell the buyer and the recipient yourself.
Common mistakes when selling gift vouchers
These mistakes cost December sales:
- Cash on delivery only. A voucher cannot be paid on delivery, so the customer has no way to buy it. Why card payments matter beyond vouchers is in the article on cash on delivery vs card payments.
- Vouchers missing from the menu. Store search does not find
/gift-card. - An unclear term. The customer should see the validity before paying. No expiry, or at least 12 months.
- A code shared in a chat or text message. The code is cash. Any signed-in customer who enters it can redeem it, whoever it was sent to.
Frequently asked questions
Switch on a gift voucher app in your store, set the amounts and the validity, and add the gift card page to your menu. In CloudCart this is the Gift Card app under Apps: the customer pays online and receives the code as a PDF with a QR code by email. You need at least one online payment method, such as CloudCart Pay.
For a paid voucher, allow at least 12 months or leave it with no expiry. The help text of the CloudCart setting recommends at least 12 months, citing EU consumer protection guidance. In CloudCart the term only limits redeeming the code, and the wallet balance after that never expires.
For a multi-purpose voucher, VAT is charged when goods are bought with it, and selling the voucher itself is not a supply (Article 131b of the Bulgarian VAT Act). For a single-purpose voucher, where the VAT rate and place of supply are known at issue, VAT is due when it is sold (Article 131a). Your accountant decides which type your voucher is.
Move the voucher's order to cancelled or refunded and the code stops working. If the voucher has already been redeemed, only the unspent amount is removed from the recipient's wallet. You refund the buyer separately, through a refund of the payment on the order.
Questions about setting up gift vouchers in your store: write to support@cloudcart.com.
Sources
- Council Directive (EU) 2016/1065eur-lex.europa.eu
- Bulgarian VAT Actlex.bg
- VAT Directive 2006/112/ECeur-lex.europa.eu
