Skip to main content

GST answers

GST on prepaid session packages

Usually no GST, because the sessions an allied health block buys are usually GST free. The canonical psychology template takes a prepaid block as a part payment, so revenue is recognised when the money arrives, on the revenue row the sessions sit on. The practice and its BAS agent settle that treatment before anything is written to Xero.

Key facts

What the template watches for
a package billable item, for example a discounted block of sessions bought upfront1
The template's package default
Part payment: the block is taken as revenue when the money arrives, because a named set of future sessions looks like an advance payment for an identified supply rather than a refundable hold1
How settled that default is
Not settled. The template's own BAS agent checklist names the package default as unproven, and asks for one bookkeeper-approved treatment plus sandbox BAS testing before writes are enabled1
The revenue row a private block lands on
Every canonical template posts a private session to account 400, Clinical services, private patients, and rates it GST Free Income1
Why that rate applies
A health service that is not a medical service is GST free where it is a listed health service, is performed by a recognised health professional in that service, and is generally accepted in that profession as necessary for the appropriate treatment of the recipient of the supply2
What is not automated
Per-session recognition. Zanda, the practice system this template is written for, exposes no package usage per appointment, so consuming a session raises no event of its own in the first version1
The two ways a practice still recognises each session
A bookkeeper records a recognition event per session with an audit trail, or the practice invoices each session in the practice system so it flows through as an ordinary allocation1
Where the money sits if the practice holds it instead
Account 245, Customer deposits and booking fees held, at the BAS Excluded rate, released by a negative Less deposit applied line as each session is invoiced1
The guard against taxing one dollar twice
A receipt-GST pool nets tax taken on the receipt against the tax on each invoice the money is applied to, and it is mechanics rather than a treatment the practice picks1

What a practice sells when it sells a block

A session block is one payment for a defined set of future appointments, usually at a discount for buying several at once. Six physiotherapy sessions, ten psychology sessions, a term of speech pathology. The client pays once. The work is delivered over weeks or months, and some of it may not be delivered.

The canonical psychology template spots one from a package billable item, for example a discounted block of sessions bought upfront. That signal matters because the money looks identical in the bank feed to any other card payment. What separates it is that the practice has promised a named set of sessions, and until those sessions happen the practice owes work rather than owning income outright.

The answer the general results give

Search this question and most of what comes back is the expense side: the rules for a business that has prepaid something itself. The results that do read it from the supplier's side are written for a taxable job. Both are worth reading, because a practice needs to know why neither settles the question in a clinic.

A prepayment is generally not refundable, which means GST must be recognised upfront.4

That reading assumes the supply behind the money is taxable. In an allied health practice the sessions the block buys are usually GST free, so there is no tax to bring forward and none to defer. The receipt still decides something, and it is worth naming precisely: which quarter the sales figure appears in, and what a bookkeeper has to do each time a session is used.

What the canonical template does with a block

The template treats a block as a part payment by default. A named set of future sessions reads as an advance payment for an identified supply, rather than money held against a risk that the client walks away. Revenue is taken when the money arrives, on the revenue row the sessions themselves sit on.

What the psychology template sets for a prepaid session block1
SettingWhat the template holds
Deposit typePackage or session block, spotted from a package billable item
Receipt treatmentPart payment, so the revenue row of the sessions decides the rate at receipt
The alternative patternHold the money in account 245, Customer deposits and booking fees held, at the BAS Excluded rate, and release it with a negative Less deposit applied line per session invoice
Roll-over triggerThe practice system allocating credit to an invoice, which a package does not do on its own
Status of the defaultFlagged in the template's BAS agent checklist as unproven, pending sandbox BAS testing

That default is a starting position, not a finding. The template's own checklist carries it as an item a BAS agent signs off, and asks for both BAS reports to be proven in a paid Xero test organisation before writes are enabled. This page states the default and its reason; the practice states which treatment matches what it actually sells.

Money first, sessions later

The gap between the payment and the last session is the whole problem. Drawn out, it shows where a practice has to do something and where nothing happens on its own.

Prepaid session block, money before supplyA timeline of a prepaid session block: the client pays on day zero, sessions are delivered over the following weeks, the practice system records the appointments but raises no recognition event, a bookkeeper records one by hand or the practice invoices each session, and the block is finally used up or lapses. A note under the timeline says the elapsed labels are the shape of a block rather than a rule.Prepaid session block, money beforesupplyDay zeroBlock sold and paidThe client pays for thewhole block. Under thetemplate default this is apart payment, so revenue istaken on the row thesessions sit on.Week oneFirst session deliveredThe supply the money paidfor starts happening.Nothing posts to Xero unlessthe practice raises aninvoice for the session.The weeksafterSessions consumedAppointments are recorded inthe practice system, butZanda exposes no packageusage per appointment, so norecognition event reachesthe ledger on its own.Per sessionRecognition recorded by handA bookkeeper records arecognition event with anaudit trail, or the practiceinvoices each session so itflows through as an ordinaryallocation.End of theblockBlock used up or lapsedWhat is left is a balancesomebody has to name:sessions still owed, ormoney the practice keepsunder its own publishedpolicy.The elapsed labels are the shape of a block,not a rule. The template sets no expiry foran unused block.
Plate 1The life of a prepaid session block, from the payment to the last session, with the step nothing automates marked on it.

