If you offer packages of several treatments, classes, or sessions for purchase, you will need a way to track how many of thse sessions have been used and how many are remaining.

While we don’t have a built-in feature for packages, there are multiple ways to handle session tracking within Cliniko:

In this guide, we'll cover how you can use patient cases (with or without patient account credit) to help you track the total number of appointments within a package and number of appointments remaining.


Generating and applying account credit

When it comes time for payment, you may want to collect the full session or package payment from the patient prior to their first appointment. This will generate account credit within the patient’s file which can then be applied to any future invoices as needed.

In order to record and generate account credit for a patient, head to Payments, and then select Add payment:

From here, enter the patient's name and within the payment source field, you’ll want to enter the amount that the patient is prepaying for their package (for example, this patient is paying $500 in advance):

At the bottom of the page, as long as the patient has no open invoices, you'll see a message stating that the payment amount will be added as account credit.

Once you Save payment, you’ll be brought to the payment receipt page that will confirm that none of the account credit has been applied to any invoices and the entire amount has been “allocated to account credit”.

Pay invoices using account credit

When it comes time for payment, if your patient has pre-paid for their sessions ahead of time, you can apply their account credit to their invoice/session as they come in.

First, you'll need to create the invoice.

On the payment page, you'll see a message about how much existing and unapplied credit the patient has above the Payment summary box.

To apply this account credit, do not enter anything into the Payment source section!

Skip the Payment source section completely and at the bottom of the page, under Apply to invoice, you'll see an Account credit column, and this will have the credit balance amount that will be applied to all open invoice(s):

Make sure the amount applied is correct, then click Save payment. You'll now see that it was "paid" via credit:

You’ll repeat this process every time the patient comes in for their pre-paid services.

Keep in mind if your patient has unallocated account credit, we will automatically allocate that account credit to any open invoices within the “Apply to invoice” section. So make sure to clear the Account credit column if you’re not using the patient’s unallocated account credit for payment.


Tracking packages without account credit

If preferred, there is a way to indicate that individual sessions have been paid without generating or applying account credit per appointment or individual package session.

First, create an invoice for the full package amount and add full payment to close that invoice at the time of package purchase:

This will mean there is no account credit on the patient's file. Now when booking the client into sessions, ensure the case is selected. This will give you a running tally of how many have been used, and how many are remaining.

Generating a pre-paid invoice without account credit

As the patient comes in for their package sessions, since they fully pre-paid for their package, you can skip the individual invoicing for these individual appointments, or if you would like the paid invoice icon to appear next to the booking, you can create a pre-paid invoice for that session.

When creating the invoice, you can either manually adjust the Unit price to $0 for the billable item:

Or you can create a new billable item that you can apply to pre-paid package sessions. To do this, head to Settings, and then Billable items:

Click on the Add service or Add other button:

Fill out the details for your new "pre-paid package" billable item. Set the price to $0.00:

Hit the Create billable item button and you're all set.

You'll now use the new "Pre-paid package" billable item for future invoices:

Using this method, you no longer need to consider whether credit is being used or not, or which invoices the credit is being applied to — you only need to keep an eye on the number of sessions they have remaining.

☝️ Just note: Whenever the patient has reached the max number of appointments for the case, it cannot be selected when booking future appointments. The patient of course can purchase another package and the process starts again.


Creating a new patient case

First, you'll want to add a new patient case. This can be done from the patient details page or when you’re booking a new appointment.

If you're creating a case from the patient page, you'll want select Cases from the patient details menu:

However, if you're creating a case while booking an appointment, make sure to select or create a new patient first. You’ll then see the option to create a new case:

From here, you'll be able to add details of your patient case:

As you'll see from the fields on the case, you can include:

  • Case name (for example, "Pre-Paid Class Package").

  • Case type (for tracking we recommend selecting maximum appointments).

  • Maximum number of appointments amount for the case.

  • If you want to include cancelled or DNA appointments.

  • Referral details (if you need to add issue and expiry dates, you can also set these when referral details are enabled).

  • Notes (any details or information that might be relevant to this case).

☝️Just note: If you’re creating a new case from the patient details page, you’ll see additional fields. Including the ability to add existing file attachments to the case and include any appointments that were already booked in tracking the case.

Maximum appointment amount for patient cases

To ensure you're tracking a certain number of sessions, under Case Type, select “Maximum appointments”:

From here, input the number of Maximum appointments you'd like to track. In the example below, we've selected "4". This means that we can add up to 4 appointments to this case before getting a message saying that we can't add any more!

Finally, make sure to select whether you'd like to Include cancelled appointments and/or did not arrive appointments when tracking sessions:

When you're all finished filling out the case information, be sure to click the Create appointment or Create case button to save your changes!


Adding appointments to an existing patient case

Now that the case has been created, when booking the patient or client into future sessions, you’ll want to make sure the case is selected. This will give you a running tally of how many have been used, and how many are remaining.

Add appointments to cases via the appointment screen

You'll most likely be adding appointments to cases from the appointment screen itself.

To do this, while booking a new appointment, or editing an existing appointment, you'll see the option to select a case, or create a new one:

When you select a case, you'll see a list of available cases show up (along with how many appointments have already been attached to that case). Simply select the appropriate case from the list, and create the appointment:

☝️Just Note: If you don't see the case you need, you may have to create a new case.

When you view a booked appointment, you'll be able see which case it's a part of—as well as what number it is:

Add appointments to cases via the patient's details

The other location you can add or relate an appointment to a case is through the patient's details page.

To do this, navigate to Cases, and then select the case you want to edit:

From here, edit the case, and then look for the Appointments section:

Now you can select which appointments should be associated with the patient's case. Just make sure to update the case, and then you'll then be able to see all related appointments in the details of the case:


We hope this helps you with tracking your packages! You can learn more about cases over here—and as usual, if you have any questions, our team is here to help!

Did this answer your question?