Packages & Payments
Adjust a client's package credits
Top up a client's credits, push their expiry date back, nudge them to book or renew, or cancel the package they hold — and know what each action does to their balance and what they get told.
A balance rarely stays exactly as it was bought. A client misses a session you'd rather not charge for, needs longer to use what they paid for, or a package has to be written off. All three take a few clicks, and Calso records every change.
Everything here is about one client's package — the copy they own, with its own credit balance, expiry date and status. It is not the package offering you built and sell; editing that never touches a package someone already holds, and it has its own article: change, hide, or retire a package offering. Open Packages in the sidebar and scroll past the Package Offerings grid to the client packages beneath it. They also appear in the Packages panel on a client's record.
Every adjustment covered here — adding credits, moving an expiry date, sending a reminder, cancelling — works on any plan. A client who already holds a package can always be looked after, whatever your plan is doing.
Reading a client's package
Click a row to open the package panel. Its heading carries a status badge — Active, Completed, Expired, Cancelled or Payment Hold — and below it a large figure shows the credits left of the total, with a bar split into Used and Remaining and a smaller bar per event type. Four tiles follow: Purchased, Expires, Source and Days Remaining. Source here means where the package came from, not the referral source on a client record.
Two tabs run underneath: Credit Ledger, the dated history of every credit event, each entry carrying a Balance: chip with the running total, and Sessions Used, the bookings those credits paid for.
Adding credits
- Find the package
Open Packages in the sidebar. The tabs — All, Active, Completed, Expiring, Expired and Cancelled — narrow the list, and Search clients or packages... takes a name, email or package title.
- Choose Add Credits
Open the row's ... menu and pick Add Credits, or click the row and press the green Add Credits button in the panel. The row menu works whatever the status; the panel's buttons appear only while the package is Active.
- Pick the event type
Session Type lists each event type in the package with its balance in brackets, such as 2/6 remaining, so you can see where the client is short before you choose.
- Set how many
Credits to Add takes any whole number from 1 up and adds to the balance rather than replacing it — three credits on a package with two left leaves five.
- Write a note
Note to client (optional) is worth using: it goes into the email the client receives and labels the Credit Ledger entry, so you'll still know later why the credits were granted.
- Confirm
Press Add Credits in the menu version of the form, or Confirm in the panel. The balance, the package total and that event type's allocation all move up together.
A package that had run out and flipped to Completed reopens when you add credits — the status returns to Active and the client can book again.
Changing when a package expires
Extend Expiry sets the date the package runs to rather than adding time, so pick the day you want it to end. Choose it from the row's ... menu and New Expiry Date opens pre-filled with the current date; Update Expiry saves. In the panel the same control is headed Extend Expiry Date and only accepts a date later than the one already set. A package whose Expires tile reads Never can be given a date the same way.
The client is emailed the new date as soon as you confirm. The Package Expiring automation trigger fires once per package, seven days before it lapses, so if that has already gone out, extending won't queue a second one.
Reminding a client to use their credits
Send Reminder in the row's ... menu emails the client how many sessions they have left and when the package expires. The menu simply closes, with no confirmation message, so send it once. It goes out only when Low credit warning is ticked under Client Notifications in your notification preferences, and is skipped for anyone who has unsubscribed from your package emails.
Where a client stands on their renewal
When the offering behind a package carries a returning-client rate, the panel also shows a Loyalty Renewal block. The top of it is the arithmetic: Package price, the Loyalty rate underneath, and a line saying how far below the package price that rate sits. Underneath that is the part worth reading, one sentence about this client in particular — either that their email address qualifies for the loyalty rate, with the date the window closes, or why it does not: no paid purchase of this package on record, a renewal window that has already closed, or an offering that is no longer on sale.
A client who has used every credit, and a client whose package expired recently, both usually qualify — those are precisely the people a renewal rate is for. The window runs while they still hold a live package and for the grace period after it expires, both of which are set on the offering itself in build a session package clients can buy.
Copy standard checkout link becomes clickable once they qualify, and gives you that offering's ordinary checkout link. Read its caption literally: the link bills the package price. The lower rate reaches the client only if they take the optional email verification during checkout, so send the link with a line telling them to do exactly that.
Cancelling a package
Cancel Package sits at the bottom of the row's ... menu, and behind the ... button in the panel. Calso asks first — This package will be cancelled and all remaining credits will be forfeited — and once you confirm, the balance drops to zero, the loss is written into the Credit Ledger, and the status becomes Cancelled for good.
Cancelling settles credits, not money — to return a payment, refund it in your Stripe dashboard. If the package is being paid in installments, cancelling it doesn't stop the schedule: use Cancel Plan in the panel's Payment Plan block, described in let clients pay for a package in installments. And when it's one session rather than the whole package, cancelling the booking can put its credit straight back.
Handing a client a package yourself
+ Gift Package at the top of the page creates a package for someone without charging them — a goodwill gesture, or sessions agreed offline.
Search for the person under Client, or pick + New client and type their name and email. Package Template copies one of your offerings, filling in the title, value, allocations and expiry; leave it on Custom package to build a one-off with + Add session type. Value ($) is labelled For record-keeping only — no charge is created, and Expires At (optional) and Note (optional) finish the form. The client is emailed that they've received a package, and a record is created for them if they're new.
Total Revenue at the top of the page adds up every package ever created, gifted and cancelled ones included — read it as lifetime package value, not money collected. When it's the offering itself that needs a new price or a different mix of sessions, start with build a session package clients can buy.
Frequently asked questions
Can I undo cancelling a client's package?
No. Cancelling zeroes the remaining credits, records the loss in the Credit Ledger and sets the package to Cancelled for good. Adding credits afterwards does not bring it back to life — they land on a cancelled package the client still cannot book with. If you cancelled by mistake, use + Gift Package to hand them a fresh one with the same credits.
Does adding credits charge the client anything?
No. Add Credits is a straight grant — it raises the balance and the package total with no payment involved. If money needs to move as well, take it or refund it in your Stripe dashboard; Calso has no charge or refund button on a package itself.
Why can't I find the event type I want when adding credits?
Add Credits only tops up an event type the package already includes, so the dropdown lists exactly the allocations the client bought. To give them a type that isn't there, use + Gift Package to create a second package covering that event type.
Will my client know I extended their expiry?
Yes. Calso emails them the new date as soon as you confirm, and the same happens when you add credits — that email also quotes the note you wrote. Cancelling is the one action that sends nothing, so tell the client yourself.