---
title: "Gift cards: issue, sell and track balances"
description: "Issue a gift card or sell it on your store, send it by email, follow a balance spent over several orders and credit it back after a refund."
url: https://docs.vivlab.com/en/sections/giftcards
---

# Gift cards

A gift card is a code with a balance. Its recipient enters it at checkout on your store: the card pays for all or part of the order, and what is left on the balance goes toward the next orders until it is used up or expires. The card is a means of payment: the order's prices and VAT stay the same, only the amount paid by bank card goes down.

<DocsAccess />

## What do you want to do?

- [Give someone a gift card](#issue-a-gift-card)
- [Sell gift cards on your store](#sell-gift-cards)
- [Know what the card pays at checkout](#pay-with-a-gift-card)
- [Find a card and check its balance](#find-a-card)
- [Send a card by email again](#send-a-card-again)
- [Credit or debit a card](#adjust-the-balance)
- [Refund an order paid with a gift card](#refund-an-order)
- [Deactivate a card or change its expiry date](#deactivate-a-card)
- More situations: [Discounts and coupons: common cases](https://docs.vivlab.com/en/guides/discounts.md#gift-card)

## Give someone a gift card {#issue-a-gift-card}

Issue a card yourself for a goodwill gesture, a contest prize or a gift to a partner.

<DocsSteps>

1. In **Gift cards**, click **Create a gift card**.
2. Enter the **Card amount**, from €1 to €10,000.
3. To limit how long it lasts, turn on **Add an expiry date** and pick the date in **Valid until**.
4. In **Recipient**, enter the **Recipient's email** and **Recipient's name**, then, if you like, **From** (the name shown as the sender in the email) and a **Personal message**.
5. Keep **Send the gift card by email now** on, add an **Internal note** if needed (only you can see it), then save.

</DocsSteps>

The card is **Active** as soon as you save it, and its window stays open: the code shows at the top in four groups of four characters (`K7QM-2XPA-9HDR-T4WZ`), with a button to copy it. The recipient immediately receives the **Gift card** email with the code, the amount, the expiry date and your message.

Vivlab generates the code; you can't choose it. It never contains 0, O, 1 or I, so it can't be misread. Without an email address, the card is created without being sent: pass on the code yourself or [send it later](#send-a-card-again).

::: warning Check before saving
The **Card amount**, the **From** name and the message can't be changed after the card is issued. To correct the amount, [adjust the balance](#adjust-the-balance).
:::

## Sell gift cards on your store {#sell-gift-cards}

Cards are sold through a product of the **Gift card** type. Each purchase issues a card, emailed as soon as the payment is confirmed.

<DocsSteps>

1. In **Products**, click **Create a product**, choose **Gift card**, then **Validate**.
2. Fill in the **Product name**, an image and a description.
3. In **Gift card settings**, set the **Amounts offered** (€25, €50 and €100 to start with) and the **Validity** in months, then save.

</DocsSteps>

These settings are detailed in [Products > Gift card](https://docs.vivlab.com/en/sections/products.md#gift-card).

On the product page, the customer picks the **Gift card amount**, then answers **Who is it for?**:

- **For me**: the card is sent to the email address entered at checkout;
- **For someone else**: they enter the **Recipient's email** and, optionally, the **Recipient's name**, **Your name** and a **Personal message**. Without **Your name**, the email shows the buyer's billing name.

They then click **Add the gift card to cart**. Each unit is one card: two €50 cards in the cart give two separate codes. After payment, each card is emailed in the language of the order, and its validity runs from the purchase date.

Cards sold show in the list with the origin **Bought online**, and in the order, under **Gift cards issued**.

## Know what the card pays at checkout {#pay-with-a-gift-card}

At checkout, the customer enters their code in the **Add a gift card** field, separate from the promo code, then clicks **Apply**. Upper or lower case, spaces and dashes don't matter. The card pays for the order up to its balance, shipping included. The summary shows the end of the code (`•••• T4WZ`) with the amount the card pays, and what will remain on it ("€20.00 left on the card after this order"); the total becomes **Left to pay**. The customer pays the rest by bank card. If the card covers everything, they confirm with **Confirm order**, with no bank card.

| Order  | Card balance | Paid by the card | Left to pay | Balance after |
| ------ | ------------ | ---------------- | ----------- | ------------- |
| €30    | €50          | €30              | €0          | €20           |
| €80    | €50          | €50              | €30         | €0            |
| €50.30 | €50          | €49.80           | €0.50       | €0.20         |

- **One card per order**, on top of a [coupon](https://docs.vivlab.com/en/sections/coupons.md) if any: the coupon discounts the order, then the card pays what is left.
- **What the card doesn't pay for**: gift cards in the same cart, and orders that contain a [subscription](https://docs.vivlab.com/en/sections/subscriptions.md) or a recurring donation. The field doesn't show for those orders, nor for a cart holding only gift cards. In a cart that mixes gift cards and other products, the card pays for the other products.
- **€0.50 minimum to pay**: if what is left to pay would fall between €0.01 and €0.49, the card pays a little less to leave €0.50, the minimum for a bank card payment (third row of the table).
- **Card refused**: for an unknown code or a deactivated, expired or used-up card, the customer sees "The gift card you entered is invalid, has expired or has no balance left."
- **Balance used in the meantime**: if the card pays for another order during checkout, the customer sees "The balance of your gift card has changed. Please check your order." and the amounts update.
- **Invoice**: it keeps the order's total and VAT, then shows the part paid by gift card and the amount paid by bank card.

## Find a card and check its balance {#find-a-card}

The list shows the code, the recipient, the expiry date, the status and the balance left out of the starting amount ("€20.00 / €50.00"). Search for a card by code (with or without dashes), name or email. The tabs filter by status, and **Filter** by **Origin**: **Bought online** or **Issued manually**.

| Status          | Meaning                                    | At checkout                                    |
| --------------- | ------------------------------------------ | ---------------------------------------------- |
| **Active**      | Balance available, expiry date not passed. | Accepted.                                      |
| **Used up**     | Balance at €0.                             | Refused. Becomes **Active** again if credited. |
| **Expired**     | Expiry date passed, balance kept.          | Refused. Move the date to make it usable.      |
| **Deactivated** | Stopped by you, balance kept.              | Refused. Reactivate it to make it usable.      |

A deactivated card shows **Deactivated** even if it has expired or its balance is used up.

Click a row to open the card:

- **Balance**: the balance left out of the starting amount, the origin (**Bought with an order**, with the **View the order** link, or **Issued from the dashboard**) and the issue date;
- **Validity**: the **Card status** and its expiry date;
- **Recipient**: the email and name, which you can edit, the sender and the message, set when the card was issued, and the date it was last emailed;
- **Internal note**;
- **History**: every movement of the balance (**Card issued**, **Order payment**, **Manual adjustment**) with the resulting balance. Clicking a line linked to an order opens that order.

In a card's window, the arrows at the top move to the previous or next card.

For several cards, tick their rows, then choose in **More actions**: **Activate**, **Deactivate** or **Export to CSV file** (code, starting amount, balance, expiry, email, name, order, status and creation date).

## Send a card by email again {#send-a-card-again}

For a customer who lost their email or wants to know their balance.

<DocsSteps>

1. Open the card and, in **Recipient**, click **Send by email**.
2. Check the address in **Send to**, then click **Send**.

</DocsSteps>

The email includes the code, the current balance and the expiry date. If you enter an address other than the card's, it becomes the recipient's address. **Send by email** stays greyed out while a change to the card is unsaved.

## Credit or debit a card {#adjust-the-balance}

<DocsSteps>

1. Open the card and, in **Balance**, click **Adjust balance**.
2. Choose **Credit** or **Debit**, then enter the **Amount**.
3. Enter a **Reason** ("Return of order 1042"), shown in the history.
4. Check the **New balance**, then click **Confirm**.

</DocsSteps>

The balance changes right away and a **Manual adjustment** line is added to the **History**. A debit can't take the balance below €0. If the card was used in the meantime and its balance no longer covers the debit, Vivlab refuses it: check the balance and try again. As with sending by email, save your other changes first.

## Refund an order paid with a gift card {#refund-an-order}

A Stripe refund only gives back what Stripe charged. The part paid by gift card goes back by crediting the card, by hand.

**Example**: an €80 order, €50 of it paid by gift card and €30 by bank card, is returned in full.

<DocsSteps>

1. Refund the €30 from the order as usual ([Refund all or part of an order](https://docs.vivlab.com/en/sections/orders.md#refund-all-or-part-of-an-order)). A return request's refund is capped at this amount.
2. In **Order details**, click the end of the code (`•••• T4WZ`) next to the **Gift card** line: the card opens.
3. Click **Adjust balance**, choose **Credit**, enter `50` and the reason, then **Confirm**.

</DocsSteps>

**Result**: the customer gets €30 back on their bank card and €50 on their gift card. The **Refund** email only mentions the €30: [send them the card again](#send-a-card-again), and the email shows the new balance.

An order paid entirely by gift card has nothing to refund on Stripe: just credit the card.

::: warning Refunding the purchase of a card
Refunding an order that bought a gift card doesn't deactivate that card. Open it from the order's **Gift cards issued** section, check in its **History** that it hasn't been used, then [deactivate it](#deactivate-a-card).
:::

## Deactivate a card or change its expiry date {#deactivate-a-card}

Open the card, choose **Deactivated** in **Card status**, then save. The card is refused at checkout but keeps its balance; choose **Active** to put it back in use.

In the same **Validity** block, change the **Valid until** date, or turn off **Add an expiry date** for a card that never expires. An expired card becomes usable again with a future date.

A card can't be deleted: its history keeps track of the money collected and spent. Deactivate it instead.

## The gift card email {#gift-card-email}

The **Gift card** email goes out when you issue a card from the dashboard (if you asked for it), for each card bought online, and each time you send it again. It contains the code, the balance, the expiry date, the message if any, and a **Use my gift card** button that opens your store. Customize its text in [Email sending](https://docs.vivlab.com/en/sections/emails.md#automatic-emails) and choose to receive a copy in your [notifications](https://docs.vivlab.com/en/sections/preferences.md#copies-of-customer-emails).

## Good to know

- **VAT**: Vivlab treats the gift card as a multi-purpose voucher. Its sale isn't subject to VAT (the line is at 0% on the invoice); VAT is due when the card is spent, on the products it pays for, at their usual rate. If all your products have the same rate and are delivered only in France, your accountant may treat the card as a single-purpose voucher, taxed when sold: Vivlab doesn't handle that case.
- **Coupons**: a coupon never discounts a gift card being bought.
- **Loyalty**: [points](https://docs.vivlab.com/en/sections/loyalty.md) are earned on the part paid by bank card, not on the part paid by gift card.
- **Register**: [Vivlab POS](https://docs.vivlab.com/en/pos/index.md) neither sells nor accepts gift cards. **Gift card** products show greyed out there.
- **Bearer code**: anyone who knows the code can use it, without a customer account. Advise the recipient to keep it like cash.
- **Expiry**: a card stays usable until the end of the day picked in **Valid until**. A coupon, by contrast, stops working at midnight at the start of the chosen day.
- **Customer area**: in a member's order, the amount paid shows under **Paid with a gift card**.
