How to Track Prepaid Session Packs Without Losing Count

Track every prepaid pack in a single ledger with five fields per client: sessions bought, sessions used, purchase date, expiry date, and the date you last told the client their balance. Whether that ledger is a spreadsheet, a booking tool or your payment system matters less than updating it on the same day as the session. Packs go wrong through lag, not complexity, so build the habit before you scale the client list.
The five fields that prevent disputes
| Field | Why it exists |
|---|---|
| Client name and pack ID | Clients buy more than one pack over time |
| Sessions bought | The starting number, never edited |
| Sessions used | A running count, with a date for each |
| Purchase and expiry dates | Expiry is the number most trainers forget |
| Last balance sent | Proves the client was told |
Add a notes column for exceptions such as a rescheduled session, a gifted session or an agreed extension. An exception written down at the time stays an exception; one remembered months later becomes an argument.
Three ways to keep the ledger
A spreadsheet is the right start. One row per pack, with the remaining count as a formula (bought minus used). It costs nothing and you control the file. The weakness is manual entry: a session missed at the end of a long day throws the count off.
A booking tool decrements packs when a session is marked complete. It suits you once you have enough clients that manual subtraction slips. Check that it handles expiry dates and sends balance messages, and that you can export your data.
A payment ledger inside a payment system records what was paid but rarely tracks the sessions delivered against it. Use it for the money record, not as the session counter.
If you use two systems, name one as the source of truth. Mixed records are the main way counts drift.
A same-day routine
- Mark the session complete right after the hour, before the next client arrives.
- Update the ledger, or let the tool do it.
- Send the client a short message with the remaining count.
- Flag any pack with two or fewer sessions left so renewal is a conversation, not a surprise.
- Flag any pack within 30 days of expiry.
Step four turns tracking into revenue. A client who learns they have two sessions left has time to rebook, and you see your renewals weeks ahead.
Expiry and forfeits
Decide up front whether packs expire and what a no-show costs. Both belong in writing at purchase, and package expiration rules cover the options. How you describe packs affects the client relationship, so also review pack selling rules. On the accounting side, money received for sessions you have not delivered is treated specially in many cases, and prepaid sessions as unearned revenue is the place to start before asking your CPA.
Tie the ledger to your calendar
Sessions in a calendar and sessions in a ledger are the same event recorded twice, so close the loop weekly: every Friday, compare the week’s calendar to the ledger. When rooms are booked by the hour, as they are through the FlexWerk app, each booking also gives you a clean record of when a session actually took place, which makes the Friday check quick.
Set up the ledger for your three largest packs this week and send each client their current balance.
Related questions
Should clients be able to see their own balance?
Yes, it prevents most disputes. Send the balance after each session or share a read-only view, so the count is never a surprise.
What counts as a session used?
Whatever your written policy says: attended sessions, late cancellations inside the window and no-shows. Write the rule down when the pack is sold.
Where do I record the money side?
Keep the payment record with your bookkeeping, and use the pack tracker for sessions only. Ask your CPA how to treat money collected before sessions are delivered.