Read the middle of that timeline as the risk. The money is settled and the sessions are being delivered, and in between there is a stretch where the ledger and the appointment book can drift apart without anything failing loudly.

The revenue row the block lands on

Whichever treatment the practice picks, the money ends up on the revenue row of the sessions it bought. For a block of private sessions that row is the same in all three canonical templates, which is why the card below draws one posting rather than one row per template.

Prepaid session block, private sessionsThe treatment card for a block of private sessions. It draws one posting because the three canonical templates agree: account 400, Clinical services, private patients, at the GST Free Income rate. Under it the card names the three templates, says this is the funding source default, and lists the categories that take a row of their own in each template, among them reports, supervision and training.Prepaid session block, private sessionsEvery service category with no row of itsown400 Clinical services, private patientsGST Free IncomeSee chart_of_accounts.revenue_accounts,account 400, for the full reasoning.Every canonical template posts this the sameway: allied-health-by-funding-source,ndis-provider-plan-managed,psychology-with-booking-deposits.This is the default posting for the fundingsource, so any category with a row of itsown overrides it.In allied-health-by-funding-source thesecategories override it: Reports,Supervision, Training, Products.In ndis-provider-plan-managed thesecategories override it: Reports, Training.In psychology-with-booking-deposits thesecategories override it: Reports,Supervision, Training, Products.
Plate 2The revenue row a prepaid block of private sessions lands on, read from the canonical templates rather than typed onto this page.

That rate is not automatic and the block does not create it. The ATO sets three conditions for a health service that is not a medical service: it has to be a listed health service, performed by a recognised health professional in that service, and generally accepted in that profession as necessary for the appropriate treatment of the recipient of the supply. Appropriate treatment means assessing the patient, working out a course of action, and supplying what the profession accepts as appropriate.

So the block inherits its rate from what it buys, and not every supply behind a block is settled. A block of supervision hours is the open case: the canonical templates do not post supervision the same way, and the psychology template's checklist asks the practice to confirm its supervision arrangement against current ATO guidance rather than lean on the taxable default. GST on clinical supervision sets out both readings. A block sold to an employer rather than to the person treated can be a different supply again, and GST on employee assistance program contracts works through the case where the payer is not the patient.

Recognising each session as it is used

This is the part no result on the first page of Google mentions, and it is the part that costs a bookkeeper time. Zanda records the appointment and the package separately and exposes no package usage per appointment to an integration, so nothing tells Xero that session four of ten just happened.

The template names two ways through it, and both are ordinary work rather than a workaround.

  1. The bookkeeper records a recognition event per session, with an audit trail, so held money moves to revenue in the period the session was delivered.
  2. The practice invoices each session in the practice system as it is delivered, which then flows through as an ordinary allocation and needs no separate step.

The second one is usually less work over a quarter, because it puts the record where the appointment already is. It also changes what the client sees, so it is a practice decision rather than a bookkeeping one. Either way, the number to watch is the balance of sessions owed against the money already taken.

What actually moves on the BAS

For a GST free block, no tax amount changes whichever treatment is chosen. What changes is the period the sales figure falls in, and that is worth being deliberate about.

  • Under the part payment default, the whole block appears in total sales for the quarter the money arrived, and nothing more for that block appears in the quarters the sessions were delivered in.
  • Under the holding pattern, the money sits at the BAS Excluded rate until each session is invoiced, so sales follow delivery quarter by quarter.
  • On a cash basis the payment date drives attribution. On a non cash basis it is the earlier of the date any consideration is received and the date an invoice is issued, so money taken before any session is invoiced is attributed on the receipt date either way. The organisation's basis is read from Xero and shown beside the setting.
  • A block sold across a year end is where the two treatments visibly disagree, and the practice's BAS agent settles which one it reports on.
  • A receipt-GST pool nets receipt-side tax against the tax on each invoice the money is applied to, so the tax on a taxable block is counted once rather than on both sides.

Cash basis or accruals for your BAS covers what the basis does to the labels themselves, and GST Free Income or BAS Excluded in Xero covers what each rate does to a report.

What goes wrong in the books

Each of these shows up as a figure nobody can explain at the end of a quarter.

  • The block is taken as revenue at receipt and each session is then invoiced as well, which counts the same money twice and leaves an unpaid invoice per session behind it.
  • The block is held as a liability and the sessions are invoiced with no negative line applying the held money, which does the same double count from the other direction.
  • Held money is applied to sessions that were delivered and not invoiced, so the balance falls without any revenue appearing.
  • A block that lapses is left sitting in held money, so income the practice earned under its own policy is missing from the ledger.
  • A partly used block is refunded in full, reversing revenue that was already reported for sessions the client actually attended.

