Selling session passes and prepaid credits in an online store
The 10-session pass is a classic for academies, gyms, beauty salons and workshops. We explain how to sell it online, how to keep track of each customer's balance, what to do about expiry and returns, and what to bear in mind with VAT.
“10-class pass”, “5-session pack”, “20 washes”. For service businesses —academies, beauty salons, physiotherapy, driving schools, workshops, car washes— the prepaid pass is the simplest way to charge in advance and build loyalty. The problem is not selling it, it is keeping track of it: how many each customer has left, when they expire and what happens if they want to return it.
If today you note it down in a notebook or on a cardboard card, you know what we are talking about.
Pass, credits and gift card: three similar things
- Session pass: a number of uses of a specific service (10 yoga classes).
- Credits: a unit of your own that is spent on different services or products, each with its cost in credits.
- Gift card or balance: an amount in euros that is spent in the store.
The difference matters for the customer (what they can do with what they bought) and for tax purposes.
VAT on vouchers: single-purpose and multi-purpose
Since the transposition of Directive (EU) 2016/1065, the Spanish VAT Law distinguishes two types of voucher:
- Single-purpose voucher: when, at the time of issue, it is already known what will be supplied, where, and the VAT that applies (for example, 10 sessions of the same service at one VAT rate). VAT is due when it is sold.
- Multi-purpose voucher: when all of that is not known (it can be used for services with different rates, or as a balance to spend on whatever the customer wants). VAT is due when it is redeemed.
How to design the pass
- What it includes: the number of credits and in what unit (classes, sessions, hours, visits).
- What it can be spent on: a specific service, a category or anything.
- Price and, if you wish, bonus credits (“buy 10 and get 11”).
- Duration: from purchase or from first use.
- Limits: how many passes each customer can buy, whether they can be given away or transferred.
Expiry: state it clearly and warn in advance
A pass with an expiry date is legitimate, but the customer has to know about it when buying: on the product page, in the confirmation email and in their account. And it is good practice to send a reminder before it expires: as well as avoiding disputes, a reminder like that often brings the customer back.
Returns and withdrawal
A service pass bought online by a consumer has, in principle, a 14-day right of withdrawal (TRLGDCU, the Spanish consumer law, articles 102 onwards). Some exceptions —such as leisure services for a specific date— do not fit a pass that can be used freely. If the customer has already used part of the pass within the period, a proportional refund may be due. In any case:
- When a pass is returned, the unused credits must be removed from the balance.
- If part has been used, the system has to know how much.
- Every movement (purchase, use, expiry, return, adjustment) must be recorded.
The customer's balance: what solves everything
Most problems with passes disappear if the customer can see in their account how many credits they have left, when they expire and what they have spent them on, and if you have a movement log that cannot be edited by hand without leaving a trace.
Pass or subscription
If the customer comes every week, a monthly subscription with automatic renewal may fit better than a pass that has to be bought again. If they come irregularly, the pass is fairer: they pay for what they use.
Common mistakes
- An expiry date that only appears in the small print.
- Balances kept outside the store: two systems that never match.
- Passes that can be redeemed several times because of a control failure.
- Bonus credits that cannot be told apart from paid ones on return.
- Not knowing how much outstanding balance you still have to deliver: it is a commitment to your customers.
Checklist
- The pass unit and what it is spent on.
- Price, bonus and duration.
- Tax classification confirmed with your adviser.
- Visible expiry and an advance reminder.
- A written returns policy.
- Balance visible in the customer's account.
- A movement log.
Frequently asked questions
Can I sell passes if sessions are booked separately? Yes. The pass is the balance; the booking, the appointment. If you take bookings by phone or with another tool, what matters is that each session used is deducted from the customer's balance at that moment, so that what they see in their account is real.
What do I do with corporate passes? A company that buys 50 sessions for its staff does not go through the cart like a private customer. The practical approach is to be able to grant credits by hand to each employee, with a recorded reason, and invoice the company separately.
Can I give away credits? It is a good loyalty tool: welcome credits on registration, a bonus credit when buying the large pack, or a temporary promotion that adds extra credits. Decide in advance what happens to gifted credits if the customer returns the pass: the logical approach is for them to be removed with it.
How much outstanding balance do I have? It is a question your adviser will ask. Customers' outstanding balance is a service you owe, and you should know at any time how much there is and when it expires.
How to handle it in PrestaShop
RKR Smart Coupons links a catalogue product to a pack of credits: when the order is paid, the credits arrive automatically in the customer's account. Each pack defines how many credits it gives, in what unit (it comes with eight as standard: credits, classes, sessions, appointments, washes, visits, hours and points, editable and translatable), its price, its duration and optional bonus credits. The customer spends them at checkout, in their account or on the product page, and they expire, are refunded and trigger reminders automatically, with a movement ledger that cannot be edited. You can give welcome credits, grant or adjust credits by hand with the reason and employee recorded, limit how many packs each customer buys and set a minimum balance for redemption.