One habit catches all five: read the held money balance at month end and name it client by client, as sessions owed. Reconcile an overpayment in Xero walks the bank side of that, and GST on booking deposits covers the refundable hold taken to secure a single appointment, which the templates treat differently.

What to settle before anything is written to Xero

None of those four is a software question. They are questions about what the practice promised the client, and the posting follows the answer.

What Ledger Map does with it

Ledger Map holds one standing map for the practice, approved before anything syncs. The package treatment sits on it as a setting with its reason beside it, so whoever approves the map sees the receipt rate, the revenue row the sessions land on, and the note that the default is unproven.

After that it is mechanical. A settlement that includes a block is posted as one balanced document set, with the underlying lines beneath it, and one exact match is left in the bank feed for a person to accept. A payment the map cannot resolve becomes a question with the candidate postings shown, rather than a silent posting. How it works shows the map and its approval step.

Questions

  • Are prepayments subject to GST?

    It depends on what is being supplied. Where the supply is taxable, a prepayment brings the tax forward to the receipt rather than the session, and the organisation's cash or accruals basis decides how it is attributed. Where the supply is GST free, as a private allied health session usually is, there is no tax to bring forward, and the prepayment decides which period the sales figure appears in rather than how much is owed.

  • Do you charge GST on a block of sessions paid upfront?

    The block takes the rate of the sessions it buys. All three canonical templates post a private session to account 400, Clinical services, private patients, at the GST Free Income rate, so a block of those sessions carries no GST. A block of supervision hours or a block sold to an employer can be a different supply, and the supervision reading is one the sources leave open.

  • When is the GST on a prepaid package recognised, at the sale or per session?

    Under the canonical template's default the block is a part payment, so it is recognised when the money arrives. The alternative is to hold the money and recognise each session as it is invoiced. The template flags its own default as unproven, so which one a practice reports on is settled with its BAS agent before writes are enabled.

  • How does each session get recorded as the client uses it?

    By hand, in one of two ways. A bookkeeper records a recognition event per session with an audit trail, or the practice invoices each session in the practice system so it flows through as an ordinary allocation. Zanda exposes no package usage per appointment, so consuming a session raises no event of its own.

  • What happens if the client does not use all the sessions?

    That is a policy question before it is an accounting one. If the practice keeps the money, it becomes income on the date its published terms say so, and it takes the treatment of the sessions it replaces. If the practice refunds it, the reversal follows the treatment the money was taken under. The canonical template sets no expiry date for an unused block.

Sources

Open questions

  • The package receipt default is flagged in the canonical template's own BAS agent checklist as unproven, and it asks for one bookkeeper-approved treatment plus sandbox BAS testing before writes are enabled. This page states the default and the reason behind it, not a settled treatment.
  • Package expiry is not covered by the template. Its forfeit rules are written for a cancellation or a no-show and name no expiry date for an unused block, so what happens to a lapsed block follows the practice's own published terms.
  • Gift vouchers sit in the same recognition policy and are left open by the template's note, which records that ATO Division 100 was not covered in the research read for it. The ATO vouchers page returned HTTP 403 to an automated read on 3 Sep 2026, so it is cited here as unverified and no fact rests on it.
  • Native Xero Prepayments are shown as coming rather than enabled in the first version, so the holding pattern described here is the liability account plus a negative line, and the native prepayment behaviour is untested.
  • Whether a block of supervision hours is GST free is left open by the corpus. Two canonical templates post a private supervision hour taxable, the third holds no row and falls back to the private clinical row at GST Free Income, and the psychology template's checklist asks the practice to confirm its own arrangement against current ATO guidance. This page does not settle it.
  • No practitioner thread could be read in a practitioner's own words on 3 Sep 2026, because the session's web search budget was spent and the ATO Community threads on this query refuse an automated read. The one quoted line is a bookkeeping firm's account of prepayments in service businesses, taken as it was captured in the search snapshot on 3 Sep 2026 rather than re-read from the page.
  1. Other health services, GST and health

    Australian Taxation Office. Retrieved 3 Sep 2026. Source updated 12 Jun 2024.

    primary

  2. Appropriate treatment, GST and health

    Australian Taxation Office. Retrieved 3 Sep 2026. Source updated 12 Jun 2024.

    primary

  3. Understanding GST on deposits, retainers and prepayments

    Bond Financial. Retrieved 3 Sep 2026.

    secondary

  4. GST and vouchers

    Australian Taxation Office. Retrieved 3 Sep 2026.

    unverified

Review

Last reviewed 3 Sep 2026 by Shane

General information for Australian allied health practices, not tax advice. Confirm a treatment with your BAS agent or accountant before you post it.

Guided onboarding

Run one real month before you go live.

Sign up, connect Zanda and Xero, and replay a month you already closed. The map is reviewed with whoever owns the books, and nothing posts until you approve it.

Every practice starts from a template. Nothing posts until the map is approved.